diff --git a/forward_engineering/config.json b/forward_engineering/config.json
index 8a96797..03d983f 100644
--- a/forward_engineering/config.json
+++ b/forward_engineering/config.json
@@ -1,6 +1,6 @@
{
- "extension": "hql",
- "filterName": "Hive Query Language",
+ "extension": "sql",
+ "filterName": "Delta Lake SQL",
"namePrefix": "DeltaLake",
"level": {
"entity": true,
diff --git a/package-lock.json b/package-lock.json
index 785eb8c..a607112 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,2524 +1,2524 @@
{
- "name": "DeltaLake",
- "version": "0.2.51",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "DeltaLake",
- "version": "0.2.51",
- "hasInstallScript": true,
- "dependencies": {
- "@sqltools/formatter": "1.2.5",
- "@webpod/ip": "0.6.1",
- "abort-controller": "3.0.0",
- "antlr4": "4.9.2",
- "async": "3.2.6",
- "exponential-backoff": "3.1.2",
- "lodash": "4.18.1",
- "node-fetch": "2.6.7"
- },
- "devDependencies": {
- "@hackolade/hck-esbuild-plugins-pack": "0.0.1",
- "@ianvs/prettier-plugin-sort-imports": "4.7.1",
- "esbuild": "0.27.3",
- "esbuild-node-externals": "1.20.1",
- "esbuild-plugin-clean": "1.0.1",
- "esbuild-plugin-copy": "2.1.1",
- "lint-staged": "16.2.7",
- "oxlint": "1.38.0",
- "oxlint-tsgolint": "0.10.1",
- "prettier": "3.8.1",
- "simple-git-hooks": "2.13.1"
- },
- "engines": {
- "hackolade": "7.7.10",
- "hackoladePlugin": "1.2.0"
- }
- },
- "node_modules/@babel/code-frame": {
- "version": "7.29.0",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
- "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.28.5",
- "js-tokens": "^4.0.0",
- "picocolors": "^1.1.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/generator": {
- "version": "7.29.1",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz",
- "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/parser": "^7.29.0",
- "@babel/types": "^7.29.0",
- "@jridgewell/gen-mapping": "^0.3.12",
- "@jridgewell/trace-mapping": "^0.3.28",
- "jsesc": "^3.0.2"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-globals": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
- "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-string-parser": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
- "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-identifier": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
- "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/parser": {
- "version": "7.29.0",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz",
- "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.29.0"
- },
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/template": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
- "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.28.6",
- "@babel/parser": "^7.28.6",
- "@babel/types": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse": {
- "version": "7.29.0",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz",
- "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.29.0",
- "@babel/generator": "^7.29.0",
- "@babel/helper-globals": "^7.28.0",
- "@babel/parser": "^7.29.0",
- "@babel/template": "^7.28.6",
- "@babel/types": "^7.29.0",
- "debug": "^4.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/types": {
- "version": "7.29.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
- "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-string-parser": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.28.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@esbuild/aix-ppc64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz",
- "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "aix"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/android-arm": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz",
- "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/android-arm64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz",
- "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/android-x64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz",
- "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/darwin-arm64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz",
- "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/darwin-x64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz",
- "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/freebsd-arm64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz",
- "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/freebsd-x64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz",
- "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-arm": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz",
- "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-arm64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz",
- "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-ia32": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz",
- "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-loong64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz",
- "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-mips64el": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz",
- "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==",
- "cpu": [
- "mips64el"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-ppc64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz",
- "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-riscv64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz",
- "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-s390x": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz",
- "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-x64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz",
- "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/netbsd-arm64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz",
- "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/netbsd-x64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz",
- "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/openbsd-arm64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz",
- "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/openbsd-x64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz",
- "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/openharmony-arm64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz",
- "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openharmony"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/sunos-x64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz",
- "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/win32-arm64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz",
- "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/win32-ia32": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz",
- "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/win32-x64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz",
- "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@hackolade/hck-esbuild-plugins-pack": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/@hackolade/hck-esbuild-plugins-pack/-/hck-esbuild-plugins-pack-0.0.1.tgz",
- "integrity": "sha512-Y4e3BJ28KOc9NWF3pfTOMlyWImfQx5h8gE+eQF0QWBOZO1M/TuAadiChUmu6QgrbBXzz2dAW0Fetl5IO5bolsw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fs-extra": "^11.1.1"
- },
- "peerDependencies": {
- "esbuild": ">= 0.17.10"
- }
- },
- "node_modules/@ianvs/prettier-plugin-sort-imports": {
- "version": "4.7.1",
- "resolved": "https://registry.npmjs.org/@ianvs/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-4.7.1.tgz",
- "integrity": "sha512-jmTNYGlg95tlsoG3JLCcuC4BrFELJtLirLAkQW/71lXSyOhVt/Xj7xWbbGcuVbNq1gwWgSyMrPjJc9Z30hynVw==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@babel/generator": "^7.26.2",
- "@babel/parser": "^7.26.2",
- "@babel/traverse": "^7.25.9",
- "@babel/types": "^7.26.0",
- "semver": "^7.5.2"
- },
- "peerDependencies": {
- "@prettier/plugin-oxc": "^0.0.4 || ^0.1.0",
- "@vue/compiler-sfc": "2.7.x || 3.x",
- "content-tag": "^4.0.0",
- "prettier": "2 || 3 || ^4.0.0-0",
- "prettier-plugin-ember-template-tag": "^2.1.0"
- },
- "peerDependenciesMeta": {
- "@prettier/plugin-oxc": {
- "optional": true
- },
- "@vue/compiler-sfc": {
- "optional": true
- },
- "content-tag": {
- "optional": true
- },
- "prettier-plugin-ember-template-tag": {
- "optional": true
- }
- }
- },
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.13",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
- "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.5.0",
- "@jridgewell/trace-mapping": "^0.3.24"
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.5.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
- "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.31",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
- "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
- }
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@oxlint-tsgolint/darwin-arm64": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/darwin-arm64/-/darwin-arm64-0.10.1.tgz",
- "integrity": "sha512-KGC4++BeEqrIcmDHiJt/e6/860PWJmUJjjp0mE+smpBmRXMjmOFFjrPmN+ZyCyVgf1WdmhPkQXsRSPeTR+2omw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@oxlint-tsgolint/darwin-x64": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/darwin-x64/-/darwin-x64-0.10.1.tgz",
- "integrity": "sha512-tvmrDgj3Q0tdc+zMWfCVLVq8EQDEUqasm1zaWgSMYIszpID6qdgqbT+OpWWXV9fLZgtvrkoXGwxkHAUJzdVZXQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@oxlint-tsgolint/linux-arm64": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/linux-arm64/-/linux-arm64-0.10.1.tgz",
- "integrity": "sha512-7kD28z6/ykGx8WetKTPRZt30pd+ziassxg/8cM24lhjUI+hNXyRHVtHes73dh9D6glJKno+1ut+3amUdZBZcpQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@oxlint-tsgolint/linux-x64": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/linux-x64/-/linux-x64-0.10.1.tgz",
- "integrity": "sha512-NmJmiqdzYUTHIxteSTyX6IFFgnIsOAjRWXfrS6Jbo5xlB3g39WHniSF3asB/khLJNtwSg4InUS34NprYM7zrEw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@oxlint-tsgolint/win32-arm64": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/win32-arm64/-/win32-arm64-0.10.1.tgz",
- "integrity": "sha512-3KrT80vl3nXUkjuJI/z8dF6xWsKx0t9Tz4ZQHgQw3fYw+CoihBRWGklrdlmCz+EGfMyVaQLqBV9PZckhSqLe2A==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@oxlint-tsgolint/win32-x64": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/win32-x64/-/win32-x64-0.10.1.tgz",
- "integrity": "sha512-hW1fSJZVxG51sLdGq1sQjOzb1tsQ23z/BquJfUwL7CqBobxr7TJvGmoINL+9KryOJt0jCoaiMfWe4yoYw5XfIA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@oxlint/darwin-arm64": {
- "version": "1.38.0",
- "resolved": "https://registry.npmjs.org/@oxlint/darwin-arm64/-/darwin-arm64-1.38.0.tgz",
- "integrity": "sha512-9rN3047QTyA4i73FKikDUBdczRcLtOsIwZ5TsEx5Q7jr5nBjolhYQOFQf9QdhBLdInxw1iX4+lgdMCf1g74zjg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@oxlint/darwin-x64": {
- "version": "1.38.0",
- "resolved": "https://registry.npmjs.org/@oxlint/darwin-x64/-/darwin-x64-1.38.0.tgz",
- "integrity": "sha512-Y1UHW4KOlg5NvyrSn/bVBQP8/LRuid7Pnu+BWGbAVVsFcK0b565YgMSO3Eu9nU3w8ke91dr7NFpUmS+bVkdkbw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@oxlint/linux-arm64-gnu": {
- "version": "1.38.0",
- "resolved": "https://registry.npmjs.org/@oxlint/linux-arm64-gnu/-/linux-arm64-gnu-1.38.0.tgz",
- "integrity": "sha512-ZiVxPZizlXSnAMdkEFWX/mAj7U3bNiku8p6I9UgLrXzgGSSAhFobx8CaFGwVoKyWOd+gQgZ/ogCrunvx2k0CFg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@oxlint/linux-arm64-musl": {
- "version": "1.38.0",
- "resolved": "https://registry.npmjs.org/@oxlint/linux-arm64-musl/-/linux-arm64-musl-1.38.0.tgz",
- "integrity": "sha512-ELtlCIGZ72A65ATZZHFxHMFrkRtY+DYDCKiNKg6v7u5PdeOFey+OlqRXgXtXlxWjCL+g7nivwI2FPVsWqf05Qw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@oxlint/linux-x64-gnu": {
- "version": "1.38.0",
- "resolved": "https://registry.npmjs.org/@oxlint/linux-x64-gnu/-/linux-x64-gnu-1.38.0.tgz",
- "integrity": "sha512-E1OcDh30qyng1m0EIlsOuapYkqk5QB6o6IMBjvDKqIoo6IrjlVAasoJfS/CmSH998gXRL3BcAJa6Qg9IxPFZnQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@oxlint/linux-x64-musl": {
- "version": "1.38.0",
- "resolved": "https://registry.npmjs.org/@oxlint/linux-x64-musl/-/linux-x64-musl-1.38.0.tgz",
- "integrity": "sha512-4AfpbM/4sQnr6S1dMijEPfsq4stQbN5vJ2jsahSy/QTcvIVbFkgY+RIhrA5UWlC6eb0rD5CdaPQoKGMJGeXpYw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@oxlint/win32-arm64": {
- "version": "1.38.0",
- "resolved": "https://registry.npmjs.org/@oxlint/win32-arm64/-/win32-arm64-1.38.0.tgz",
- "integrity": "sha512-OvUVYdI68OwXh3d1RjH9N/okCxb6PrOGtEtzXyqGA7Gk+IxyZcX0/QCTBwV8FNbSSzDePSSEHOKpoIB+VXdtvg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@oxlint/win32-x64": {
- "version": "1.38.0",
- "resolved": "https://registry.npmjs.org/@oxlint/win32-x64/-/win32-x64-1.38.0.tgz",
- "integrity": "sha512-7IuZMYiZiOcgg5zHvpJY6jRlEwh8EB/uq7GsoQJO9hANq96TIjyntGByhIjFSsL4asyZmhTEki+MO/u5Fb/WQA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@sqltools/formatter": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.5.tgz",
- "integrity": "sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==",
- "license": "MIT"
- },
- "node_modules/@webpod/ip": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/@webpod/ip/-/ip-0.6.1.tgz",
- "integrity": "sha512-0oPIqLPfoIPzstsbmWUFlLx9I8KiisiC9/+YQPaotVU67DnTV+vx/zXXnkMgZTKu9rHWznmUQX3jgvfqr1t4+g==",
- "license": "MIT",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/abort-controller": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
- "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
- "license": "MIT",
- "dependencies": {
- "event-target-shim": "^5.0.0"
- },
- "engines": {
- "node": ">=6.5"
- }
- },
- "node_modules/aggregate-error": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
- "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "clean-stack": "^2.0.0",
- "indent-string": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-escapes": {
- "version": "7.3.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.3.0.tgz",
- "integrity": "sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "environment": "^1.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/ansi-regex": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
- "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/antlr4": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/antlr4/-/antlr4-4.9.2.tgz",
- "integrity": "sha512-UjMSlenUORL+a+6g4RNZxRh5LcFWybRi2g0ASDBpgXBY6nlavg0BRVAVEQF0dz8jH6SyX3lV7uP5y/krJzc+Hw==",
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/async": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
- "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
- "license": "MIT"
- },
- "node_modules/balanced-match": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.3.tgz",
- "integrity": "sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "20 || >=22"
- }
- },
- "node_modules/binary-extensions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
- "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/brace-expansion": {
- "version": "5.0.6",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz",
- "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^4.0.2"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- }
- },
- "node_modules/braces": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
- "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fill-range": "^7.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/chokidar": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
- "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/clean-stack": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
- "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/cli-cursor": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz",
- "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "restore-cursor": "^5.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/cli-truncate": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz",
- "integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "slice-ansi": "^7.1.0",
- "string-width": "^8.0.0"
- },
- "engines": {
- "node": ">=20"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/colorette": {
- "version": "2.0.20",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
- "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/commander": {
- "version": "14.0.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz",
- "integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/del": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz",
- "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "globby": "^11.0.1",
- "graceful-fs": "^4.2.4",
- "is-glob": "^4.0.1",
- "is-path-cwd": "^2.2.0",
- "is-path-inside": "^3.0.2",
- "p-map": "^4.0.0",
- "rimraf": "^3.0.2",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/emoji-regex": {
- "version": "10.6.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
- "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/environment": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz",
- "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/esbuild": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz",
- "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=18"
- },
- "optionalDependencies": {
- "@esbuild/aix-ppc64": "0.27.3",
- "@esbuild/android-arm": "0.27.3",
- "@esbuild/android-arm64": "0.27.3",
- "@esbuild/android-x64": "0.27.3",
- "@esbuild/darwin-arm64": "0.27.3",
- "@esbuild/darwin-x64": "0.27.3",
- "@esbuild/freebsd-arm64": "0.27.3",
- "@esbuild/freebsd-x64": "0.27.3",
- "@esbuild/linux-arm": "0.27.3",
- "@esbuild/linux-arm64": "0.27.3",
- "@esbuild/linux-ia32": "0.27.3",
- "@esbuild/linux-loong64": "0.27.3",
- "@esbuild/linux-mips64el": "0.27.3",
- "@esbuild/linux-ppc64": "0.27.3",
- "@esbuild/linux-riscv64": "0.27.3",
- "@esbuild/linux-s390x": "0.27.3",
- "@esbuild/linux-x64": "0.27.3",
- "@esbuild/netbsd-arm64": "0.27.3",
- "@esbuild/netbsd-x64": "0.27.3",
- "@esbuild/openbsd-arm64": "0.27.3",
- "@esbuild/openbsd-x64": "0.27.3",
- "@esbuild/openharmony-arm64": "0.27.3",
- "@esbuild/sunos-x64": "0.27.3",
- "@esbuild/win32-arm64": "0.27.3",
- "@esbuild/win32-ia32": "0.27.3",
- "@esbuild/win32-x64": "0.27.3"
- }
- },
- "node_modules/esbuild-node-externals": {
- "version": "1.20.1",
- "resolved": "https://registry.npmjs.org/esbuild-node-externals/-/esbuild-node-externals-1.20.1.tgz",
- "integrity": "sha512-uVs+TC+PBiav2LoTz8WZT/ootINw9Rns5JJyVznlfZH1qOyZxWCPzeXklY04UtZut5qUeFFaEWtcH7XoMwiTTQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "find-up": "^5.0.0"
- },
- "engines": {
- "node": ">=12"
- },
- "peerDependencies": {
- "esbuild": "0.12 - 0.27"
- }
- },
- "node_modules/esbuild-plugin-clean": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/esbuild-plugin-clean/-/esbuild-plugin-clean-1.0.1.tgz",
- "integrity": "sha512-ul606g0wX6oeobBgi3EqpZtCBCwNwCDivvnshsNS5pUsRylKoxUnDqK0ZIyPinlMbP6s8Opc9y2zOeY1Plhe8Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chalk": "^4.1.2",
- "del": "^6.0.0"
- },
- "peerDependencies": {
- "esbuild": ">= 0.14.0"
- }
- },
- "node_modules/esbuild-plugin-copy": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/esbuild-plugin-copy/-/esbuild-plugin-copy-2.1.1.tgz",
- "integrity": "sha512-Bk66jpevTcV8KMFzZI1P7MZKZ+uDcrZm2G2egZ2jNIvVnivDpodZI+/KnpL3Jnap0PBdIHU7HwFGB8r+vV5CVw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chalk": "^4.1.2",
- "chokidar": "^3.5.3",
- "fs-extra": "^10.0.1",
- "globby": "^11.0.3"
- },
- "peerDependencies": {
- "esbuild": ">= 0.14.0"
- }
- },
- "node_modules/esbuild-plugin-copy/node_modules/fs-extra": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
- "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/event-target-shim": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
- "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/eventemitter3": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz",
- "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/exponential-backoff": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz",
- "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==",
- "license": "Apache-2.0"
- },
- "node_modules/fast-glob": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
- "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.8"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fastq": {
- "version": "1.20.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz",
- "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/fill-range": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/fs-extra": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz",
- "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=14.14"
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/get-east-asian-width": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz",
- "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ignore": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
- "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/indent-string": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
- "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz",
- "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "get-east-asian-width": "^1.3.1"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-path-cwd": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
- "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/is-path-inside": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/jsesc": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
- "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "jsesc": "bin/jsesc"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/jsonfile": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz",
- "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "universalify": "^2.0.0"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/lint-staged": {
- "version": "16.2.7",
- "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.2.7.tgz",
- "integrity": "sha512-lDIj4RnYmK7/kXMya+qJsmkRFkGolciXjrsZ6PC25GdTfWOAWetR0ZbsNXRAj1EHHImRSalc+whZFg56F5DVow==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "commander": "^14.0.2",
- "listr2": "^9.0.5",
- "micromatch": "^4.0.8",
- "nano-spawn": "^2.0.0",
- "pidtree": "^0.6.0",
- "string-argv": "^0.3.2",
- "yaml": "^2.8.1"
- },
- "bin": {
- "lint-staged": "bin/lint-staged.js"
- },
- "engines": {
- "node": ">=20.17"
- },
- "funding": {
- "url": "https://opencollective.com/lint-staged"
- }
- },
- "node_modules/listr2": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz",
- "integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cli-truncate": "^5.0.0",
- "colorette": "^2.0.20",
- "eventemitter3": "^5.0.1",
- "log-update": "^6.1.0",
- "rfdc": "^1.4.1",
- "wrap-ansi": "^9.0.0"
- },
- "engines": {
- "node": ">=20.0.0"
- }
- },
- "node_modules/locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-locate": "^5.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/lodash": {
- "version": "4.18.1",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz",
- "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
- "license": "MIT"
- },
- "node_modules/log-update": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz",
- "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-escapes": "^7.0.0",
- "cli-cursor": "^5.0.0",
- "slice-ansi": "^7.1.0",
- "strip-ansi": "^7.1.0",
- "wrap-ansi": "^9.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
- "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "braces": "^3.0.3",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/mimic-function": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
- "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/minimatch": {
- "version": "10.2.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
- "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "brace-expansion": "^5.0.2"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/nano-spawn": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/nano-spawn/-/nano-spawn-2.0.0.tgz",
- "integrity": "sha512-tacvGzUY5o2D8CBh2rrwxyNojUsZNU2zjNTzKQrkgGJQTbGAfArVWXSKMBokBeeg6C7OLRGUEyoFlYbfeWQIqw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=20.17"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/nano-spawn?sponsor=1"
- }
- },
- "node_modules/node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "license": "MIT",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/onetime": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz",
- "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mimic-function": "^5.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/oxlint": {
- "version": "1.38.0",
- "resolved": "https://registry.npmjs.org/oxlint/-/oxlint-1.38.0.tgz",
- "integrity": "sha512-XT7tBinQS+hVLxtfJOnokJ9qVBiQvZqng40tDgR6qEJMRMnpVq/JwYfbYyGntSq8MO+Y+N9M1NG4bAMFUtCJiw==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "oxlint": "bin/oxlint"
- },
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/Boshen"
- },
- "optionalDependencies": {
- "@oxlint/darwin-arm64": "1.38.0",
- "@oxlint/darwin-x64": "1.38.0",
- "@oxlint/linux-arm64-gnu": "1.38.0",
- "@oxlint/linux-arm64-musl": "1.38.0",
- "@oxlint/linux-x64-gnu": "1.38.0",
- "@oxlint/linux-x64-musl": "1.38.0",
- "@oxlint/win32-arm64": "1.38.0",
- "@oxlint/win32-x64": "1.38.0"
- },
- "peerDependencies": {
- "oxlint-tsgolint": ">=0.10.0"
- },
- "peerDependenciesMeta": {
- "oxlint-tsgolint": {
- "optional": true
- }
- }
- },
- "node_modules/oxlint-tsgolint": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/oxlint-tsgolint/-/oxlint-tsgolint-0.10.1.tgz",
- "integrity": "sha512-EEHNdo5cW2w1xwYdBQ7d3IXDqWAtMkfVFrh+9gQ4kYbYJwygY4QXSh1eH80/xVipZdVKujAwBgg/nNNHk56kxQ==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "tsgolint": "bin/tsgolint.js"
- },
- "optionalDependencies": {
- "@oxlint-tsgolint/darwin-arm64": "0.10.1",
- "@oxlint-tsgolint/darwin-x64": "0.10.1",
- "@oxlint-tsgolint/linux-arm64": "0.10.1",
- "@oxlint-tsgolint/linux-x64": "0.10.1",
- "@oxlint-tsgolint/win32-arm64": "0.10.1",
- "@oxlint-tsgolint/win32-x64": "0.10.1"
- }
- },
- "node_modules/p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "yocto-queue": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-limit": "^3.0.2"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-map": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
- "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "aggregate-error": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/picocolors": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
- "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/picomatch": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
- "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pidtree": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz",
- "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "pidtree": "bin/pidtree.js"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/prettier": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz",
- "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "prettier": "bin/prettier.cjs"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/prettier/prettier?sponsor=1"
- }
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/restore-cursor": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz",
- "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "onetime": "^7.0.0",
- "signal-exit": "^4.1.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/reusify": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
- "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/rfdc": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
- "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/semver": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
- "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/signal-exit": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
- "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/simple-git-hooks": {
- "version": "2.13.1",
- "resolved": "https://registry.npmjs.org/simple-git-hooks/-/simple-git-hooks-2.13.1.tgz",
- "integrity": "sha512-WszCLXwT4h2k1ufIXAgsbiTOazqqevFCIncOuUBZJ91DdvWcC5+OFkluWRQPrcuSYd8fjq+o2y1QfWqYMoAToQ==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "bin": {
- "simple-git-hooks": "cli.js"
- }
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/slice-ansi": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
- "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^6.2.1",
- "is-fullwidth-code-point": "^5.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/chalk/slice-ansi?sponsor=1"
- }
- },
- "node_modules/slice-ansi/node_modules/ansi-styles": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
- "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/string-argv": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz",
- "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.6.19"
- }
- },
- "node_modules/string-width": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.0.tgz",
- "integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "get-east-asian-width": "^1.5.0",
- "strip-ansi": "^7.1.2"
- },
- "engines": {
- "node": ">=20"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/strip-ansi": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
- "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "license": "MIT"
- },
- "node_modules/universalify": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
- "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 10.0.0"
- }
- },
- "node_modules/webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "license": "BSD-2-Clause"
- },
- "node_modules/whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "license": "MIT",
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "node_modules/wrap-ansi": {
- "version": "9.0.2",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
- "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^6.2.1",
- "string-width": "^7.0.0",
- "strip-ansi": "^7.1.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrap-ansi/node_modules/ansi-styles": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
- "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/wrap-ansi/node_modules/string-width": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
- "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^10.3.0",
- "get-east-asian-width": "^1.0.0",
- "strip-ansi": "^7.1.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/yaml": {
- "version": "2.8.3",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz",
- "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "yaml": "bin.mjs"
- },
- "engines": {
- "node": ">= 14.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/eemeli"
- }
- },
- "node_modules/yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- }
- }
+ "name": "DeltaLake",
+ "version": "0.2.51",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "DeltaLake",
+ "version": "0.2.51",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@sqltools/formatter": "1.2.5",
+ "@webpod/ip": "0.6.1",
+ "abort-controller": "3.0.0",
+ "antlr4": "4.9.2",
+ "async": "3.2.6",
+ "exponential-backoff": "3.1.2",
+ "lodash": "4.18.1",
+ "node-fetch": "2.6.7"
+ },
+ "devDependencies": {
+ "@hackolade/hck-esbuild-plugins-pack": "0.0.1",
+ "@ianvs/prettier-plugin-sort-imports": "4.7.1",
+ "esbuild": "0.27.3",
+ "esbuild-node-externals": "1.20.1",
+ "esbuild-plugin-clean": "1.0.1",
+ "esbuild-plugin-copy": "2.1.1",
+ "lint-staged": "16.2.7",
+ "oxlint": "1.38.0",
+ "oxlint-tsgolint": "0.10.1",
+ "prettier": "3.8.1",
+ "simple-git-hooks": "2.13.1"
+ },
+ "engines": {
+ "hackolade": "8.11.4",
+ "hackoladePlugin": "1.2.0"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
+ "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.28.5",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.29.1",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz",
+ "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.29.0",
+ "@babel/types": "^7.29.0",
+ "@jridgewell/gen-mapping": "^0.3.12",
+ "@jridgewell/trace-mapping": "^0.3.28",
+ "jsesc": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-globals": {
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
+ "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+ "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+ "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz",
+ "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.29.0"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
+ "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.28.6",
+ "@babel/parser": "^7.28.6",
+ "@babel/types": "^7.28.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz",
+ "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.29.0",
+ "@babel/generator": "^7.29.0",
+ "@babel/helper-globals": "^7.28.0",
+ "@babel/parser": "^7.29.0",
+ "@babel/template": "^7.28.6",
+ "@babel/types": "^7.29.0",
+ "debug": "^4.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
+ "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.28.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz",
+ "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz",
+ "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz",
+ "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz",
+ "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz",
+ "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz",
+ "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz",
+ "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz",
+ "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz",
+ "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz",
+ "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz",
+ "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz",
+ "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz",
+ "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz",
+ "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz",
+ "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz",
+ "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz",
+ "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz",
+ "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz",
+ "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz",
+ "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz",
+ "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openharmony-arm64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz",
+ "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz",
+ "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz",
+ "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz",
+ "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz",
+ "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@hackolade/hck-esbuild-plugins-pack": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/@hackolade/hck-esbuild-plugins-pack/-/hck-esbuild-plugins-pack-0.0.1.tgz",
+ "integrity": "sha512-Y4e3BJ28KOc9NWF3pfTOMlyWImfQx5h8gE+eQF0QWBOZO1M/TuAadiChUmu6QgrbBXzz2dAW0Fetl5IO5bolsw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fs-extra": "^11.1.1"
+ },
+ "peerDependencies": {
+ "esbuild": ">= 0.17.10"
+ }
+ },
+ "node_modules/@ianvs/prettier-plugin-sort-imports": {
+ "version": "4.7.1",
+ "resolved": "https://registry.npmjs.org/@ianvs/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-4.7.1.tgz",
+ "integrity": "sha512-jmTNYGlg95tlsoG3JLCcuC4BrFELJtLirLAkQW/71lXSyOhVt/Xj7xWbbGcuVbNq1gwWgSyMrPjJc9Z30hynVw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@babel/generator": "^7.26.2",
+ "@babel/parser": "^7.26.2",
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.26.0",
+ "semver": "^7.5.2"
+ },
+ "peerDependencies": {
+ "@prettier/plugin-oxc": "^0.0.4 || ^0.1.0",
+ "@vue/compiler-sfc": "2.7.x || 3.x",
+ "content-tag": "^4.0.0",
+ "prettier": "2 || 3 || ^4.0.0-0",
+ "prettier-plugin-ember-template-tag": "^2.1.0"
+ },
+ "peerDependenciesMeta": {
+ "@prettier/plugin-oxc": {
+ "optional": true
+ },
+ "@vue/compiler-sfc": {
+ "optional": true
+ },
+ "content-tag": {
+ "optional": true
+ },
+ "prettier-plugin-ember-template-tag": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.13",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.31",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@oxlint-tsgolint/darwin-arm64": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/darwin-arm64/-/darwin-arm64-0.10.1.tgz",
+ "integrity": "sha512-KGC4++BeEqrIcmDHiJt/e6/860PWJmUJjjp0mE+smpBmRXMjmOFFjrPmN+ZyCyVgf1WdmhPkQXsRSPeTR+2omw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@oxlint-tsgolint/darwin-x64": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/darwin-x64/-/darwin-x64-0.10.1.tgz",
+ "integrity": "sha512-tvmrDgj3Q0tdc+zMWfCVLVq8EQDEUqasm1zaWgSMYIszpID6qdgqbT+OpWWXV9fLZgtvrkoXGwxkHAUJzdVZXQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@oxlint-tsgolint/linux-arm64": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/linux-arm64/-/linux-arm64-0.10.1.tgz",
+ "integrity": "sha512-7kD28z6/ykGx8WetKTPRZt30pd+ziassxg/8cM24lhjUI+hNXyRHVtHes73dh9D6glJKno+1ut+3amUdZBZcpQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@oxlint-tsgolint/linux-x64": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/linux-x64/-/linux-x64-0.10.1.tgz",
+ "integrity": "sha512-NmJmiqdzYUTHIxteSTyX6IFFgnIsOAjRWXfrS6Jbo5xlB3g39WHniSF3asB/khLJNtwSg4InUS34NprYM7zrEw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@oxlint-tsgolint/win32-arm64": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/win32-arm64/-/win32-arm64-0.10.1.tgz",
+ "integrity": "sha512-3KrT80vl3nXUkjuJI/z8dF6xWsKx0t9Tz4ZQHgQw3fYw+CoihBRWGklrdlmCz+EGfMyVaQLqBV9PZckhSqLe2A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@oxlint-tsgolint/win32-x64": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/win32-x64/-/win32-x64-0.10.1.tgz",
+ "integrity": "sha512-hW1fSJZVxG51sLdGq1sQjOzb1tsQ23z/BquJfUwL7CqBobxr7TJvGmoINL+9KryOJt0jCoaiMfWe4yoYw5XfIA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@oxlint/darwin-arm64": {
+ "version": "1.38.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/darwin-arm64/-/darwin-arm64-1.38.0.tgz",
+ "integrity": "sha512-9rN3047QTyA4i73FKikDUBdczRcLtOsIwZ5TsEx5Q7jr5nBjolhYQOFQf9QdhBLdInxw1iX4+lgdMCf1g74zjg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@oxlint/darwin-x64": {
+ "version": "1.38.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/darwin-x64/-/darwin-x64-1.38.0.tgz",
+ "integrity": "sha512-Y1UHW4KOlg5NvyrSn/bVBQP8/LRuid7Pnu+BWGbAVVsFcK0b565YgMSO3Eu9nU3w8ke91dr7NFpUmS+bVkdkbw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@oxlint/linux-arm64-gnu": {
+ "version": "1.38.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/linux-arm64-gnu/-/linux-arm64-gnu-1.38.0.tgz",
+ "integrity": "sha512-ZiVxPZizlXSnAMdkEFWX/mAj7U3bNiku8p6I9UgLrXzgGSSAhFobx8CaFGwVoKyWOd+gQgZ/ogCrunvx2k0CFg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@oxlint/linux-arm64-musl": {
+ "version": "1.38.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/linux-arm64-musl/-/linux-arm64-musl-1.38.0.tgz",
+ "integrity": "sha512-ELtlCIGZ72A65ATZZHFxHMFrkRtY+DYDCKiNKg6v7u5PdeOFey+OlqRXgXtXlxWjCL+g7nivwI2FPVsWqf05Qw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@oxlint/linux-x64-gnu": {
+ "version": "1.38.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/linux-x64-gnu/-/linux-x64-gnu-1.38.0.tgz",
+ "integrity": "sha512-E1OcDh30qyng1m0EIlsOuapYkqk5QB6o6IMBjvDKqIoo6IrjlVAasoJfS/CmSH998gXRL3BcAJa6Qg9IxPFZnQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@oxlint/linux-x64-musl": {
+ "version": "1.38.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/linux-x64-musl/-/linux-x64-musl-1.38.0.tgz",
+ "integrity": "sha512-4AfpbM/4sQnr6S1dMijEPfsq4stQbN5vJ2jsahSy/QTcvIVbFkgY+RIhrA5UWlC6eb0rD5CdaPQoKGMJGeXpYw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@oxlint/win32-arm64": {
+ "version": "1.38.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/win32-arm64/-/win32-arm64-1.38.0.tgz",
+ "integrity": "sha512-OvUVYdI68OwXh3d1RjH9N/okCxb6PrOGtEtzXyqGA7Gk+IxyZcX0/QCTBwV8FNbSSzDePSSEHOKpoIB+VXdtvg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@oxlint/win32-x64": {
+ "version": "1.38.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/win32-x64/-/win32-x64-1.38.0.tgz",
+ "integrity": "sha512-7IuZMYiZiOcgg5zHvpJY6jRlEwh8EB/uq7GsoQJO9hANq96TIjyntGByhIjFSsL4asyZmhTEki+MO/u5Fb/WQA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@sqltools/formatter": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.5.tgz",
+ "integrity": "sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==",
+ "license": "MIT"
+ },
+ "node_modules/@webpod/ip": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/@webpod/ip/-/ip-0.6.1.tgz",
+ "integrity": "sha512-0oPIqLPfoIPzstsbmWUFlLx9I8KiisiC9/+YQPaotVU67DnTV+vx/zXXnkMgZTKu9rHWznmUQX3jgvfqr1t4+g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/abort-controller": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
+ "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
+ "license": "MIT",
+ "dependencies": {
+ "event-target-shim": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=6.5"
+ }
+ },
+ "node_modules/aggregate-error": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+ "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-escapes": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.3.0.tgz",
+ "integrity": "sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "environment": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/antlr4": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/antlr4/-/antlr4-4.9.2.tgz",
+ "integrity": "sha512-UjMSlenUORL+a+6g4RNZxRh5LcFWybRi2g0ASDBpgXBY6nlavg0BRVAVEQF0dz8jH6SyX3lV7uP5y/krJzc+Hw==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/async": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
+ "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
+ "license": "MIT"
+ },
+ "node_modules/balanced-match": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.3.tgz",
+ "integrity": "sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "20 || >=22"
+ }
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz",
+ "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^4.0.2"
+ },
+ "engines": {
+ "node": "18 || 20 || >=22"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/clean-stack": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/cli-cursor": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz",
+ "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "restore-cursor": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cli-truncate": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz",
+ "integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "slice-ansi": "^7.1.0",
+ "string-width": "^8.0.0"
+ },
+ "engines": {
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/colorette": {
+ "version": "2.0.20",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
+ "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/commander": {
+ "version": "14.0.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz",
+ "integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=20"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/del": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz",
+ "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "globby": "^11.0.1",
+ "graceful-fs": "^4.2.4",
+ "is-glob": "^4.0.1",
+ "is-path-cwd": "^2.2.0",
+ "is-path-inside": "^3.0.2",
+ "p-map": "^4.0.0",
+ "rimraf": "^3.0.2",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/emoji-regex": {
+ "version": "10.6.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
+ "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/environment": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz",
+ "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/esbuild": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz",
+ "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.27.3",
+ "@esbuild/android-arm": "0.27.3",
+ "@esbuild/android-arm64": "0.27.3",
+ "@esbuild/android-x64": "0.27.3",
+ "@esbuild/darwin-arm64": "0.27.3",
+ "@esbuild/darwin-x64": "0.27.3",
+ "@esbuild/freebsd-arm64": "0.27.3",
+ "@esbuild/freebsd-x64": "0.27.3",
+ "@esbuild/linux-arm": "0.27.3",
+ "@esbuild/linux-arm64": "0.27.3",
+ "@esbuild/linux-ia32": "0.27.3",
+ "@esbuild/linux-loong64": "0.27.3",
+ "@esbuild/linux-mips64el": "0.27.3",
+ "@esbuild/linux-ppc64": "0.27.3",
+ "@esbuild/linux-riscv64": "0.27.3",
+ "@esbuild/linux-s390x": "0.27.3",
+ "@esbuild/linux-x64": "0.27.3",
+ "@esbuild/netbsd-arm64": "0.27.3",
+ "@esbuild/netbsd-x64": "0.27.3",
+ "@esbuild/openbsd-arm64": "0.27.3",
+ "@esbuild/openbsd-x64": "0.27.3",
+ "@esbuild/openharmony-arm64": "0.27.3",
+ "@esbuild/sunos-x64": "0.27.3",
+ "@esbuild/win32-arm64": "0.27.3",
+ "@esbuild/win32-ia32": "0.27.3",
+ "@esbuild/win32-x64": "0.27.3"
+ }
+ },
+ "node_modules/esbuild-node-externals": {
+ "version": "1.20.1",
+ "resolved": "https://registry.npmjs.org/esbuild-node-externals/-/esbuild-node-externals-1.20.1.tgz",
+ "integrity": "sha512-uVs+TC+PBiav2LoTz8WZT/ootINw9Rns5JJyVznlfZH1qOyZxWCPzeXklY04UtZut5qUeFFaEWtcH7XoMwiTTQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "peerDependencies": {
+ "esbuild": "0.12 - 0.27"
+ }
+ },
+ "node_modules/esbuild-plugin-clean": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/esbuild-plugin-clean/-/esbuild-plugin-clean-1.0.1.tgz",
+ "integrity": "sha512-ul606g0wX6oeobBgi3EqpZtCBCwNwCDivvnshsNS5pUsRylKoxUnDqK0ZIyPinlMbP6s8Opc9y2zOeY1Plhe8Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.1.2",
+ "del": "^6.0.0"
+ },
+ "peerDependencies": {
+ "esbuild": ">= 0.14.0"
+ }
+ },
+ "node_modules/esbuild-plugin-copy": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/esbuild-plugin-copy/-/esbuild-plugin-copy-2.1.1.tgz",
+ "integrity": "sha512-Bk66jpevTcV8KMFzZI1P7MZKZ+uDcrZm2G2egZ2jNIvVnivDpodZI+/KnpL3Jnap0PBdIHU7HwFGB8r+vV5CVw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.1.2",
+ "chokidar": "^3.5.3",
+ "fs-extra": "^10.0.1",
+ "globby": "^11.0.3"
+ },
+ "peerDependencies": {
+ "esbuild": ">= 0.14.0"
+ }
+ },
+ "node_modules/esbuild-plugin-copy/node_modules/fs-extra": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
+ "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/event-target-shim": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
+ "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/eventemitter3": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz",
+ "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/exponential-backoff": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz",
+ "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
+ "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.8"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fastq": {
+ "version": "1.20.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz",
+ "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/fs-extra": {
+ "version": "11.3.3",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz",
+ "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/get-east-asian-width": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz",
+ "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/globby": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ignore": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/indent-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz",
+ "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "get-east-asian-width": "^1.3.1"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-path-cwd": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
+ "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/is-path-inside": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/jsesc": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jsonfile": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz",
+ "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/lint-staged": {
+ "version": "16.2.7",
+ "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.2.7.tgz",
+ "integrity": "sha512-lDIj4RnYmK7/kXMya+qJsmkRFkGolciXjrsZ6PC25GdTfWOAWetR0ZbsNXRAj1EHHImRSalc+whZFg56F5DVow==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "commander": "^14.0.2",
+ "listr2": "^9.0.5",
+ "micromatch": "^4.0.8",
+ "nano-spawn": "^2.0.0",
+ "pidtree": "^0.6.0",
+ "string-argv": "^0.3.2",
+ "yaml": "^2.8.1"
+ },
+ "bin": {
+ "lint-staged": "bin/lint-staged.js"
+ },
+ "engines": {
+ "node": ">=20.17"
+ },
+ "funding": {
+ "url": "https://opencollective.com/lint-staged"
+ }
+ },
+ "node_modules/listr2": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz",
+ "integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cli-truncate": "^5.0.0",
+ "colorette": "^2.0.20",
+ "eventemitter3": "^5.0.1",
+ "log-update": "^6.1.0",
+ "rfdc": "^1.4.1",
+ "wrap-ansi": "^9.0.0"
+ },
+ "engines": {
+ "node": ">=20.0.0"
+ }
+ },
+ "node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz",
+ "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
+ "license": "MIT"
+ },
+ "node_modules/log-update": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz",
+ "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-escapes": "^7.0.0",
+ "cli-cursor": "^5.0.0",
+ "slice-ansi": "^7.1.0",
+ "strip-ansi": "^7.1.0",
+ "wrap-ansi": "^9.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/mimic-function": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
+ "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "10.2.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
+ "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "brace-expansion": "^5.0.2"
+ },
+ "engines": {
+ "node": "18 || 20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nano-spawn": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/nano-spawn/-/nano-spawn-2.0.0.tgz",
+ "integrity": "sha512-tacvGzUY5o2D8CBh2rrwxyNojUsZNU2zjNTzKQrkgGJQTbGAfArVWXSKMBokBeeg6C7OLRGUEyoFlYbfeWQIqw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=20.17"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/nano-spawn?sponsor=1"
+ }
+ },
+ "node_modules/node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "license": "MIT",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/onetime": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz",
+ "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mimic-function": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/oxlint": {
+ "version": "1.38.0",
+ "resolved": "https://registry.npmjs.org/oxlint/-/oxlint-1.38.0.tgz",
+ "integrity": "sha512-XT7tBinQS+hVLxtfJOnokJ9qVBiQvZqng40tDgR6qEJMRMnpVq/JwYfbYyGntSq8MO+Y+N9M1NG4bAMFUtCJiw==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "oxlint": "bin/oxlint"
+ },
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/Boshen"
+ },
+ "optionalDependencies": {
+ "@oxlint/darwin-arm64": "1.38.0",
+ "@oxlint/darwin-x64": "1.38.0",
+ "@oxlint/linux-arm64-gnu": "1.38.0",
+ "@oxlint/linux-arm64-musl": "1.38.0",
+ "@oxlint/linux-x64-gnu": "1.38.0",
+ "@oxlint/linux-x64-musl": "1.38.0",
+ "@oxlint/win32-arm64": "1.38.0",
+ "@oxlint/win32-x64": "1.38.0"
+ },
+ "peerDependencies": {
+ "oxlint-tsgolint": ">=0.10.0"
+ },
+ "peerDependenciesMeta": {
+ "oxlint-tsgolint": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/oxlint-tsgolint": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/oxlint-tsgolint/-/oxlint-tsgolint-0.10.1.tgz",
+ "integrity": "sha512-EEHNdo5cW2w1xwYdBQ7d3IXDqWAtMkfVFrh+9gQ4kYbYJwygY4QXSh1eH80/xVipZdVKujAwBgg/nNNHk56kxQ==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "tsgolint": "bin/tsgolint.js"
+ },
+ "optionalDependencies": {
+ "@oxlint-tsgolint/darwin-arm64": "0.10.1",
+ "@oxlint-tsgolint/darwin-x64": "0.10.1",
+ "@oxlint-tsgolint/linux-arm64": "0.10.1",
+ "@oxlint-tsgolint/linux-x64": "0.10.1",
+ "@oxlint-tsgolint/win32-arm64": "0.10.1",
+ "@oxlint-tsgolint/win32-x64": "0.10.1"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-map": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+ "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "aggregate-error": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
+ "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pidtree": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz",
+ "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "pidtree": "bin/pidtree.js"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/prettier": {
+ "version": "3.8.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz",
+ "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "prettier": "bin/prettier.cjs"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/restore-cursor": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz",
+ "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "onetime": "^7.0.0",
+ "signal-exit": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
+ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rfdc": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
+ "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/semver": {
+ "version": "7.7.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
+ "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/simple-git-hooks": {
+ "version": "2.13.1",
+ "resolved": "https://registry.npmjs.org/simple-git-hooks/-/simple-git-hooks-2.13.1.tgz",
+ "integrity": "sha512-WszCLXwT4h2k1ufIXAgsbiTOazqqevFCIncOuUBZJ91DdvWcC5+OFkluWRQPrcuSYd8fjq+o2y1QfWqYMoAToQ==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "simple-git-hooks": "cli.js"
+ }
+ },
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/slice-ansi": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
+ "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.2.1",
+ "is-fullwidth-code-point": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
+ }
+ },
+ "node_modules/slice-ansi/node_modules/ansi-styles": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+ "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/string-argv": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz",
+ "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.6.19"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.0.tgz",
+ "integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "get-east-asian-width": "^1.5.0",
+ "strip-ansi": "^7.1.2"
+ },
+ "engines": {
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+ "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+ "license": "MIT"
+ },
+ "node_modules/universalify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "license": "MIT",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "node_modules/wrap-ansi": {
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
+ "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.2.1",
+ "string-width": "^7.0.0",
+ "strip-ansi": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/ansi-styles": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+ "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/string-width": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
+ "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^10.3.0",
+ "get-east-asian-width": "^1.0.0",
+ "strip-ansi": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/yaml": {
+ "version": "2.8.3",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz",
+ "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "yaml": "bin.mjs"
+ },
+ "engines": {
+ "node": ">= 14.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/eemeli"
+ }
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ }
+ }
}
diff --git a/package.json b/package.json
index 995df0f..4c913b6 100644
--- a/package.json
+++ b/package.json
@@ -1,107 +1,107 @@
{
- "name": "DeltaLake",
- "version": "0.2.51",
- "author": "hackolade",
- "engines": {
- "hackolade": "7.7.10",
- "hackoladePlugin": "1.2.0"
- },
- "contributes": {
- "target": {
- "applicationTarget": "DeltaLake",
- "title": "Delta Lake on Databricks",
- "versions": [
- "Runtime 6",
- "Runtime 7",
- "Runtime 8",
- "Runtime 9",
- "Runtime 10",
- "Runtime 11",
- "Runtime 12",
- "Runtime 13",
- "Runtime 14",
- "Runtime 15",
- "Runtime 16",
- "Runtime 17",
- "Runtime 18"
- ]
- },
- "features": {
- "views": {
- "enabled": true,
- "viewLevel": "model",
- "disablePipelines": true,
- "includeViews": true
- },
- "nestedCollections": false,
- "disablePatternField": true,
- "enableForwardEngineering": {
- "jsonDocument": true,
- "jsonSchema": true,
- "excel": true,
- "plugin": true,
- "dbt": true
- },
- "disableMultipleTypes": false,
- "enableReverseEngineering": true,
- "enableComplexTypesNormalization": true,
- "generateAssociativeEntitiesForManyToManyRelationships": true,
- "disableChoices": true,
- "enableJsonType": true,
- "relationships": {
- "compositeRelationships": {
- "allowRelationshipsByProperties": [
- "primaryKey",
- "unique",
- "compositeUniqueKey",
- "compositePrimaryKey"
- ]
- }
- },
- "FEScriptCommentsSupported": [
- "2.x",
- "3.x"
- ],
- "discoverRelationships": true,
- "enableKeysMultipleAbrr": true
- }
- },
- "description": "Hackolade plugin for Delta Lake on Databricks, including Azure Databricks, and Databricks on AWS",
- "dependencies": {
- "@sqltools/formatter": "1.2.5",
- "@webpod/ip": "0.6.1",
- "abort-controller": "3.0.0",
- "antlr4": "4.9.2",
- "async": "3.2.6",
- "exponential-backoff": "3.1.2",
- "lodash": "4.18.1",
- "node-fetch": "2.6.7"
- },
- "simple-git-hooks": {
- "pre-commit": "npm run package && npx lint-staged --config lint-staged.config.js",
- "pre-push": "npm run lint"
- },
- "scripts": {
- "lint": "oxlint . || true",
- "package": "node esbuild.package.js",
- "postinstall": "npx simple-git-hooks",
- "lint:check": "oxlint --type-aware --type-check . || true",
- "format": "prettier --write ."
- },
- "devDependencies": {
- "@hackolade/hck-esbuild-plugins-pack": "0.0.1",
- "@ianvs/prettier-plugin-sort-imports": "4.7.1",
- "esbuild": "0.27.3",
- "esbuild-node-externals": "1.20.1",
- "esbuild-plugin-clean": "1.0.1",
- "esbuild-plugin-copy": "2.1.1",
- "lint-staged": "16.2.7",
- "oxlint": "1.38.0",
- "oxlint-tsgolint": "0.10.1",
- "prettier": "3.8.1",
- "simple-git-hooks": "2.13.1"
- },
- "overrides": {
- "minimatch": "10.2.4"
- }
-}
\ No newline at end of file
+ "name": "DeltaLake",
+ "version": "0.2.51",
+ "author": "hackolade",
+ "engines": {
+ "hackolade": "8.11.4",
+ "hackoladePlugin": "1.2.0"
+ },
+ "contributes": {
+ "target": {
+ "applicationTarget": "DeltaLake",
+ "title": "Delta Lake on Databricks",
+ "versions": [
+ "Runtime 6",
+ "Runtime 7",
+ "Runtime 8",
+ "Runtime 9",
+ "Runtime 10",
+ "Runtime 11",
+ "Runtime 12",
+ "Runtime 13",
+ "Runtime 14",
+ "Runtime 15",
+ "Runtime 16",
+ "Runtime 17",
+ "Runtime 18"
+ ]
+ },
+ "features": {
+ "views": {
+ "enabled": true,
+ "viewLevel": "model",
+ "disablePipelines": true,
+ "includeViews": true
+ },
+ "nestedCollections": false,
+ "disablePatternField": true,
+ "enableForwardEngineering": {
+ "jsonDocument": true,
+ "jsonSchema": true,
+ "excel": true,
+ "plugin": true,
+ "dbt": true
+ },
+ "disableMultipleTypes": false,
+ "enableReverseEngineering": true,
+ "enableComplexTypesNormalization": true,
+ "generateAssociativeEntitiesForManyToManyRelationships": true,
+ "disableChoices": true,
+ "enableJsonType": true,
+ "relationships": {
+ "compositeRelationships": {
+ "allowRelationshipsByProperties": [
+ "primaryKey",
+ "unique",
+ "compositeUniqueKey",
+ "compositePrimaryKey"
+ ]
+ }
+ },
+ "FEScriptCommentsSupported": [
+ "2.x",
+ "3.x"
+ ],
+ "discoverRelationships": true,
+ "enableKeysMultipleAbrr": true
+ }
+ },
+ "description": "Hackolade plugin for Delta Lake on Databricks, including Azure Databricks, and Databricks on AWS",
+ "dependencies": {
+ "@sqltools/formatter": "1.2.5",
+ "@webpod/ip": "0.6.1",
+ "abort-controller": "3.0.0",
+ "antlr4": "4.9.2",
+ "async": "3.2.6",
+ "exponential-backoff": "3.1.2",
+ "lodash": "4.18.1",
+ "node-fetch": "2.6.7"
+ },
+ "simple-git-hooks": {
+ "pre-commit": "npm run package && npx lint-staged --config lint-staged.config.js",
+ "pre-push": "npm run lint"
+ },
+ "scripts": {
+ "lint": "oxlint . || true",
+ "package": "node esbuild.package.js",
+ "postinstall": "npx simple-git-hooks",
+ "lint:check": "oxlint --type-aware --type-check . || true",
+ "format": "prettier --write ."
+ },
+ "devDependencies": {
+ "@hackolade/hck-esbuild-plugins-pack": "0.0.1",
+ "@ianvs/prettier-plugin-sort-imports": "4.7.1",
+ "esbuild": "0.27.3",
+ "esbuild-node-externals": "1.20.1",
+ "esbuild-plugin-clean": "1.0.1",
+ "esbuild-plugin-copy": "2.1.1",
+ "lint-staged": "16.2.7",
+ "oxlint": "1.38.0",
+ "oxlint-tsgolint": "0.10.1",
+ "prettier": "3.8.1",
+ "simple-git-hooks": "2.13.1"
+ },
+ "overrides": {
+ "minimatch": "10.2.4"
+ }
+}
diff --git a/reverse_engineering/api.js b/reverse_engineering/api.js
index cb19561..2c9217e 100644
--- a/reverse_engineering/api.js
+++ b/reverse_engineering/api.js
@@ -14,15 +14,13 @@ const {
isTableDdl,
getTemplateDocByJsonSchema,
} = require('./helpers/utils');
-const fs = require('fs');
const { getCleanedUrl } = require('../forward_engineering/utils/general');
-const { parseViewStatement } = require('./parseViewStatement');
-const { parseDDLStatements } = require('./parseDDLStatements');
const { isSupportUnityCatalog } = require('./helpers/databricksHelper');
const unityTagsHelper = require('./helpers/unityTagsHelper');
const { adaptJsonSchema } = require('./adaptJsonSchema');
const { getVariantColumnsWithResolvedSubtype } = require('./helpers/variantPropertiesSubtypeResolveHelper');
const { getPropertiesPotentiallyContainingJSON } = require('./helpers/columnsREHelper');
+const { parseViewStatement } = require('./parseViewStatement');
const DEFAULT_DATABRICKS_CATALOG_NAME = 'hive_metastore';
@@ -444,7 +442,7 @@ module.exports = {
if (warnings.length) {
clusterState = {
- ...(clusterState || {}),
+ ...clusterState,
warning: createWarning(warnings),
};
}
@@ -465,33 +463,12 @@ module.exports = {
handleError(logger, err, cb);
}
},
- reFromFile: async (data, logger, callback, app) => {
- try {
- const input = await handleFileData(data.filePath);
- const { result, info, relationships } = parseDDLStatements(input);
- callback(null, result, info, relationships, 'multipleSchema');
- } catch (err) {
- handleError(logger, err, callback);
- }
- },
adaptJsonSchema,
parseViewStatement,
};
-const handleFileData = filePath => {
- return new Promise((resolve, reject) => {
- fs.readFile(filePath, 'utf-8', (err, content) => {
- if (err) {
- reject(err);
- } else {
- resolve(content);
- }
- });
- });
-};
-
const logInfo = (step, connectionInfo, logger) => {
logger.clear();
logger.log('info', connectionInfo, 'connectionInfo', connectionInfo.hiddenKeys);
diff --git a/reverse_engineering/build.sh b/reverse_engineering/build.sh
index 73dc9b5..16a617f 100755
--- a/reverse_engineering/build.sh
+++ b/reverse_engineering/build.sh
@@ -11,7 +11,7 @@
# alias antlr4='java -jar /usr/local/lib/antlr-4.9.2-complete.jar'
# alias grun='java org.antlr.v4.gui.TestRig'
-# build parser
+# build SqlBase parser (still needed for RE from instance, table/view DDL parsing)
java -jar /usr/local/lib/antlr-4.9.2-complete.jar -Dlanguage=JavaScript \
-lib grammars \
-o parser/SQLBase \
@@ -20,13 +20,4 @@ java -jar /usr/local/lib/antlr-4.9.2-complete.jar -Dlanguage=JavaScript \
-Xexact-output-dir \
grammars/SqlBase.g4
-java -jar /usr/local/lib/antlr-4.9.2-complete.jar -Dlanguage=JavaScript \
- -lib grammars \
- -o parser/Hive \
- -visitor \
- -no-listener \
- -Xexact-output-dir \
- grammars/HiveParser.g4 \
- grammars/HiveLexer.g4
-
-npx prettier --write ./parser/**/*.js
\ No newline at end of file
+npx prettier --write ./parser/**/*.js
diff --git a/reverse_engineering/commandsService.js b/reverse_engineering/commandsService.js
deleted file mode 100644
index 4afc128..0000000
--- a/reverse_engineering/commandsService.js
+++ /dev/null
@@ -1,983 +0,0 @@
-const _ = require('lodash');
-const cleanUpSelectStatement = require('./helpers/cleanUpSelectStatement');
-const {
- set,
- findEntityIndex,
- omitCaseInsensitive,
- isEqualCaseInsensitive,
- remove,
- findViewIndex,
- merge,
-} = require('./helpers/commandsHelper');
-
-const CREATE_COLLECTION_COMMAND = 'createCollection';
-const REMOVE_COLLECTION_COMMAND = 'removeCollection';
-const RENAME_COLLECTION_COMMAND = 'renameCollection';
-const CREATE_BUCKET_COMMAND = 'createBucket';
-const REMOVE_BUCKET_COMMAND = 'removeBucket';
-const USE_BUCKET_COMMAND = 'useBucket';
-const USE_CATALOG_COMMAND = 'useCatalog';
-const ADD_FIELDS_TO_COLLECTION_COMMAND = 'addFieldsToCollection';
-const ADD_COLLECTION_LEVEL_INDEX_COMMAND = 'addCollectionLevelIndex';
-const ADD_COLLECTION_LEVEL_BLOOMFILTER_INDEX_COMMAND = 'addCollectionLevelBloomfilterIndex';
-const REMOVE_COLLECTION_LEVEL_BLOOMFILTER_INDEX_COMMAND = 'removeCollectionLevelBloomfilterIndex';
-const UPDATE_FIELD_COMMAND = 'updateField';
-const CREATE_VIEW_COMMAND = 'createView';
-const REMOVE_VIEW_COMMAND = 'removeView';
-const REMOVE_COLLECTION_LEVEL_INDEX_COMMAND = 'removeCollectionLevelIndex';
-const ADD_RELATIONSHIP_COMMAND = 'addRelationship';
-const UPDATE_ENTITY_COLUMN = 'updateColumn';
-const CREATE_RESOURCE_PLAN = 'createResourcePlan';
-const ADD_TO_RESOURCE_PLAN = 'addToResourcePlan';
-const CREATE_MAPPING = 'createMapping';
-const UPDATE_VIEW_LEVEL_DATA_COMMAND = 'updateViewLevelData';
-const RENAME_VIEW_COMMAND = 'renameView';
-const UPDATE_RESOURCE_PLAN = 'updateResourcePlan';
-const DROP_RESOURCE_PLAN = 'dropResourcePlan';
-const UPDATE_ITEM_IN_RESOURCE_PLAN = 'updateItemInResourcePlan';
-const DROP_RESOURCE_PLAN_ITEM = 'dropResourcePlanItem';
-const DROP_MAPPING = 'removeMapping';
-const UPDATE_ENTITY_LEVEL_DATA_COMMAND = 'updateCollectionProperties';
-const UPDATE_BUCKET_LEVEL_DATA_COMMAND = 'updateBucketProperties';
-const UPDATE_CATALOG_LEVEL_DATA_COMMAND = 'updateCatalogProperties';
-
-const DEFAULT_BUCKET = 'New schema';
-
-const convertCommandsToEntities = (commands, originalScript) => {
- return commands.reduce(
- (entitiesData, statementData) => {
- const command = statementData?.type;
-
- if (!command) {
- return entitiesData;
- }
-
- const bucket = statementData.bucketName || entitiesData.currentBucket;
-
- if (_.keys(COMMANDS_ACTION_MAP).includes(command)) {
- return COMMANDS_ACTION_MAP[command](entitiesData, bucket, statementData, originalScript);
- }
-
- return entitiesData;
- },
- {
- entities: [],
- views: [],
- currentBucket: DEFAULT_BUCKET,
- currentCatalog: '',
- buckets: {},
- relationships: [],
- modelProperties: {},
- },
- );
-};
-
-const convertCommandsToReDocs = (commands, originalScript) => {
- const reData = convertCommandsToEntities(commands, originalScript);
- const createBuckets = [];
- let views = reData.views;
-
- let result = reData.entities.map(entity => {
- const { relatedViews, restViews } = views.reduce(
- (result, view) => {
- if (view.collectionName === entity.collectionName) {
- return { ...result, relatedViews: [...result.relatedViews, view] };
- } else {
- return { ...result, restViews: [...result.restViews, view] };
- }
- },
- { relatedViews: [], restViews: [] },
- );
-
- views = restViews;
-
- if (!createBuckets.includes(entity.bucketName)) {
- createBuckets.push(entity.bucketName);
- }
-
- return {
- objectNames: {
- collectionName: entity.collectionName,
- },
- doc: {
- dbName: entity.bucketName,
- collectionName: entity.collectionName,
- bucketInfo: reData.buckets[entity.bucketName] || {},
- entityLevel: entity.entityLevelData,
- views: relatedViews,
- },
- jsonSchema: entity.schema,
- };
- });
-
- if (views.length) {
- const viewDocs = views.map(view => {
- if (!createBuckets.includes(view.bucketName)) {
- createBuckets.push(view.bucketName);
- }
-
- return {
- doc: {
- dbName: view.bucketName,
- collectionName: view.collectionName,
- bucketInfo: reData.buckets[view.bucketName] || {},
- views: [view],
- },
- };
- });
-
- result = result.concat(viewDocs);
- }
-
- if (Object.keys(reData.buckets || {}).length !== createBuckets.length) {
- const emptyBuckets = Object.keys(reData.buckets)
- .filter(bucketName => !createBuckets.includes(bucketName))
- .map(bucketName => {
- return {
- doc: {
- dbName: bucketName,
- bucketInfo: {
- additionalData: reData.buckets[bucketName] || {},
- },
- emptyBucket: true,
- },
- };
- });
- result = result.concat(emptyBuckets);
- }
-
- return { result, info: reData.modelProperties, relationships: reData.relationships };
-};
-
-const createCollection = (entitiesData, bucket, statementData, originalScript) => {
- const { entities, currentBucket } = entitiesData;
- const updatedEntityData = getTableMergedWithReferencedTable(entities, statementData);
- const streamingSourceSelect = cleanUpSelectStatement(
- originalScript.substring(statementData.select.start, statementData.select.stop),
- );
-
- const entityData = {
- ...updatedEntityData,
- entityLevelData: {
- ...updatedEntityData.entityLevelData,
- streamingSourceSelect,
- },
- };
-
- if (!updatedEntityData.bucketName) {
- return {
- ...entitiesData,
- entities: [...entities, { ...entityData, bucketName: bucket }],
- };
- }
-
- if (currentBucket === DEFAULT_BUCKET) {
- return {
- ...entitiesData,
- entities: [...entities, entityData],
- bucketName: updatedEntityData.bucketName,
- };
- } else {
- return { ...entitiesData, entities: [...entities, entityData] };
- }
-};
-
-const removeCollection = (entitiesData, bucket, statementData) => {
- const { entities } = entitiesData;
- const index = findEntityIndex(entities, bucket, statementData.collectionName);
- if (index === -1) {
- return entitiesData;
- }
-
- return { ...entitiesData, entities: remove(entities, index) };
-};
-
-const createBucket = (entitiesData, bucket, statementData) => {
- const { buckets, currentCatalog } = entitiesData;
- const bucketName = statementData.name;
- const bucketData = statementData.data || {};
- return {
- ...entitiesData,
- currentBucket: bucketName,
- buckets: { ...buckets, [bucketName]: { ...bucketData, catalogName: currentCatalog } },
- };
-};
-
-const removeBucket = (entitiesData, bucket, statementData) => {
- const { buckets, entities } = entitiesData;
- const bucketName = statementData.name;
-
- return {
- currentBucket: DEFAULT_BUCKET,
- buckets: omitCaseInsensitive(buckets, bucketName),
- entities: entities.filter(entity => !isEqualCaseInsensitive(entity.bucketName, bucketName)),
- };
-};
-
-const useBucket = (entitiesData, bucket, statementData) => {
- return {
- ...entitiesData,
- currentBucket: statementData.bucketName,
- };
-};
-
-const useCatalog = (entitiesData, bucket, statementData) => {
- return {
- ...entitiesData,
- currentCatalog: statementData.catalogName,
- };
-};
-
-const addFieldsToCollection = (entitiesData, bucket, statementData) => {
- const { entities } = entitiesData;
- const index = findEntityIndex(entities, bucket, statementData.collectionName);
- if (index === -1) {
- return entitiesData;
- }
-
- const entity = entities[index];
- return {
- ...entitiesData,
- entities: [
- ...entities.slice(0, index),
- {
- ...entity,
- schema: {
- ...entity.schema,
- properties: {
- ...entity.schema.properties,
- ...statementData.data,
- },
- },
- },
- ...entities.slice(index + 1),
- ],
- };
-};
-
-const updateField = (entitiesData, bucket, statementData) => {
- const { entities } = entitiesData;
-
- const index = findEntityIndex(entities, bucket, statementData.collectionName);
- if (index === -1) {
- return entitiesData;
- }
-
- const entity = entities[index];
- const field = _.get(entity, 'schema.properties', {})[statementData.name];
- if (!field) {
- return entitiesData;
- }
-
- const updatedField = {
- ...field,
- ...statementData.data,
- };
-
- return {
- ...entitiesData,
- entities: [
- ...entities.slice(0, index),
- {
- ...entity,
- schema: {
- ...entity.schema,
- properties: {
- ...omitCaseInsensitive(entity.schema.properties, statementData.name),
- [statementData.nameTo]: updatedField,
- },
- },
- },
- ...entities.slice(index + 1),
- ],
- };
-};
-
-const createView = (entitiesData, bucket, statementData, originalScript) => {
- const { views } = entitiesData;
- const selectStatement = cleanUpSelectStatement(
- originalScript.substring(statementData.select.start, statementData.select.stop),
- );
-
- return {
- ...entitiesData,
- views: [
- ...views,
- {
- ...statementData,
- data: {
- ...statementData.data,
- selectStatement,
- },
- ddl: {
- script: `CREATE VIEW ${statementData.name} ${statementData.columnNames ? `(${statementData.columnNames})` : ''} AS ${selectStatement};`.replace(
- /`/g,
- '"',
- ),
- type: 'postgres',
- },
- jsonSchema: statementData.jsonSchema,
- mergeSchemas: true,
- bucketName: statementData.bucketName || bucket,
- },
- ],
- };
-};
-
-const getTableMergedWithReferencedTable = (entities, statementData) => {
- if (!statementData.tableLikeName) {
- return statementData;
- }
-
- const referencedTable = entities.find(entity => entity.collectionName === statementData.tableLikeName);
-
- if (!referencedTable) {
- return statementData;
- }
-
- return {
- ...referencedTable,
- collectionName: statementData.collectionName,
- bucketName: statementData.bucketName,
- entityLevelData: {
- ...referencedTable.entityLevelData,
- ...statementData.entityLevelData,
- },
- };
-};
-
-const addIndexToCollection = (entitiesData, bucket, statementData) => {
- const { entities } = entitiesData;
- const entityIndex = findEntityIndex(entities, bucket, statementData.collectionName);
- if (entityIndex === -1) {
- return entitiesData;
- }
-
- const entity = entities[entityIndex];
- const entityLevelData = entity.entityLevelData || {};
- const indexes = [
- ...(entityLevelData.SecIndxs || []),
- {
- name: statementData.name,
- SecIndxKey: statementData.columns,
- ...statementData.data,
- },
- ];
-
- return {
- ...entitiesData,
- entities: set(entities, entityIndex, {
- ...entity,
- entityLevelData: {
- ...entityLevelData,
- SecIndxs: indexes,
- },
- }),
- };
-};
-
-const isAllIndexKeysHasSameOptions = (columnsData, indexOptions) => {
- return columnsData.every(column => !column.options || column.options === indexOptions);
-};
-
-const createBloomfilterIndexes = (columnsData = [], indexOptions) => {
- indexOptions = indexOptions || _.get(_.first(columnsData), 'options', '');
- const useSameOptions = isAllIndexKeysHasSameOptions(columnsData, indexOptions);
-
- if (useSameOptions) {
- return [
- {
- forColumns: columnsData.map(({ name }) => name),
- options: indexOptions,
- },
- ];
- }
-
- return columnsData.map(column => {
- return {
- forColumns: [column.name],
- options: column.options || indexOptions,
- };
- });
-};
-
-const addBloomfilterIndexToCollection = (entitiesData, bucket, statementData) => {
- const { entities } = entitiesData;
- const entityIndex = findEntityIndex(entities, bucket, statementData.collectionName);
- if (entityIndex === -1) {
- return entitiesData;
- }
-
- const entity = entities[entityIndex];
- const entityLevelData = entity.entityLevelData || {};
- const indexes = [
- ...(entityLevelData.BloomIndxs || []),
- ...createBloomfilterIndexes(statementData.columns, statementData.options),
- ];
-
- return {
- ...entitiesData,
- entities: set(entities, entityIndex, {
- ...entity,
- entityLevelData: {
- ...entityLevelData,
- BloomIndxs: indexes,
- },
- }),
- };
-};
-
-const filterCollectionBloomfilterIndexes = (bloomIndexes, indexKeysToRemove) =>
- _.chain(bloomIndexes || [])
- .map(bloomIndex => {
- const indexKeys = bloomIndex.forColumns.filter(key => !_.includes(indexKeysToRemove, key));
- if (_.isEmpty(indexKeys)) {
- return;
- }
-
- return {
- ...bloomIndex,
- forColumns: indexKeys,
- };
- })
- .compact()
- .value();
-
-const removeBloomfilterIndexFromCollection = (entitiesData, bucket, statementData) => {
- const { entities } = entitiesData;
- const entityIndex = findEntityIndex(entities, bucket, statementData.collectionName);
- if (entityIndex === -1) {
- return entitiesData;
- }
-
- const entity = entities[entityIndex];
- const entityLevelData = entity.entityLevelData || {};
- const indexKeysToRemove = statementData.columns.map(column => column.name);
- const indexes = filterCollectionBloomfilterIndexes(entityLevelData.BloomIndxs, indexKeysToRemove);
-
- return {
- ...entitiesData,
- entities: set(entities, entityIndex, {
- ...entity,
- entityLevelData: {
- ...entityLevelData,
- BloomIndxs: indexes,
- },
- }),
- };
-};
-
-const removeIndexFromCollection = (entitiesData, bucket, statementData) => {
- const { entities } = entitiesData;
- const entityIndex = findEntityIndex(entities, bucket, statementData.collectionName);
- if (entityIndex === -1) {
- return entitiesData;
- }
-
- const entity = entities[entityIndex];
- const entityLevelData = entity.entityLevelData || {};
- const indexes = (entityLevelData.SecIndxs || []).filter(index => index.name !== statementData.indexName);
-
- return {
- ...entitiesData,
- entities: set(entities, entityIndex, {
- ...entity,
- entityLevelData: {
- ...entityLevelData,
- SecIndxs: indexes,
- },
- }),
- };
-};
-
-const updateColumn = (entitiesData, bucket, statementData) => {
- const { entities } = entitiesData;
- const entityIndex = findEntityIndex(entities, bucket, statementData.collectionName);
- if (entityIndex === -1) {
- return entitiesData;
- }
-
- const entity = entities[entityIndex];
-
- return {
- ...entitiesData,
- entities: set(entities, entityIndex, {
- ...entity,
- schema: {
- ...entity.schema,
- properties: updateProperties(entity.schema.properties, statementData.data),
- },
- }),
- };
-};
-
-const addRelationship = (entitiesData, bucket, statementData) => {
- const { relationships } = entitiesData;
-
- return {
- ...entitiesData,
- relationships: relationships.concat({
- childCollection: statementData.childCollection,
- parentCollection: statementData.parentCollection,
- childField: statementData.childField,
- parentField: statementData.parentField,
- relationshipType: 'Foreign Key',
- childCardinality: '1',
- parentCardinality: '1',
- relationshipName: statementData.relationshipName,
- childDbName: statementData.childDbName || bucket,
- dbName: statementData.dbName || bucket,
- }),
- };
-};
-
-const updateProperties = (properties, statementData) => {
- return _.fromPairs(
- _.keys(properties).map(columnName => {
- if (!statementData?.fields?.includes(columnName)) {
- return [columnName, properties[columnName]];
- }
-
- return [
- columnName,
- {
- ...properties[columnName],
- [statementData.type]: statementData.value,
- },
- ];
- }),
- );
-};
-
-const createResourcePlan = (entitiesData, bucket, statementData) => {
- const { modelProperties } = entitiesData;
-
- if (statementData.like) {
- const originalPlan = (modelProperties.resourcePlans || []).find(({ name }) => name === statementData.like);
-
- if (!originalPlan) {
- return entitiesData;
- }
-
- return {
- ...entitiesData,
- modelProperties: {
- ...modelProperties,
- resourcePlans: [
- ...(modelProperties.resourcePlans || []),
- {
- ...originalPlan,
- name: statementData.name,
- },
- ],
- },
- };
- }
-
- return {
- ...entitiesData,
- modelProperties: {
- ...modelProperties,
- resourcePlans: [
- ...(modelProperties.resourcePlans || []),
- {
- name: statementData.name,
- parallelism: statementData.parallelism,
- },
- ],
- },
- };
-};
-
-const addToResourcePlan = (entitiesData, bucket, statementData) => {
- const { modelProperties } = entitiesData;
- const identifier = statementData.identifier;
-
- const resourcePlans = modelProperties.resourcePlans || [];
- const resourcePlanIndex = getResourcePlanIndex(resourcePlans, statementData.resourceName);
- if (resourcePlanIndex === -1) {
- return entitiesData;
- }
-
- const updatedResourcePlan = {
- ...resourcePlans[resourcePlanIndex],
- [identifier + 's']: _.get(resourcePlans, `${resourcePlanIndex}.${identifier + 's'}`, []).concat(
- statementData[identifier],
- ),
- };
-
- return {
- ...entitiesData,
- modelProperties: {
- ...modelProperties,
- resourcePlans: set(resourcePlans, resourcePlanIndex, updatedResourcePlan),
- },
- };
-};
-
-const addMapping = (entitiesData, bucket, statementData) => {
- const { modelProperties } = entitiesData;
-
- const resourcePlans = modelProperties.resourcePlans || [];
- const resourceIndex = getResourcePlanIndex(resourcePlans, statementData.resourceName);
- if (resourceIndex < 0) {
- return entitiesData;
- }
-
- const planPools = resourcePlans[resourceIndex].pools || [];
- const poolIndex = _.findIndex(planPools, ({ name }) => name === statementData.poolName);
- if (poolIndex < 0) {
- return entitiesData;
- }
-
- const updatedPool = addMappingToPoolByIndex(planPools, poolIndex, statementData.mapping);
- const updatedResourcePlans = set(resourcePlans, resourceIndex, {
- ...resourcePlans[resourceIndex],
- pools: set(planPools, poolIndex, updatedPool),
- });
-
- return {
- ...entitiesData,
- modelProperties: {
- ...modelProperties,
- resourcePlans: updatedResourcePlans,
- },
- };
-};
-
-const removeView = (entitiesData, bucket, statementData) => {
- const { views } = entitiesData;
- const index = findViewIndex(views, bucket, statementData.viewName);
- if (index === -1) {
- return entitiesData;
- }
-
- return { ...entitiesData, views: remove(views, index) };
-};
-
-const updateViewLevelData = (entitiesData, bucket, statementData, originalScript) => {
- const { views } = entitiesData;
- const index = findViewIndex(views, bucket, statementData.viewName);
- if (index === -1) {
- return entitiesData;
- }
-
- const view = views[index];
-
- const newData = statementData.data || {};
-
- if (statementData.select) {
- newData.selectStatement = `AS ${originalScript.substring(
- statementData.select.start,
- statementData.select.stop,
- )}`;
- }
-
- return {
- ...entitiesData,
- views: set(views, index, {
- ...view,
- data: merge(view.data, newData),
- }),
- };
-};
-
-const renameView = (entitiesData, bucket, statementData) => {
- const { views } = entitiesData;
- const index = findViewIndex(views, bucket, statementData.viewName);
- if (index === -1) {
- return entitiesData;
- }
-
- const view = views[index];
-
- return {
- ...entitiesData,
- views: set(views, index, {
- ...view,
- name: statementData.newViewName,
- }),
- };
-};
-
-const renameCollection = (entitiesData, bucket, statementData) => {
- const { entities } = entitiesData;
- const index = findEntityIndex(entities, bucket, statementData.collectionName);
- if (index === -1) {
- return entitiesData;
- }
-
- const entity = entities[index];
-
- return {
- ...entitiesData,
- entities: set(entities, index, {
- ...entity,
- name: statementData.newCollectionName,
- }),
- };
-};
-
-const updateResourcePlan = (entitiesData, bucket, statementData) => {
- const { modelProperties } = entitiesData;
-
- const resourcePlans = modelProperties.resourcePlans || [];
- const resourcePlanIndex = getResourcePlanIndex(resourcePlans, statementData.resourceName);
- if (resourcePlanIndex === -1) {
- return entitiesData;
- }
-
- const newData = { ...statementData.data, name: statementData.renameTo || statementData.resourceName };
- const updatedResourcePlan = merge(resourcePlans[resourcePlanIndex], newData);
-
- return {
- ...entitiesData,
- modelProperties: {
- ...modelProperties,
- resourcePlans: set(resourcePlans, resourcePlanIndex, updatedResourcePlan),
- },
- };
-};
-
-const dropResourcePlan = (entitiesData, bucket, statementData) => {
- const { modelProperties } = entitiesData;
-
- const resourcePlans = modelProperties.resourcePlans || [];
- const resourcePlanIndex = getResourcePlanIndex(resourcePlans, statementData.resourceName);
- if (resourcePlanIndex === -1) {
- return entitiesData;
- }
-
- return {
- ...entitiesData,
- modelProperties: {
- ...modelProperties,
- resourcePlans: remove(resourcePlans, resourcePlanIndex),
- },
- };
-};
-
-const updateResourcePlanItem = (entitiesData, bucket, statementData) => {
- const { modelProperties } = entitiesData;
- const identifier = statementData.identifier;
-
- const resourcePlans = modelProperties.resourcePlans || [];
- const { resourcePlanIndex, itemIndex } = getResourcePlanAndItemIndexes(resourcePlans, statementData, identifier);
- if (resourcePlanIndex === -1 || itemIndex === -1) {
- return entitiesData;
- }
-
- const updatedItems = set(
- resourcePlans[resourcePlanIndex][identifier + 's'],
- itemIndex,
- merge(resourcePlans[resourcePlanIndex][identifier + 's'][itemIndex], statementData.data),
- );
- const updatedResourcePlan = {
- ...resourcePlans[resourcePlanIndex],
- [identifier + 's']: updatedItems,
- };
-
- return {
- ...entitiesData,
- modelProperties: {
- ...modelProperties,
- resourcePlans: set(resourcePlans, resourcePlanIndex, updatedResourcePlan),
- },
- };
-};
-
-const removeItemFromResourcePlan = (entitiesData, bucket, statementData) => {
- const { modelProperties } = entitiesData;
- const identifier = statementData.identifier;
-
- const resourcePlans = modelProperties.resourcePlans || [];
- const { resourcePlanIndex, itemIndex } = getResourcePlanAndItemIndexes(resourcePlans, statementData, identifier);
- if (resourcePlanIndex === -1 || itemIndex === -1) {
- return entitiesData;
- }
-
- const updatedItems = remove(resourcePlans[resourcePlanIndex][identifier + 's'], itemIndex);
- const updatedResourcePlan = {
- ...resourcePlans[resourcePlanIndex],
- [identifier + 's']: updatedItems,
- };
-
- return {
- ...entitiesData,
- modelProperties: {
- ...modelProperties,
- resourcePlans: set(resourcePlans, resourcePlanIndex, updatedResourcePlan),
- },
- };
-};
-
-const removeMapping = (entitiesData, bucket, statementData) => {
- const { modelProperties } = entitiesData;
-
- const resourcePlans = modelProperties.resourcePlans || [];
- const resourceIndex = getResourcePlanIndex(resourcePlans, statementData.resourceName);
- if (resourceIndex < 0) {
- return entitiesData;
- }
-
- const planPools = resourcePlans[resourceIndex].pools || [];
- const poolIndex = _.findIndex(planPools, ({ mappings }) =>
- (mappings || []).find(({ name }) => name === statementData.name),
- );
- if (poolIndex < 0) {
- return entitiesData;
- }
-
- const updatedPool = removeMappingFromPool(planPools, poolIndex, statementData.name);
- const updatedResourcePlans = set(resourcePlans, resourceIndex, {
- ...resourcePlans[resourceIndex],
- pools: set(planPools, poolIndex, updatedPool),
- });
-
- return {
- ...entitiesData,
- modelProperties: {
- ...modelProperties,
- resourcePlans: updatedResourcePlans,
- },
- };
-};
-
-const updateEntityLevelData = (entitiesData, bucket, statementData) => {
- const { entities } = entitiesData;
- const index = findEntityIndex(entities, bucket, statementData.collectionName);
- if (index === -1) {
- return entitiesData;
- }
-
- const entity = entities[index];
-
- return {
- ...entitiesData,
- entities: set(entities, index, {
- ...entity,
- entityLevelData: merge(entity.entityLevelData, statementData.data),
- }),
- };
-};
-
-const updateBucketLevelData = (entitiesData, bucket, statementData) => {
- const { buckets } = entitiesData;
- const bucketData = buckets[bucket] || {};
-
- return {
- ...entitiesData,
- buckets: {
- ...buckets,
- [bucket]: merge(bucketData, statementData.data),
- },
- };
-};
-
-const updateCatalogLevelData = (entitiesData, bucket, statementData) => {
- const { buckets, currentCatalog } = entitiesData;
- const updatedBuckets = Object.entries(buckets).reduce((result, [bucketName, bucketData]) => {
- if (bucketData.catalogName !== currentCatalog) {
- return result;
- }
-
- return {
- ...result,
- [bucketName]: {
- ...bucketData,
- ...statementData.data,
- },
- };
- }, buckets);
-
- return {
- ...entitiesData,
- buckets: updatedBuckets,
- };
-};
-
-const getResourcePlanIndex = (resourcePlans, resourceName) => {
- return _.findIndex(resourcePlans, plan => plan.name === resourceName);
-};
-
-const addMappingToPoolByIndex = (pools, poolIndex, mapping) => {
- return { ...pools[poolIndex], mappings: _.get(pools[poolIndex], 'mappings', []).concat(mapping) };
-};
-
-const removeMappingFromPool = (pools, poolIndex, mappingName) => {
- return { ...pools[poolIndex], mappings: pools[poolIndex].mappings.filter(({ name }) => name !== mappingName) };
-};
-
-const getResourcePlanAndItemIndexes = (resourcePlans, statementData, identifier) => {
- const resourcePlanIndex = getResourcePlanIndex(resourcePlans, statementData.resourceName);
- const items = _.get(resourcePlans, `${resourcePlanIndex}.${identifier + 's'}`, []);
- const itemIndex = _.findIndex(items, ({ name }) => name === statementData[identifier]);
-
- return { resourcePlanIndex, itemIndex };
-};
-
-const COMMANDS_ACTION_MAP = {
- [CREATE_COLLECTION_COMMAND]: createCollection,
- [REMOVE_COLLECTION_COMMAND]: removeCollection,
- [CREATE_BUCKET_COMMAND]: createBucket,
- [REMOVE_BUCKET_COMMAND]: removeBucket,
- [USE_BUCKET_COMMAND]: useBucket,
- [USE_CATALOG_COMMAND]: useCatalog,
- [ADD_FIELDS_TO_COLLECTION_COMMAND]: addFieldsToCollection,
- [ADD_COLLECTION_LEVEL_INDEX_COMMAND]: addIndexToCollection,
- [ADD_COLLECTION_LEVEL_BLOOMFILTER_INDEX_COMMAND]: addBloomfilterIndexToCollection,
- [REMOVE_COLLECTION_LEVEL_BLOOMFILTER_INDEX_COMMAND]: removeBloomfilterIndexFromCollection,
- [UPDATE_FIELD_COMMAND]: updateField,
- [CREATE_VIEW_COMMAND]: createView,
- [REMOVE_VIEW_COMMAND]: removeView,
- [REMOVE_COLLECTION_LEVEL_INDEX_COMMAND]: removeIndexFromCollection,
- [ADD_RELATIONSHIP_COMMAND]: addRelationship,
- [UPDATE_ENTITY_COLUMN]: updateColumn,
- [CREATE_RESOURCE_PLAN]: createResourcePlan,
- [ADD_TO_RESOURCE_PLAN]: addToResourcePlan,
- [CREATE_MAPPING]: addMapping,
- [UPDATE_VIEW_LEVEL_DATA_COMMAND]: updateViewLevelData,
- [RENAME_VIEW_COMMAND]: renameView,
- [UPDATE_RESOURCE_PLAN]: updateResourcePlan,
- [DROP_RESOURCE_PLAN]: dropResourcePlan,
- [UPDATE_ITEM_IN_RESOURCE_PLAN]: updateResourcePlanItem,
- [DROP_RESOURCE_PLAN_ITEM]: removeItemFromResourcePlan,
- [DROP_MAPPING]: removeMapping,
- [RENAME_COLLECTION_COMMAND]: renameCollection,
- [UPDATE_ENTITY_LEVEL_DATA_COMMAND]: updateEntityLevelData,
- [UPDATE_BUCKET_LEVEL_DATA_COMMAND]: updateBucketLevelData,
- [UPDATE_CATALOG_LEVEL_DATA_COMMAND]: updateCatalogLevelData,
-};
-
-module.exports = {
- convertCommandsToReDocs,
- CREATE_COLLECTION_COMMAND,
- REMOVE_COLLECTION_COMMAND,
- CREATE_BUCKET_COMMAND,
- REMOVE_BUCKET_COMMAND,
- USE_BUCKET_COMMAND,
- USE_CATALOG_COMMAND,
- ADD_FIELDS_TO_COLLECTION_COMMAND,
- UPDATE_FIELD_COMMAND,
- CREATE_VIEW_COMMAND,
- ADD_COLLECTION_LEVEL_INDEX_COMMAND,
- REMOVE_COLLECTION_LEVEL_INDEX_COMMAND,
- ADD_COLLECTION_LEVEL_BLOOMFILTER_INDEX_COMMAND,
- REMOVE_COLLECTION_LEVEL_BLOOMFILTER_INDEX_COMMAND,
- ADD_RELATIONSHIP_COMMAND,
- UPDATE_ENTITY_COLUMN,
- CREATE_RESOURCE_PLAN,
- ADD_TO_RESOURCE_PLAN,
- CREATE_MAPPING,
- REMOVE_VIEW_COMMAND,
- RENAME_VIEW_COMMAND,
- UPDATE_VIEW_LEVEL_DATA_COMMAND,
- UPDATE_RESOURCE_PLAN,
- UPDATE_ITEM_IN_RESOURCE_PLAN,
- DROP_RESOURCE_PLAN_ITEM,
- DROP_MAPPING,
- RENAME_COLLECTION_COMMAND,
- UPDATE_ENTITY_LEVEL_DATA_COMMAND,
- UPDATE_BUCKET_LEVEL_DATA_COMMAND,
- UPDATE_CATALOG_LEVEL_DATA_COMMAND,
-};
diff --git a/reverse_engineering/config.json b/reverse_engineering/config.json
index 309482b..815bec7 100644
--- a/reverse_engineering/config.json
+++ b/reverse_engineering/config.json
@@ -1,16 +1,12 @@
[
- {
- "type": "file",
- "menu_label": "HQL File...",
- "name": "hql",
- "extensions": ["hql"],
- "useMultipleFileReverse": true
- },
{
"errors": {
"NO_DATABASES": "There is no databases in the Delta Lake instance",
"WRONG_CONNECTION": "Can not connect to the Delta Lake instance"
},
+ "defaultDdlType": "databricks",
+ "extensions": ["sql", "hql"],
+ "useMultipleFileReverse": true,
"excludeDocKind": ["id"],
"type": "database",
"scenario": "getDatabases",
diff --git a/reverse_engineering/grammars/FromClauseParser.g4 b/reverse_engineering/grammars/FromClauseParser.g4
deleted file mode 100644
index 247a479..0000000
--- a/reverse_engineering/grammars/FromClauseParser.g4
+++ /dev/null
@@ -1,217 +0,0 @@
-/**
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- @author Canwei He
-*/
-
-parser grammar FromClauseParser;
-
-//-----------------------------------------------------------------------------------
-
-tableAllColumns
- : STAR
- | tableName DOT STAR
- ;
-
-// (table|column)
-tableOrColumn
- : identifier
- ;
-
-expressionList
- : expression (COMMA expression)*
- ;
-
-aliasList
- : identifier (COMMA identifier)*
- ;
-
-//----------------------- Rules for parsing fromClause ------------------------------
-// from [col1, col2, col3] table1, [col4, col5] table2
-fromClause
- : KW_FROM fromSource
- ;
-
-fromSource
- : uniqueJoinToken uniqueJoinSource (COMMA uniqueJoinSource)+
- | joinSource
- | rangeTableValuedFunction
- | streamSource
- ;
-
-
-atomjoinSource
- : tableSource lateralView*
- | virtualTableSource lateralView*
- | subQuerySource lateralView*
- | partitionedTableFunction lateralView*
- | LPAREN joinSource RPAREN
- ;
-
-joinSource
- : atomjoinSource (joinToken joinSourcePart (KW_ON expression | KW_USING columnParenthesesList)?)*
- ;
-
-streamSource
- : KW_STREAM LPAREN? tableName RPAREN? tableAlias?
- | KW_STREAM tableFunctionCall
- ;
-
-joinSourcePart
- : (tableSource | virtualTableSource | subQuerySource | partitionedTableFunction) lateralView*
- ;
-
-uniqueJoinSource
- : KW_PRESERVE? uniqueJoinTableSource uniqueJoinExpr
- ;
-
-uniqueJoinExpr
- : LPAREN expressionList RPAREN
- ;
-
-uniqueJoinToken
- : KW_UNIQUEJOIN
- ;
-
-joinToken
- : KW_JOIN
- | KW_INNER KW_JOIN
- | COMMA
- | KW_CROSS KW_JOIN
- | KW_LEFT KW_OUTER? KW_JOIN
- | KW_RIGHT KW_OUTER? KW_JOIN
- | KW_FULL KW_OUTER? KW_JOIN
- | KW_LEFT KW_SEMI KW_JOIN
- ;
-
-lateralView
- : KW_LATERAL KW_VIEW KW_OUTER functionStatement tableAlias (KW_AS identifier (COMMA identifier)*)?
- | COMMA? KW_LATERAL KW_VIEW functionStatement tableAlias (KW_AS identifier (COMMA identifier)*)?
- | COMMA? KW_LATERAL KW_TABLE LPAREN valuesClause RPAREN KW_AS? tableAlias (LPAREN identifier (COMMA identifier)* RPAREN)?
- ;
-
-tableAlias
- : identifier
- ;
-
-tableBucketSample
- : KW_TABLESAMPLE LPAREN KW_BUCKET Number KW_OUT KW_OF Number (KW_ON expression (COMMA expression)*)? RPAREN
- ;
-
-splitSample
- : KW_TABLESAMPLE LPAREN Number (KW_PERCENT|KW_ROWS) RPAREN
- | KW_TABLESAMPLE LPAREN ByteLengthLiteral RPAREN
- ;
-
-tableSample
- : tableBucketSample
- | splitSample
- ;
-
-tableSource
- : tableName tableProperties? tableSample? (KW_AS? identifier)?
- ;
-
-uniqueJoinTableSource
- : tableName tableSample? (KW_AS? identifier)?
- ;
-
-tableName: identifier (DOT identifier)*;
-
-viewName
- : (identifier DOT)? identifier
- ;
-
-subQuerySource
- : LPAREN queryStatementExpression RPAREN (KW_AS? identifier)?
- ;
-
-//---------------------- Rules for parsing PTF clauses -----------------------------
-partitioningSpec
- : partitionByClause orderByClause?
- | orderByClause
- | distributeByClause sortByClause?
- | sortByClause
- | clusterByClause
- ;
-
-partitionTableFunctionSource
- : subQuerySource
- | tableSource
- | partitionedTableFunction
- ;
-
-partitionedTableFunction
- : identifier LPAREN KW_ON
- partitionTableFunctionSource partitioningSpec?
- (Identifier LPAREN expression RPAREN ( COMMA Identifier LPAREN expression RPAREN)*)?
- RPAREN identifier?
- ;
-
-//----------------------- Rules for parsing whereClause -----------------------------
-// where a=b and ...
-whereClause
- : KW_WHERE searchCondition
- ;
-
-searchCondition
- : expression
- ;
-
-//-----------------------------------------------------------------------------------
-
-//-------- Row Constructor ----------------------------------------------------------
-//in support of SELECT * FROM (VALUES(1,2,3),(4,5,6),...) as FOO(a,b,c) and
-// INSERT INTO
(col1,col2,...) VALUES(...),(...),...
-// INSERT INTO (col1,col2,...) SELECT * FROM (VALUES(1,2,3),(4,5,6),...) as Foo(a,b,c)
-/*
-VALUES(1),(2) means 2 rows, 1 column each.
-VALUES(1,2),(3,4) means 2 rows, 2 columns each.
-VALUES(1,2,3) means 1 row, 3 columns
-*/
-valuesClause
- : KW_VALUES valuesTableConstructor
- ;
-
-valuesTableConstructor
- : valueRowConstructor (COMMA valueRowConstructor)*
- ;
-
-valueRowConstructor
- : expressionsInParenthesis
- ;
-
-/*
-This represents a clause like this:
-TABLE(VALUES(1,2),(2,3)) as VirtTable(col1,col2)
-*/
-virtualTableSource
- : KW_TABLE LPAREN valuesClause RPAREN KW_AS? tableAlias (LPAREN identifier (COMMA identifier)*)? RPAREN
- ;
-
-rangeTableValuedFunction
- : KW_RANGE LPAREN Number (COMMA Number)* RPAREN
- ;
-
-//-----------------------------------------------------------------------------------
-
-tableFunctionCall: identifier LPAREN functionArgList? RPAREN;
-
-functionArgList: functionArg (',' functionArg)*;
-
-functionArg: namedArg | expression | StringLiteral;
-
-namedArg: identifier FAT_ARROW (identifier | expression | StringLiteral);
\ No newline at end of file
diff --git a/reverse_engineering/grammars/HintParser.g4 b/reverse_engineering/grammars/HintParser.g4
deleted file mode 100644
index 8de43ae..0000000
--- a/reverse_engineering/grammars/HintParser.g4
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- @author Canwei He
-*/
-parser grammar HintParser;
-
-options
-{
- tokenVocab=HiveLexer;
-}
-
-// starting rule
-hint
- : hintList EOF
- ;
-
-hintList
- : hintItem (COMMA hintItem)*
- ;
-
-hintItem
- : hintName (LPAREN hintArgs RPAREN)?
- ;
-
-hintName
- : KW_MAPJOIN
- | KW_SEMI
- | KW_STREAMTABLE
- ;
-
-hintArgs
- : hintArgName (COMMA hintArgName)*
- ;
-
-hintArgName
- : Identifier
- | Number
- | KW_NONE
- ;
diff --git a/reverse_engineering/grammars/HiveLexer.g4 b/reverse_engineering/grammars/HiveLexer.g4
deleted file mode 100644
index 7d825ef..0000000
--- a/reverse_engineering/grammars/HiveLexer.g4
+++ /dev/null
@@ -1,572 +0,0 @@
-/**
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- @author Canwei He
-*/
-
-lexer grammar HiveLexer;
-
-//关键词
-
-KW_TRUE : T R U E;
-KW_FALSE : F A L S E;
-KW_ALL : A L L;
-KW_AUTO : A U T O;
-KW_NONE: N O N E;
-KW_AND : A N D;
-KW_OR : O R;
-KW_NOT : N O T | '!';
-KW_LIKE : L I K E;
-KW_ANY : A N Y;
-KW_IF : I F;
-KW_EXISTS : E X I S T S;
-KW_ASC : A S C;
-KW_DESC : D E S C;
-KW_NULLS : N U L L S;
-KW_LAST : L A S T;
-KW_ORDER : O R D E R;
-KW_GROUP : G R O U P;
-KW_BY : B Y;
-KW_HAVING : H A V I N G;
-KW_WHERE : W H E R E;
-KW_FROM : F R O M;
-KW_AS : A S;
-KW_SELECT : S E L E C T;
-KW_DISTINCT : D I S T I N C T;
-KW_INSERT : I N S E R T;
-KW_OVERWRITE : O V E R W R I T E;
-KW_OUTER : O U T E R;
-KW_UNIQUEJOIN : U N I Q U E J O I N;
-KW_PRESERVE : P R E S E R V E;
-KW_JOIN : J O I N;
-KW_LEFT : L E F T;
-KW_RIGHT : R I G H T;
-KW_FULL : F U L L;
-KW_ON : O N;
-KW_PARTITION : P A R T I T I O N;
-KW_PARTITIONS : P A R T I T I O N S;
-KW_TABLE: T A B L E;
-KW_TABLES: T A B L E S;
-KW_TAGS: T A G S;
-KW_COLUMNS: C O L U M N S;
-KW_INDEX: I N D E X;
-KW_INDEXES: I N D E X E S;
-KW_REBUILD: R E B U I L D;
-KW_FUNCTIONS: F U N C T I O N S;
-KW_SHOW: S H O W;
-KW_MSCK: M S C K;
-KW_REPAIR: R E P A I R;
-KW_DIRECTORY: D I R E C T O R Y;
-KW_LOCAL: L O C A L;
-KW_TRANSFORM : T R A N S F O R M;
-KW_USING: U S I N G;
-KW_CLUSTER: C L U S T E R;
-KW_DISTRIBUTE: D I S T R I B U T E;
-KW_SORT: S O R T;
-KW_UNION: U N I O N;
-KW_EXCEPT: E X C E P T;
-KW_LOAD: L O A D;
-KW_EXPORT: E X P O R T;
-KW_IMPORT: I M P O R T;
-KW_REPLICATION: R E P L I C A T I O N;
-KW_METADATA: M E T A D A T A;
-KW_DATA: D A T A;
-KW_INPATH: I N P A T H;
-KW_IS: I S;
-KW_NULL: N U L L;
-KW_CREATE: C R E A T E;
-KW_EXTERNAL: E X T E R N A L;
-KW_ALTER: A L T E R;
-KW_CHANGE: C H A N G E;
-KW_COLUMN: C O L U M N;
-KW_FIRST: F I R S T;
-KW_AFTER: A F T E R;
-KW_DESCRIBE: D E S C R I B E;
-KW_DROP: D R O P;
-KW_RENAME: R E N A M E;
-KW_TO: T O;
-KW_COMMENT: C O M M E N T;
-KW_BOOLEAN: B O O L E A N;
-KW_TINYINT: T I N Y I N T;
-KW_SMALLINT: S M A L L I N T;
-KW_INT: I N T | I N T E G E R;
-KW_BIGINT: B I G I N T;
-KW_FLOAT: F L O A T;
-KW_DOUBLE: D O U B L E;
-KW_PRECISION: P R E C I S I O N;
-KW_DATE: D A T E;
-KW_DATETIME: D A T E T I M E;
-KW_TIMESTAMP: T I M E S T A M P;
-KW_TIMESTAMP_NTZ: T I M E S T A M P '_' N T Z;
-KW_TIMESTAMPLOCALTZ: T I M E S T A M P L O C A L T Z;
-KW_TIME: T I M E;
-KW_ZONE: Z O N E;
-KW_INTERVAL: I N T E R V A L;
-KW_DECIMAL: D E C I M A L | N U M E R I C;
-KW_STRING: S T R I N G;
-KW_CHAR: C H A R;
-KW_VARCHAR: V A R C H A R;
-KW_ARRAY: A R R A Y;
-KW_STRUCT: S T R U C T;
-KW_MAP: M A P;
-KW_MASK: M A S K;
-KW_VARIANT: V A R I A N T;
-KW_UNIONTYPE: U N I O N T Y P E;
-KW_REDUCE: R E D U C E;
-KW_PARTITIONED: P A R T I T I O N E D;
-KW_CLUSTERED: C L U S T E R E D;
-KW_SORTED: S O R T E D;
-KW_INTO: I N T O;
-KW_BUCKETS: B U C K E T S;
-KW_ROW: R O W;
-KW_ROWS: R O W S;
-KW_FORMAT: F O R M A T;
-KW_DELIMITED: D E L I M I T E D;
-KW_FIELDS: F I E L D S;
-KW_TERMINATED: T E R M I N A T E D;
-KW_ESCAPED: E S C A P E D;
-KW_COLLECTION: C O L L E C T I O N;
-KW_ITEMS: I T E M S;
-KW_KEYS: K E Y S;
-KW_KEY_TYPE: '$' K E Y '$';
-KW_KILL: K I L L;
-KW_LINES: L I N E S;
-KW_STORED: S T O R E D;
-KW_FILEFORMAT: F I L E F O R M A T;
-KW_INPUTFORMAT: I N P U T F O R M A T;
-KW_OUTPUTFORMAT: O U T P U T F O R M A T;
-KW_INPUTDRIVER: I N P U T D R I V E R;
-KW_OUTPUTDRIVER: O U T P U T D R I V E R;
-KW_ENABLE: E N A B L E;
-KW_DISABLE: D I S A B L E;
-KW_LOCATION: L O C A T I O N;
-KW_TABLESAMPLE: T A B L E S A M P L E;
-KW_BUCKET: B U C K E T;
-KW_OUT: O U T;
-KW_OF: O F;
-KW_PERCENT: P E R C E N T;
-KW_CAST: C A S T;
-KW_ADD: A D D;
-KW_REPLACE: R E P L A C E;
-KW_RLIKE: R L I K E;
-KW_REGEXP: R E G E X P;
-KW_TEMPORARY: T E M P O R A R Y;
-KW_FUNCTION: F U N C T I O N;
-KW_MACRO: M A C R O;
-KW_FILE: F I L E;
-KW_JAR: J A R;
-KW_EXPLAIN: E X P L A I N;
-KW_EXTENDED: E X T E N D E D;
-KW_FORMATTED: F O R M A T T E D;
-KW_DEPENDENCY: D E P E N D E N C Y;
-KW_LOGICAL: L O G I C A L;
-KW_SERDE: S E R D E;
-KW_WITH: W I T H;
-KW_DEFERRED: D E F E R R E D;
-KW_SERDEPROPERTIES: S E R D E P R O P E R T I E S;
-KW_DBPROPERTIES: D B P R O P E R T I E S;
-KW_LIMIT: L I M I T;
-KW_OFFSET: O F F S E T;
-KW_SET: S E T;
-KW_UNSET: U N S E T;
-KW_TBLPROPERTIES: T B L P R O P E R T I E S;
-KW_IDXPROPERTIES: I D X P R O P E R T I E S;
-KW_VALUE_TYPE: '$' V A L U E '$';
-KW_ELEM_TYPE: '$' E L E M '$';
-KW_DEFINED: D E F I N E D;
-KW_CASE: C A S E;
-KW_WHEN: W H E N;
-KW_THEN: T H E N;
-KW_ELSE: E L S E;
-KW_END: E N D;
-KW_MAPJOIN: M A P J O I N;
-KW_STREAMTABLE: S T R E A M T A B L E;
-KW_CLUSTERSTATUS: C L U S T E R S T A T U S;
-KW_UTC: U T C;
-KW_UTCTIMESTAMP: U T C T I M E S T A M P;
-KW_LONG: L O N G;
-KW_DELETE: D E L E T E;
-KW_PLUS: P L U S;
-KW_MINUS: M I N U S;
-KW_FETCH: F E T C H;
-KW_INTERSECT: I N T E R S E C T;
-KW_VIEW: V I E W;
-KW_VIEWS: V I E W S;
-KW_IN: I N;
-KW_DATABASE: D A T A B A S E;
-KW_DATABASES: D A T A B A S E S;
-KW_MATERIALIZED: M A T E R I A L I Z E D;
-KW_SCHEMA: S C H E M A;
-KW_SCHEMAS: S C H E M A S;
-KW_GRANT: G R A N T;
-KW_REVOKE: R E V O K E;
-KW_SSL: S S L;
-KW_UNDO: U N D O;
-KW_LOCK: L O C K;
-KW_LOCKS: L O C K S;
-KW_UNLOCK: U N L O C K;
-KW_SHARED: S H A R E D;
-KW_EXCLUSIVE: E X C L U S I V E;
-KW_PROCEDURE: P R O C E D U R E;
-KW_UNSIGNED: U N S I G N E D;
-KW_WHILE: W H I L E;
-KW_READ: R E A D;
-KW_READS: R E A D S;
-KW_PURGE: P U R G E;
-KW_RANGE: R A N G E;
-KW_ANALYZE: A N A L Y Z E;
-KW_BEFORE: B E F O R E;
-KW_BETWEEN: B E T W E E N;
-KW_BOTH: B O T H;
-KW_BINARY: B I N A R Y;
-KW_CROSS: C R O S S;
-KW_CONTINUE: C O N T I N U E;
-KW_CURSOR: C U R S O R;
-KW_TRIGGER: T R I G G E R;
-KW_RECORDREADER: R E C O R D R E A D E R;
-KW_RECORDWRITER: R E C O R D W R I T E R;
-KW_SEMI: S E M I;
-KW_LATERAL: L A T E R A L;
-KW_TOUCH: T O U C H;
-KW_ARCHIVE: A R C H I V E;
-KW_UNARCHIVE: U N A R C H I V E;
-KW_COMPUTE: C O M P U T E;
-KW_STATISTICS: S T A T I S T I C S;
-KW_USE: U S E;
-KW_OPTIONS: O P T I O N S;
-KW_OPTION: O P T I O N;
-KW_CONCATENATE: C O N C A T E N A T E;
-KW_CATALOG: C A T A L O G;
-KW_SHOW_DATABASE: S H O W '_' D A T A B A S E;
-KW_UPDATE: U P D A T E;
-KW_RESTRICT: R E S T R I C T;
-KW_CASCADE: C A S C A D E;
-KW_SKEWED: S K E W E D;
-KW_ROLLUP: R O L L U P;
-KW_CUBE: C U B E;
-KW_DIRECTORIES: D I R E C T O R I E S;
-KW_FOR: F O R;
-KW_WINDOW: W I N D O W;
-KW_UNBOUNDED: U N B O U N D E D;
-KW_PRECEDING: P R E C E D I N G;
-KW_FOLLOWING: F O L L O W I N G;
-KW_CURRENT: C U R R E N T;
-KW_CURRENT_DATE: C U R R E N T '_' D A T E;
-KW_CURRENT_TIMESTAMP: C U R R E N T '_' T I M E S T A M P;
-KW_LESS: L E S S;
-KW_MORE: M O R E;
-KW_OVER: O V E R;
-KW_GROUPING: G R O U P I N G;
-KW_SETS: S E T S;
-KW_TRUNCATE: T R U N C A T E;
-KW_NOSCAN: N O S C A N;
-KW_USER: U S E R;
-KW_ROLE: R O L E;
-KW_ROLES: R O L E S;
-KW_INNER: I N N E R;
-KW_EXCHANGE: E X C H A N G E;
-KW_URI: U R I;
-KW_SERVER : S E R V E R;
-KW_ADMIN: A D M I N;
-KW_OWNER: O W N E R;
-KW_PRINCIPALS: P R I N C I P A L S;
-KW_COMPACT: C O M P A C T;
-KW_COMPACTIONS: C O M P A C T I O N S;
-KW_TRANSACTIONS: T R A N S A C T I O N S;
-KW_REWRITE : R E W R I T E;
-KW_AUTHORIZATION: A U T H O R I Z A T I O N;
-KW_REOPTIMIZATION: R E O P T I M I Z A T I O N;
-KW_CONF: C O N F;
-KW_VALUES: V A L U E S;
-KW_RELOAD: R E L O A D;
-KW_YEAR: Y E A R | Y E A R S;
-KW_QUERY: Q U E R Y;
-KW_QUARTER: Q U A R T E R;
-KW_MONTH: M O N T H | M O N T H S;
-KW_WEEK:W E E K | W E E K S;
-KW_DAY: D A Y | D A Y S;
-KW_DOW: D O W;
-KW_HOUR: H O U R | H O U R S;
-KW_MINUTE: M I N U T E | M I N U T E S;
-KW_SECOND: S E C O N D | S E C O N D S;
-KW_START: S T A R T;
-KW_TRANSACTION: T R A N S A C T I O N;
-KW_COMMIT: C O M M I T;
-KW_ROLLBACK: R O L L B A C K;
-KW_WORK: W O R K;
-KW_ONLY: O N L Y;
-KW_WRITE: W R I T E;
-KW_ISOLATION: I S O L A T I O N;
-KW_LEVEL: L E V E L;
-KW_SNAPSHOT: S N A P S H O T;
-KW_AUTOCOMMIT: A U T O C O M M I T;
-KW_CACHE: C A C H E;
-KW_PRIMARY: P R I M A R Y;
-KW_FOREIGN: F O R E I G N;
-KW_REFERENCES: R E F E R E N C E S;
-KW_CONSTRAINT: C O N S T R A I N T;
-KW_ENFORCED: E N F O R C E D;
-KW_VALIDATE: V A L I D A T E;
-KW_NOVALIDATE: N O V A L I D A T E;
-KW_RELY: R E L Y;
-KW_NORELY: N O R E L Y;
-KW_UNIQUE: U N I Q U E;
-KW_KEY: K E Y;
-KW_ABORT: A B O R T;
-KW_EXTRACT: E X T R A C T;
-KW_FLOOR: F L O O R;
-KW_MERGE: M E R G E;
-KW_MATCHED: M A T C H E D;
-KW_REPL: R E P L;
-KW_DUMP: D U M P;
-KW_STATUS: S T A T U S;
-KW_VECTORIZATION: V E C T O R I Z A T I O N;
-KW_SUMMARY: S U M M A R Y;
-KW_OPERATOR: O P E R A T O R;
-KW_EXPRESSION: E X P R E S S I O N;
-KW_DETAIL: D E T A I L;
-KW_WAIT: W A I T;
-KW_RESOURCE: R E S O U R C E;
-KW_PLAN: P L A N;
-KW_QUERY_PARALLELISM: Q U E R Y '_' P A R A L L E L I S M;
-KW_PLANS: P L A N S;
-KW_ACTIVATE: A C T I V A T E;
-KW_DEFAULT: D E F A U L T;
-KW_CHECK: C H E C K;
-KW_POOL: P O O L;
-KW_MOVE: M O V E;
-KW_DO: D O;
-KW_ALLOC_FRACTION: A L L O C '_' F R A C T I O N;
-KW_SCHEDULING_POLICY: S C H E D U L I N G '_' P O L I C Y;
-KW_PATH: P A T H ;
-KW_MAPPING: M A P P I N G;
-KW_WORKLOAD: W O R K L O A D;
-KW_MANAGEMENT: M A N A G E M E N T;
-KW_ACTIVE: A C T I V E;
-KW_MANAGED: M A N A G E D;
-KW_UNMANAGED: U N M A N A G E D;
-KW_APPLICATION: A P P L I C A T I O N;
-KW_SYNC: S Y N C;
-KW_SEQUENCEFILE: S E Q U E N C E F I L E;
-KW_TEXTFILE: T E X T F I L E;
-KW_RCFILE: R C F I L E;
-KW_ORC: O R C;
-KW_PARQUET: P A R Q U E T;
-KW_DELTA: D E L T A;
-KW_AVRO: A V R O;
-KW_CSV: C S V;
-KW_JSON: J S O N;
-KW_JSONFILE: J S O N F I L E;
-KW_BLOOMFILTER: B L O O M F I L T E R;
-KW_GENERATED: G E N E R A T E D;
-KW_ALWAYS: A L W A Y S;
-KW_IDENTITY: I D E N T I T Y;
-KW_INCREMENT: I N C R E M E N T;
-KW_SCHEDULE: S C H E D U L E;
-KW_REFRESH: R E F R E S H;
-KW_EVERY: E V E R Y;
-KW_CRON: C R O N;
-KW_AT: A T;
-KW_FILTER: F I L T E R;
-KW_STREAM: S T R E A M;
-KW_STREAMING: S T R E A M I N G;
-KW_MOST: M O S T;
-KW_EXPECT: E X P E C T;
-KW_VIOLATION: V I O L A T I O N;
-KW_FAIL: F A I L;
-// Operators
-// NOTE: if you add a new function/operator, add it to sysFuncNames so that describe function _FUNC_ will work.
-
-DOT : '.'; // generated as a part of Number rule
-COLON : ':' ;
-COMMA : ',' ;
-SEMICOLON : ';' ;
-
-LPAREN : '(' ;
-RPAREN : ')' ;
-LSQUARE : '[' ;
-RSQUARE : ']' ;
-LCURLY : '{';
-RCURLY : '}';
-
-EQUAL : '=' | '==';
-EQUAL_NS : '<=>';
-NOTEQUAL : '<>' | '!=';
-LESSTHANOREQUALTO : '<=';
-LESSTHAN : '<';
-GREATERTHANOREQUALTO : '>=';
-GREATERTHAN : '>';
-FAT_ARROW: '=>';
-
-DIVIDE : '/';
-PLUS : '+';
-MINUS : '-';
-STAR : '*';
-MOD : '%';
-DIV : 'DIV';
-
-AMPERSAND : '&';
-TILDE : '~';
-BITWISEOR : '|';
-CONCATENATE : '||';
-BITWISEXOR : '^';
-QUESTION : '?';
-DOLLAR : '$';
-
-// LITERALS
-fragment
-Letter
- : 'a'..'z' | 'A'..'Z'
- ;
-
-fragment
-HexDigit
- : 'a'..'f' | 'A'..'F'
- ;
-
-fragment
-Digit
- : '0'..'9'
- ;
-
-fragment
-Exponent
- : ('e' | 'E') ( PLUS|MINUS )? (Digit)+
- ;
-
-fragment
-RegexComponent
- : 'a'..'z' | 'A'..'Z' | '0'..'9' | '_'
- | PLUS | STAR | QUESTION | MINUS | DOT
- | LPAREN | RPAREN | LSQUARE | RSQUARE | LCURLY | RCURLY
- | BITWISEXOR | BITWISEOR | DOLLAR | '!'
- ;
-
-fragment A: [aA];
-fragment B: [bB];
-fragment C: [cC];
-fragment D: [dD];
-fragment E: [eE];
-fragment F: [fF];
-fragment G: [gG];
-fragment H: [hH];
-fragment I: [iI];
-fragment J: [jJ];
-fragment K: [kK];
-fragment L: [lL];
-fragment M: [mM];
-fragment N: [nN];
-fragment O: [oO];
-fragment P: [pP];
-fragment Q: [qQ];
-fragment R: [rR];
-fragment S: [sS];
-fragment T: [tT];
-fragment U: [uU];
-fragment V: [vV];
-fragment W: [wW];
-fragment X: [xX];
-fragment Y: [yY];
-fragment Z: [zZ];
-
-StringLiteral
- : ( '\'' ( ~('\''|'\\') | ('\\' .) )* '\''
- | '"' ( ~('"'|'\\') | ('\\' .) )* '"'
- )+
- ;
-
-CharSetLiteral
- : StringLiteral
- | '0' 'X' (HexDigit|Digit)+
- ;
-
-IntegralLiteral
- : (Digit)+ ('L' | 'S' | 'Y')
- ;
-
-NumberLiteral
- : Number ('D' | 'B' 'D')
- ;
-
-ByteLengthLiteral
- : (Digit)+ ('b' | 'B' | 'k' | 'K' | 'm' | 'M' | 'g' | 'G')
- ;
-
-Number
- : (Digit)+ ( DOT (Digit)* (Exponent)? | Exponent)?
- ;
-
-/*
-An Identifier can be:
-- tableName
-- columnName
-- select expr alias
-- lateral view aliases
-- database name
-- view name
-- subquery alias
-- function name
-- ptf argument identifier
-- index name
-- property name for: db,tbl,partition...
-- fileFormat
-- role name
-- privilege name
-- principal name
-- macro name
-- hint name
-- window name
-- _metadata
-*/
-Identifier
- : (Letter | Digit | '_')+
- | QuotedIdentifier /* though at the language level we allow all Identifiers to be QuotedIdentifiers;
- at the API level only columns are allowed to be of this form */
- | '`' RegexComponent+ '`'
- ;
-
-QuotedIdentifier
- :
- '`' ( '``' | ~('`') )* '`'
- ;
-
-CharSetName
- : '_' (Letter | Digit | '_' | '-' | '.' | ':' )+
- ;
-
-WS : (' '|'\r'|'\t'|'\n') -> channel(HIDDEN)
- ;
-
-LINE_COMMENT
- : '--' (~('\n'|'\r'))* -> channel(HIDDEN)
- ;
-
-/*
-QUERY_HINT有可能是一般注释,这时直接忽略。
-也有可能是查询注释,这时用原来的逻辑提取出来
-*/
-QUERY_HINT
- : SHOW_HINT
- | HIDDEN_HINT
- ;
-
-SHOW_HINT
- : '/*+' (QUERY_HINT | .)*? '*/' ->channel(HIDDEN)
- ;
-
-HIDDEN_HINT
- : '/*' (QUERY_HINT | .)*? '*/' -> channel(HIDDEN)
- ;
diff --git a/reverse_engineering/grammars/HiveParser.g4 b/reverse_engineering/grammars/HiveParser.g4
deleted file mode 100644
index d31c1be..0000000
--- a/reverse_engineering/grammars/HiveParser.g4
+++ /dev/null
@@ -1,1650 +0,0 @@
-/**
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- @author Canwei He
-*/
-parser grammar HiveParser;
-
-import SelectClauseParser, FromClauseParser, IdentifiersParser, ResourcePlanParser;
-
-options
-{
- tokenVocab=HiveLexer;
-}
-
-// starting rule
-statements
- : (statement statementSeparator? | empty)* EOF
- ;
-
-statementSeparator
- : SEMICOLON
- ;
-
-empty
- : statementSeparator
- ;
-
-statement
- : explainStatement
- | execStatement
- ;
-
-explainStatement
- : KW_EXPLAIN (
- explainOption* execStatement
- | KW_REWRITE queryStatementExpression
- )
- ;
-
-explainOption
- : KW_EXTENDED
- | KW_FORMATTED
- | KW_DEPENDENCY
- | KW_LOGICAL
- | KW_AUTHORIZATION
- | KW_ANALYZE
- | KW_REOPTIMIZATION
- | (KW_VECTORIZATION vectorizationOnly? vectorizatonDetail?)
- ;
-
-vectorizationOnly
- : KW_ONLY
- ;
-
-vectorizatonDetail
- : KW_SUMMARY
- | KW_OPERATOR
- | KW_EXPRESSION
- | KW_DETAIL
- ;
-
-execStatement
- : queryStatementExpression
- | loadStatement
- | exportStatement
- | importStatement
- | replDumpStatement
- | replLoadStatement
- | replStatusStatement
- | ddlStatement
- | deleteStatement
- | updateStatement
- | sqlTransactionStatement
- | mergeStatement
- ;
-
-loadStatement
- : KW_LOAD KW_DATA KW_LOCAL? KW_INPATH StringLiteral KW_OVERWRITE? KW_INTO KW_TABLE tableOrPartition inputFileFormat?
- ;
-
-replicationClause
- : KW_FOR KW_METADATA? KW_REPLICATION LPAREN StringLiteral RPAREN
- ;
-
-exportStatement
- : KW_EXPORT
- KW_TABLE tableOrPartition
- KW_TO StringLiteral
- replicationClause?
- ;
-
-importStatement
- : KW_IMPORT
- (KW_EXTERNAL? KW_TABLE tableOrPartition)?
- KW_FROM (path=StringLiteral)
- tableLocation?
- ;
-
-replDumpStatement
- : KW_REPL KW_DUMP
- identifier (DOT identifier)?
- (KW_FROM Number
- (KW_TO Number)?
- (KW_LIMIT Number)?
- )?
- (KW_WITH replConfigs)?
- ;
-
-replLoadStatement
- : KW_REPL KW_LOAD
- (identifier (DOT identifier)?)?
- KW_FROM StringLiteral
- (KW_WITH replConfigs)?
- ;
-
-replConfigs
- : LPAREN replConfigsList RPAREN
- ;
-
-replConfigsList
- : keyValueProperty (COMMA keyValueProperty)*
- ;
-
-replStatusStatement
- : KW_REPL KW_STATUS
- identifier (DOT identifier)?
- (KW_WITH replConfigs)?
- ;
-
-ddlStatement
- : switchCatalogStatement
- | createDatabaseStatement
- | switchDatabaseStatement
- | dropDatabaseStatement
- | createTableStatement
- | dropTableStatement
- | truncateTableStatement
- | unityTags
- | alterStatement
- | descStatement
- | showStatement
- | metastoreCheck
- | createViewStatement
- | createMaterializedViewStatement
- | dropViewStatement
- | dropMaterializedViewStatement
- | createFunctionStatement
- | createMacroStatement
- | dropFunctionStatement
- | reloadFunctionStatement
- | dropMacroStatement
- | analyzeStatement
- | lockStatement
- | unlockStatement
- | lockDatabase
- | unlockDatabase
- | createRoleStatement
- | dropRoleStatement
- | grantPrivileges
- | revokePrivileges
- | showGrants
- | showRoleGrants
- | showRolePrincipals
- | showRoles
- | grantRole
- | revokeRole
- | setRole
- | showCurrentRole
- | abortTransactionStatement
- | killQueryStatement
- | resourcePlanDdlStatements
- | createIndexStatement
- | dropIndexStatement
- | createBloomfilterIndexStatement
- | dropBloomfilterIndexStatement
- ;
-
-ifExists
- : KW_IF KW_EXISTS
- ;
-
-restrictOrCascade
- : KW_RESTRICT
- | KW_CASCADE
- ;
-
-ifNotExists
- : KW_IF KW_NOT KW_EXISTS
- ;
-
-rewriteEnabled
- : KW_ENABLE KW_REWRITE
- ;
-
-rewriteDisabled
- : KW_DISABLE KW_REWRITE
- ;
-
-storedAsDirs
- : KW_STORED KW_AS KW_DIRECTORIES
- ;
-
-orReplace
- : KW_OR KW_REPLACE
- ;
-
-orRefresh
- : KW_OR KW_REFRESH
- ;
-
-createDatabaseStatement
- : KW_CREATE (KW_DATABASE|KW_SCHEMA)
- ifNotExists?
- identifier
- databaseComment?
- dbLocation?
- (KW_WITH KW_DBPROPERTIES dbProperties)?
- ;
-
-dbLocation
- : KW_MANAGED KW_LOCATION StringLiteral
- | KW_LOCATION StringLiteral
- ;
-
-dbProperties
- :
- LPAREN dbPropertiesList RPAREN
- ;
-
-dbPropertiesList
- :
- keyValueProperty (COMMA keyValueProperty)*
- ;
-
-switchCatalogStatement
- : KW_USE KW_CATALOG identifier
- ;
-switchDatabaseStatement
- : KW_USE identifier
- ;
-
-dropDatabaseStatement
- : KW_DROP (KW_DATABASE|KW_SCHEMA) ifExists? identifier restrictOrCascade?
- ;
-
-databaseComment
-
- : KW_COMMENT StringLiteral
- ;
-
-createTableStatement
- : KW_CREATE orRefresh? KW_TEMPORARY? KW_EXTERNAL? KW_STREAMING? KW_TABLE ifNotExists? tableName
- ( KW_LIKE tableName
- tableRowFormat?
- tableFileFormat?
- tableUsingDataSource?
- tableLocation?
- tablePropertiesPrefixed?
- tableOptions?
- | (LPAREN columnNameTypeOrConstraintList RPAREN)?
- ( tableUsingDataSource
- | tableBuckets
- | tableSkewed
- | tableRowFormat
- | tableFileFormat
- | tablePartition
- | tableLocation
- | tablePropertiesPrefixed
- | tableOptions
- | tableComment
- | clusterByClause
- | scheduleClause
- | rowClause
- | triggerOnUpdateClause
- )*
- (KW_AS selectStatementWithCTE)?
- )
- ;
-
-
-truncateTableStatement
- : KW_TRUNCATE KW_TABLE tablePartitionPrefix (KW_COLUMNS LPAREN columnNameList RPAREN)?;
-
-dropTableStatement
- : KW_DROP KW_TABLE ifExists? tableName KW_PURGE? replicationClause?
- ;
-
-tagValue
- : EQUAL StringLiteral
- ;
-
-tagsPair
- : StringLiteral tagValue?
- ;
-
-unityTags
- : KW_ALTER (KW_CATALOG | KW_SCHEMA | KW_TABLE | KW_VIEW) tableName KW_AS? (KW_ALTER KW_COLUMN identifier)? KW_SET KW_TAGS LPAREN tagsPair (COMMA tagsPair)* RPAREN
- ;
-
-alterStatement
- : KW_ALTER KW_TABLE tableName alterTableStatementSuffix
- | KW_ALTER KW_VIEW tableName KW_AS? alterViewStatementSuffix
- | KW_ALTER KW_MATERIALIZED KW_VIEW tableName alterMaterializedViewStatementSuffix
- | KW_ALTER (KW_DATABASE|KW_SCHEMA) alterDatabaseStatementSuffix
- | KW_ALTER KW_INDEX alterIndexStatementSuffix
- ;
-
-alterTableStatementSuffix
- : alterStatementSuffixRename
- | alterStatementSuffixDropPartitions
- | alterStatementSuffixAddPartitions
- | alterStatementSuffixTouch
- | alterStatementSuffixArchive
- | alterStatementSuffixUnArchive
- | alterStatementSuffixProperties
- | alterStatementSuffixSkewedby
- | alterStatementSuffixExchangePartition
- | alterStatementPartitionKeyType
- | alterStatementSuffixDropConstraint
- | alterStatementSuffixAddConstraint
- | partitionSpec? alterTblPartitionStatementSuffix
- | alterStatementSuffixSetOwner
- ;
-
-alterTblPartitionStatementSuffix
- : alterStatementSuffixFileFormat
- | alterStatementSuffixLocation
- | alterStatementSuffixMergeFiles
- | alterStatementSuffixSerdeProperties
- | alterStatementSuffixRenamePart
- | alterStatementSuffixBucketNum
- | alterTblPartitionStatementSuffixSkewedLocation
- | alterStatementSuffixClusterbySortby
- | alterStatementSuffixCompact
- | alterStatementSuffixUpdateStatsCol
- | alterStatementSuffixUpdateStats
- | alterStatementSuffixRenameCol
- | alterStatementSuffixAddCol
- | alterStatementSuffixUpdateColumns
- | alterStatementSuffixClusterBy
- ;
-
-alterStatementPartitionKeyType
- : KW_PARTITION KW_COLUMN LPAREN columnNameType RPAREN
- ;
-
-alterViewStatementSuffix
- : alterViewSuffixProperties
- | alterStatementSuffixRename
- | alterStatementSuffixAddPartitions
- | alterStatementSuffixDropPartitions
- | selectStatementWithCTE
- ;
-
-alterMaterializedViewStatementSuffix
- : alterMaterializedViewSuffixRewrite
- | alterMaterializedViewSuffixRebuild
- ;
-
-alterDatabaseStatementSuffix
- : alterDatabaseSuffixProperties
- | alterDatabaseSuffixSetOwner
- | alterDatabaseSuffixSetLocation
- ;
-
-alterDatabaseSuffixProperties
- : identifier KW_SET KW_DBPROPERTIES dbProperties
- ;
-
-alterDatabaseSuffixSetOwner
- : identifier KW_SET KW_OWNER principalName
- ;
-
-alterDatabaseSuffixSetLocation
- : identifier KW_SET KW_LOCATION StringLiteral
- ;
-
-alterStatementSuffixRename
- : KW_RENAME KW_TO tableName
- ;
-
-alterStatementSuffixAddCol
- : (KW_ADD | KW_REPLACE) KW_COLUMNS LPAREN columnNameTypeList RPAREN restrictOrCascade?
- ;
-
-alterStatementSuffixAddConstraint
- : KW_ADD (alterForeignKeyWithName | alterConstraintWithName)
- ;
-
-alterStatementSuffixUpdateColumns
- : KW_UPDATE KW_COLUMNS restrictOrCascade?
- ;
-
-alterStatementSuffixDropConstraint
- : KW_DROP KW_CONSTRAINT identifier
- ;
-
-alterStatementSuffixRenameCol
- : KW_CHANGE KW_COLUMN? identifier identifier colType alterColumnConstraint? (KW_COMMENT StringLiteral)? alterStatementChangeColPosition? restrictOrCascade?
- ;
-
-alterStatementSuffixUpdateStatsCol
- : KW_UPDATE KW_STATISTICS KW_FOR KW_COLUMN? identifier KW_SET tableProperties (KW_COMMENT StringLiteral)?
- ;
-
-alterStatementSuffixUpdateStats
- : KW_UPDATE KW_STATISTICS KW_SET tableProperties
- ;
-
-alterStatementChangeColPosition
- : first=KW_FIRST|KW_AFTER identifier
- ;
-
-alterStatementSuffixAddPartitions
- : KW_ADD ifNotExists? alterStatementSuffixAddPartitionsElement+
- ;
-
-alterStatementSuffixAddPartitionsElement
- : partitionSpec partitionLocation?
- ;
-
-alterStatementSuffixTouch
- : KW_TOUCH partitionSpec*
- ;
-
-alterStatementSuffixArchive
- : KW_ARCHIVE partitionSpec*
- ;
-
-alterStatementSuffixUnArchive
- : KW_UNARCHIVE partitionSpec*
- ;
-
-partitionLocation
- : KW_LOCATION StringLiteral
- ;
-
-alterStatementSuffixDropPartitions
- : KW_DROP ifExists? dropPartitionSpec (COMMA dropPartitionSpec)* KW_PURGE? replicationClause?
- ;
-
-alterStatementSuffixProperties
- : KW_SET KW_TBLPROPERTIES tableProperties
- | KW_UNSET KW_TBLPROPERTIES ifExists? tableProperties
- ;
-
-alterViewSuffixProperties
- : KW_SET KW_TBLPROPERTIES tableProperties
- | KW_UNSET KW_TBLPROPERTIES ifExists? tableProperties
- ;
-
-alterMaterializedViewSuffixRewrite
- : (rewriteEnabled | rewriteDisabled)
- ;
-
-alterMaterializedViewSuffixRebuild
- : KW_REBUILD
- ;
-
-alterStatementSuffixSerdeProperties
- : KW_SET KW_SERDE StringLiteral (KW_WITH KW_SERDEPROPERTIES tableProperties)?
- | KW_SET KW_SERDEPROPERTIES tableProperties
- ;
-
-alterIndexStatementSuffix
- : identifier KW_ON tableName
- partitionSpec?
- KW_REBUILD;
-
-alterStatementSuffixFileFormat
- : KW_SET KW_FILEFORMAT fileFormat
- ;
-
-alterStatementSuffixClusterbySortby
- : KW_NOT KW_CLUSTERED
- | KW_NOT KW_SORTED
- | tableBuckets
- ;
-
-alterStatementSuffixClusterBy
- : clusterByClause
- | KW_CLUSTER KW_BY KW_NONE
- ;
-
-alterTblPartitionStatementSuffixSkewedLocation
- : KW_SET KW_SKEWED KW_LOCATION skewedLocations
- ;
-
-skewedLocations
- : LPAREN skewedLocationsList RPAREN
- ;
-
-skewedLocationsList
- : skewedLocationMap (COMMA skewedLocationMap)*
- ;
-
-skewedLocationMap
- : skewedValueLocationElement EQUAL StringLiteral
- ;
-
-alterStatementSuffixLocation
- : KW_SET KW_LOCATION StringLiteral
- ;
-
-
-alterStatementSuffixSkewedby
- : tableSkewed
- | KW_NOT KW_SKEWED
- | KW_NOT storedAsDirs
- ;
-
-alterStatementSuffixExchangePartition
- : KW_EXCHANGE partitionSpec KW_WITH KW_TABLE tableName
- ;
-
-alterStatementSuffixRenamePart
- : KW_RENAME KW_TO partitionSpec
- ;
-
-alterStatementSuffixStatsPart
- : KW_UPDATE KW_STATISTICS KW_FOR KW_COLUMN? identifier KW_SET tableProperties (KW_COMMENT StringLiteral)?
- ;
-
-alterStatementSuffixMergeFiles
- : KW_CONCATENATE
- ;
-
-alterStatementSuffixBucketNum
- : KW_INTO Number KW_BUCKETS
- ;
-
-createIndexStatement
- : createIndexMainStatement
- (KW_WITH KW_DEFERRED KW_REBUILD)?
- (KW_IDXPROPERTIES tableProperties)?
- (KW_IN KW_TABLE tableName)?
- (KW_PARTITIONED KW_BY columnParenthesesList)?
- (tableRowFormat? tableFileFormat)?
- (KW_LOCATION poolPath)?
- tablePropertiesPrefixed?
- tableComment?;
-
-createIndexMainStatement
- : KW_CREATE KW_INDEX identifier KW_ON KW_TABLE tableName columnParenthesesList KW_AS StringLiteral
- ;
-
-dropIndexStatement
- : KW_DROP KW_INDEX identifier KW_ON tableName;
-
-createBloomfilterIndexStatement
- : createBloomfilterIndexMainStatement
- (KW_FOR KW_COLUMNS bloomfilterColumnParenthesesList)?
- bloomfilterIndexOptions?
- ;
-
-createBloomfilterIndexMainStatement
- : KW_CREATE KW_BLOOMFILTER KW_INDEX KW_ON KW_TABLE? tableName
- ;
-
-bloomfilterColumnParenthesesList
- : LPAREN bloomfilterColumnNameList RPAREN
- ;
-
-bloomfilterColumnNameList
- : bloomfilterColumnName (COMMA bloomfilterColumnName)*
- ;
-
-bloomfilterColumnName
- : identifier bloomfilterIndexOptions?
- ;
-
-bloomfilterIndexOptions
- : KW_OPTIONS tableProperties
- ;
-
-dropBloomfilterIndexStatement
- : dropBloomfilterIndexMainStatement
- (KW_FOR KW_COLUMNS bloomfilterColumnParenthesesList)?
- ;
-
-dropBloomfilterIndexMainStatement
- : KW_DROP KW_BLOOMFILTER KW_INDEX KW_ON KW_TABLE? tableName
- ;
-
-tablePartitionPrefix
- : tableName partitionSpec?
- ;
-
-blocking
- : KW_AND KW_WAIT
- ;
-
-alterStatementSuffixCompact
- : KW_COMPACT StringLiteral blocking? (KW_WITH KW_OVERWRITE KW_TBLPROPERTIES tableProperties)?
- ;
-
-alterStatementSuffixSetOwner
- : KW_SET KW_OWNER principalName
- ;
-
-fileFormat
- : KW_INPUTFORMAT StringLiteral KW_OUTPUTFORMAT StringLiteral KW_SERDE StringLiteral (KW_INPUTDRIVER StringLiteral KW_OUTPUTDRIVER StringLiteral)?
- | tableFileFormatStoredAsFormat
- ;
-
-inputFileFormat
- : KW_INPUTFORMAT StringLiteral KW_SERDE StringLiteral
- ;
-
-tabTypeExpr
- : identifier (DOT identifier)?
- ( identifier (DOT
- ( KW_ELEM_TYPE
- | KW_KEY_TYPE
- | KW_VALUE_TYPE
- | identifier )
- )*
- )?
- ;
-
-partTypeExpr
- : tabTypeExpr partitionSpec?
- ;
-
-tabPartColTypeExpr
- : tableName partitionSpec? extColumnName?
- ;
-
-descStatement
- : (KW_DESCRIBE|KW_DESC)
- (
- (KW_DATABASE|KW_SCHEMA) KW_EXTENDED? identifier
- | KW_FUNCTION KW_EXTENDED? descFuncNames
- | ((KW_FORMATTED|KW_EXTENDED) tabPartColTypeExpr)
- | tabPartColTypeExpr
- )
- ;
-
-analyzeStatement
- : KW_ANALYZE KW_TABLE (tableOrPartition)
- ( KW_COMPUTE KW_STATISTICS (KW_NOSCAN | (KW_FOR KW_COLUMNS columnNameList?))?
- | KW_CACHE KW_METADATA
- )
- ;
-
-showStatement
- : KW_SHOW (KW_DATABASES|KW_SCHEMAS) (KW_LIKE showStmtIdentifier)?
- | KW_SHOW KW_TABLES ((KW_FROM|KW_IN) identifier)? (KW_LIKE showStmtIdentifier|showStmtIdentifier)?
- | KW_SHOW KW_VIEWS ((KW_FROM|KW_IN) identifier)? (KW_LIKE showStmtIdentifier|showStmtIdentifier)?
- | KW_SHOW KW_MATERIALIZED KW_VIEWS ((KW_FROM|KW_IN) identifier)? (KW_LIKE showStmtIdentifier|showStmtIdentifier)?
- | KW_SHOW KW_COLUMNS (KW_FROM|KW_IN) tableName ((KW_FROM|KW_IN) identifier)? (KW_LIKE showStmtIdentifier|showStmtIdentifier)?
- | KW_SHOW KW_FUNCTIONS (KW_LIKE showFunctionIdentifier|showFunctionIdentifier)?
- | KW_SHOW KW_PARTITIONS tableName partitionSpec?
- | KW_SHOW KW_CREATE (
- (KW_DATABASE|KW_SCHEMA) identifier
- |
- KW_TABLE tableName
- )
- | KW_SHOW KW_TABLE KW_EXTENDED ((KW_FROM|KW_IN) identifier)? KW_LIKE showStmtIdentifier partitionSpec?
- | KW_SHOW KW_TBLPROPERTIES tableName (LPAREN StringLiteral RPAREN)?
- | KW_SHOW KW_LOCKS
- (
- (KW_DATABASE|KW_SCHEMA) identifier KW_EXTENDED?
- |
- partTypeExpr? KW_EXTENDED?
- )
- | KW_SHOW KW_COMPACTIONS
- | KW_SHOW KW_TRANSACTIONS
- | KW_SHOW KW_CONF StringLiteral
- | KW_SHOW KW_RESOURCE
- (
- (KW_PLAN identifier)
- | KW_PLANS
- )
- ;
-
-lockStatement
- : KW_LOCK KW_TABLE tableName partitionSpec? lockMode
- ;
-
-lockDatabase
- : KW_LOCK (KW_DATABASE|KW_SCHEMA) identifier lockMode
- ;
-
-lockMode
- : KW_SHARED | KW_EXCLUSIVE
- ;
-
-unlockStatement
- : KW_UNLOCK KW_TABLE tableName partitionSpec?
- ;
-
-unlockDatabase
- : KW_UNLOCK (KW_DATABASE|KW_SCHEMA) identifier
- ;
-
-createRoleStatement
- : KW_CREATE KW_ROLE identifier
- ;
-
-dropRoleStatement
- : KW_DROP KW_ROLE identifier
- ;
-
-grantPrivileges
- : KW_GRANT privilegeList
- privilegeObject?
- KW_TO principalSpecification
- withGrantOption?
- ;
-
-revokePrivileges
- : KW_REVOKE grantOptionFor? privilegeList privilegeObject? KW_FROM principalSpecification
- ;
-
-grantRole
- : KW_GRANT KW_ROLE? identifier (COMMA identifier)* KW_TO principalSpecification withAdminOption?
- ;
-
-revokeRole
- : KW_REVOKE adminOptionFor? KW_ROLE? identifier (COMMA identifier)* KW_FROM principalSpecification
- ;
-
-showRoleGrants
- : KW_SHOW KW_ROLE KW_GRANT principalName
- ;
-
-
-showRoles
- : KW_SHOW KW_ROLES
- ;
-
-showCurrentRole
- : KW_SHOW KW_CURRENT KW_ROLES
- ;
-
-setRole
- : KW_SET KW_ROLE
- (
- KW_ALL
- |
- KW_NONE
- |
- identifier
- )
- ;
-
-showGrants
- : KW_SHOW KW_GRANT principalName? (KW_ON privilegeIncludeColObject)?
- ;
-
-showRolePrincipals
- : KW_SHOW KW_PRINCIPALS identifier
- ;
-
-
-privilegeIncludeColObject
- : KW_ALL
- | privObjectCols
- ;
-
-privilegeObject
- : KW_ON privObject
- ;
-
-// database or table type. Type is optional, default type is table
-privObject
- : (KW_DATABASE|KW_SCHEMA) identifier
- | KW_TABLE? tableName partitionSpec?
- | KW_URI StringLiteral
- | KW_SERVER identifier
- ;
-
-privObjectCols
- : (KW_DATABASE|KW_SCHEMA) identifier
- | KW_TABLE? tableName (LPAREN columnNameList RPAREN)? partitionSpec?
- | KW_URI StringLiteral
- | KW_SERVER identifier
- ;
-
-privilegeList
- : privlegeDef (COMMA privlegeDef)*
- ;
-
-privlegeDef
- : privilegeType (LPAREN columnNameList RPAREN)?
- ;
-
-privilegeType
- : KW_ALL
- | KW_ALTER
- | KW_UPDATE
- | KW_CREATE
- | KW_DROP
- | KW_LOCK
- | KW_SELECT
- | KW_SHOW_DATABASE
- | KW_INSERT
- | KW_DELETE
- ;
-
-principalSpecification
- : principalName (COMMA principalName)*
- ;
-
-principalName
- : KW_USER principalIdentifier
- | KW_GROUP principalIdentifier
- | KW_ROLE identifier
- ;
-
-withGrantOption
- : KW_WITH KW_GRANT KW_OPTION
- ;
-
-grantOptionFor
- : KW_GRANT KW_OPTION KW_FOR
-;
-
-adminOptionFor
- : KW_ADMIN KW_OPTION KW_FOR
-;
-
-withAdminOption
- : KW_WITH KW_ADMIN KW_OPTION
- ;
-
-metastoreCheck
- : KW_MSCK KW_REPAIR?
- (KW_TABLE tableName
- ((KW_ADD | KW_DROP | KW_SYNC) KW_PARTITIONS)? |
- partitionSpec?)
- ;
-
-resourceList
- :
- resource (COMMA resource)*
- ;
-
-resource
- : resourceType StringLiteral
- ;
-
-resourceType
- : KW_JAR
- | KW_FILE
- | KW_ARCHIVE
- ;
-
-createFunctionStatement
- : KW_CREATE KW_TEMPORARY? KW_FUNCTION functionIdentifier KW_AS StringLiteral
- (KW_USING resourceList)?
- ;
-
-dropFunctionStatement
- : KW_DROP KW_TEMPORARY? KW_FUNCTION ifExists? functionIdentifier
- ;
-
-reloadFunctionStatement
- : KW_RELOAD KW_FUNCTION
- ;
-
-createMacroStatement
- : KW_CREATE KW_TEMPORARY KW_MACRO Identifier
- LPAREN columnNameTypeList? RPAREN expression
- ;
-
-dropMacroStatement
- : KW_DROP KW_TEMPORARY KW_MACRO ifExists? Identifier
- ;
-
-createViewStatement
- : KW_CREATE orReplace? KW_VIEW ifNotExists? tableName
- (LPAREN columnNameCommentList RPAREN)? tableComment? viewPartition?
- tablePropertiesPrefixed?
- KW_AS
- selectStatementWithCTE
- ;
-
-createMaterializedViewStatement
- : KW_CREATE orReplace? KW_MATERIALIZED KW_VIEW ifNotExists? tableName
- (LPAREN (columnNameCommentList | columnNameTypeOrConstraintList) RPAREN)?
- materializedViewClause* KW_AS selectStatementWithCTE
- ;
-
-materializedViewClause
- : tableComment
- | tableRowFormat
- | tableFileFormat
- | tableLocation
- | tablePropertiesPrefixed
- | tablePartition
- | tableComment
- | clusterByClause
- | rewriteDisabled
- | scheduleClause
- | rowClause
- ;
-
-scheduleClause
- : KW_SCHEDULE KW_REFRESH? KW_EVERY Number (KW_HOUR | KW_DAY | KW_WEEK)
- | KW_SCHEDULE KW_REFRESH? KW_CRON StringLiteral (KW_AT KW_TIME KW_ZONE timeZoneValue)?
- ;
-
-timeZoneValue
- : identifier
- | StringLiteral
- ;
-
-rowClause
- : KW_WITH? KW_ROW KW_FILTER functionIdentifier (KW_ON LPAREN identifier (COMMA identifier)* RPAREN)?
- ;
-
-triggerOnUpdateClause
- : KW_TRIGGER KW_ON KW_UPDATE (KW_AT KW_MOST KW_EVERY intervalClause)?
- ;
-
-intervalClause
- : KW_INTERVAL Number? intervalQualifier
- ;
-
-intervalQualifier
- : KW_YEAR (KW_TO KW_MONTH)?
- | KW_MONTH
- | KW_DAY (KW_TO (KW_HOUR | KW_MINUTE | KW_SECOND))?
- | KW_HOUR (KW_TO (KW_MINUTE | KW_SECOND))?
- | KW_MINUTE (KW_TO KW_SECOND)?
- | KW_SECOND
- ;
-
-viewPartition
- : KW_PARTITIONED KW_ON LPAREN columnNameList RPAREN
- ;
-
-dropViewStatement
- : KW_DROP KW_VIEW ifExists? viewName
- ;
-
-dropMaterializedViewStatement
- : KW_DROP KW_MATERIALIZED KW_VIEW ifExists? viewName
- ;
-
-showFunctionIdentifier
- : functionIdentifier
- | StringLiteral
- ;
-
-showStmtIdentifier
- : identifier
- | StringLiteral
- ;
-
-tableComment
- : KW_COMMENT StringLiteral
- ;
-
-tableUsingDataSource
- : KW_USING tableDataSource
- ;
-
-tableDataSource
- : KW_AVRO
- | KW_CSV
- | KW_JSON
- | KW_PARQUET
- | KW_ORC
- | KW_DELTA
- ;
-
-tablePartition
- : KW_PARTITIONED KW_BY LPAREN partitionedColumnNameTypeConstraint (COMMA partitionedColumnNameTypeConstraint)* RPAREN
- ;
-
-tableBuckets
- : KW_CLUSTERED KW_BY LPAREN columnNameList RPAREN (KW_SORTED KW_BY LPAREN columnNameOrderList RPAREN)? KW_INTO Number KW_BUCKETS
- ;
-
-tableSkewed
- : KW_SKEWED KW_BY LPAREN columnNameList RPAREN KW_ON LPAREN skewedValueElement RPAREN storedAsDirs?
- ;
-
-rowFormat
- : rowFormatSerde
- | rowFormatDelimited
- ;
-
-recordReader
- : KW_RECORDREADER StringLiteral
- ;
-
-recordWriter
- : KW_RECORDWRITER StringLiteral
- ;
-
-rowFormatSerde
- : KW_ROW KW_FORMAT KW_SERDE StringLiteral (KW_WITH KW_SERDEPROPERTIES tableProperties)?
- ;
-
-rowFormatDelimited
- : KW_ROW KW_FORMAT KW_DELIMITED tableRowFormatFieldIdentifier? tableRowFormatCollItemsIdentifier? tableRowFormatMapKeysIdentifier? tableRowFormatLinesIdentifier? tableRowNullFormat?
- ;
-
-tableRowFormat
- : rowFormatDelimited
- | rowFormatSerde
- ;
-
-tableOptions
- : KW_OPTIONS tableProperties
- ;
-
-tablePropertiesPrefixed
- : KW_TBLPROPERTIES tableProperties
- ;
-
-tableProperties
- : LPAREN tablePropertiesList RPAREN
- ;
-
-tablePropertiesList
- : keyValueProperty (COMMA keyValueProperty)*
- | keyProperty (COMMA keyProperty)*
- ;
-
-keyValueProperty
- : keyProperty EQUAL? keyValue
- ;
-
-keyValue
- : Number
- | booleanValue
- | StringLiteral
- ;
-
-keyProperty
- : identifier (DOT identifier)*
- | StringLiteral
- ;
-
-tableRowFormatFieldIdentifier
- : KW_FIELDS KW_TERMINATED KW_BY StringLiteral tableRowFormatFieldIdentifierEcapedBy?
- ;
-
-tableRowFormatFieldIdentifierEcapedBy
- : KW_ESCAPED KW_BY StringLiteral
- ;
-
-tableRowFormatCollItemsIdentifier
- : KW_COLLECTION KW_ITEMS KW_TERMINATED KW_BY StringLiteral
- ;
-
-tableRowFormatMapKeysIdentifier
- : KW_MAP KW_KEYS KW_TERMINATED KW_BY StringLiteral
- ;
-
-tableRowFormatLinesIdentifier
- : KW_LINES KW_TERMINATED KW_BY StringLiteral
- ;
-
-tableRowNullFormat
- : KW_NULL KW_DEFINED KW_AS StringLiteral
- ;
-tableFileFormat
- : tableInputOutputFileFormat
- | tableFileFormatStoredBy
- | tableFileFormatStoredAs
- ;
-
-tableFileFormatStoredBy
- : KW_STORED KW_BY StringLiteral (KW_WITH KW_SERDEPROPERTIES tableProperties)?
- ;
-
-tableFileFormatStoredAs
- : KW_STORED KW_AS tableFileFormatStoredAsFormat
- ;
-
-tableFileFormatStoredAsFormat
- : KW_SEQUENCEFILE
- | KW_TEXTFILE
- | KW_RCFILE
- | KW_ORC
- | KW_PARQUET
- | KW_AVRO
- | KW_JSONFILE
- ;
-
-tableInputOutputFileFormat
- : KW_STORED KW_AS tableInputLiteral tableOutputLiteral (KW_INPUTDRIVER StringLiteral KW_OUTPUTDRIVER StringLiteral)?
- ;
-
-tableInputLiteral
- : KW_INPUTFORMAT StringLiteral
- ;
-
-tableOutputLiteral
- : KW_OUTPUTFORMAT StringLiteral
- ;
-
-tableLocation
- : KW_LOCATION StringLiteral
- ;
-
-columnNameTypeList
- : columnNameType (COMMA columnNameType)*
- ;
-
-columnNameTypeOrConstraintList
- : columnNameTypeOrConstraint (COMMA columnNameTypeOrConstraint)*
- ;
-
-columnNameColonTypeList
- : columnNameColonType (COMMA columnNameColonType)*
- ;
-
-columnNameList
- : columnName (COMMA columnName)*
- ;
-
-columnName
- : identifier
- ;
-
-extColumnName
- : identifier (DOT (KW_ELEM_TYPE | KW_KEY_TYPE | KW_VALUE_TYPE | identifier))*
- ;
-
-columnNameOrderList
- : columnNameOrder (COMMA columnNameOrder)*
- ;
-
-columnParenthesesList
- : LPAREN columnNameList RPAREN
- ;
-
-enableValidateSpecification
- : enableSpecification validateSpecification?
- | enforcedSpecification
- ;
-
-enableSpecification
- : KW_ENABLE
- | KW_DISABLE
- ;
-
-validateSpecification
- : KW_VALIDATE
- | KW_NOVALIDATE
- ;
-
-enforcedSpecification
- : KW_ENFORCED
- | KW_NOT KW_ENFORCED
- ;
-
-relySpecification
- : KW_RELY
- | (KW_NORELY)?
- ;
-
-createConstraint
- : (KW_CONSTRAINT identifier)? tableLevelConstraint constraintOptsCreate?
- ;
-
-alterConstraintWithName
- : KW_CONSTRAINT identifier tableLevelConstraint constraintOptsAlter?
- ;
-
-tableLevelConstraint
- : pkUkConstraint
- | checkConstraint
- | expectConstraint
- | createForeignKey
- ;
-
-pkUkConstraint
- : tableConstraintType pkCols=columnParenthesesList
- ;
-
-checkConstraint
- : KW_CHECK expression
- ;
-
-expectConstraint
- : KW_EXPECT LPAREN expression RPAREN (KW_ON KW_VIOLATION (KW_FAIL KW_UPDATE | KW_DROP KW_ROW))?
- ;
-
-createForeignKey
- : (KW_CONSTRAINT identifier)? KW_FOREIGN KW_KEY columnParenthesesList KW_REFERENCES tableName columnParenthesesList constraintOptsCreate?
- ;
-
-alterForeignKeyWithName
- : KW_CONSTRAINT identifier KW_FOREIGN KW_KEY columnParenthesesList KW_REFERENCES tableName columnParenthesesList constraintOptsAlter?
- ;
-
-skewedValueElement
- : skewedColumnValues
- | skewedColumnValuePairList
- ;
-
-skewedColumnValuePairList
- : skewedColumnValuePair (COMMA skewedColumnValuePair)*
- ;
-
-skewedColumnValuePair
- : LPAREN skewedColumnValues RPAREN
- ;
-
-skewedColumnValues
- : skewedColumnValue (COMMA skewedColumnValue)*
- ;
-
-skewedColumnValue
- : constant
- ;
-
-skewedValueLocationElement
- : skewedColumnValue
- | skewedColumnValuePair
- ;
-
-orderSpecification
- : KW_ASC
- | KW_DESC
- ;
-
-nullOrdering
- : KW_NULLS KW_FIRST
- | KW_NULLS KW_LAST
- ;
-
-columnNameOrder
- : identifier orderSpecification? nullOrdering?
- ;
-
-columnNameCommentList
- : columnNameComment (COMMA columnNameComment)*
- ;
-
-columnNameComment
- : identifier (KW_COMMENT StringLiteral)?
- ;
-
-columnRefOrder
- : expression orderSpecification? nullOrdering?
- ;
-
-columnNameType
- : identifier colType (KW_COMMENT StringLiteral)?
- ;
-
-columnNameTypeOrConstraint
- : ( tableConstraint )
- | ( columnNameTypeConstraint )
- ;
-
-tableConstraint
- : ( createForeignKey )
- | ( createConstraint )
- ;
-
-columnNameTypeConstraint
- : identifier colType columnConstraint*
- ;
-
-columnGeneratedAs
- : KW_GENERATED ( generatedAsExpression | generatedAsIdentity )
- ;
-
-generatedAsExpression
- : KW_ALWAYS KW_AS LPAREN expression RPAREN
- ;
-
-generatedAsIdentity
- : (KW_ALWAYS | KW_BY KW_DEFAULT) KW_AS KW_IDENTITY (LPAREN identityOptions RPAREN)?
- ;
-
-identityOptions
- : startWith? incrementBy?
- ;
-
-startWith
- : KW_START KW_WITH Number
- ;
-
-incrementBy
- : KW_INCREMENT KW_BY Number
- ;
-
-partitionedColumnNameTypeConstraint
- : identifier colType?
- ;
-
-columnConstraint
- : ( foreignKeyConstraint )
- | ( colConstraint )
- ;
-
-foreignKeyConstraint
- : (KW_CONSTRAINT identifier)? KW_REFERENCES tableName LPAREN columnName RPAREN constraintOptsCreate?
- ;
-
-colConstraint
- : (KW_CONSTRAINT identifier)? columnConstraintType columnConstraintType* constraintOptsCreate?
- ;
-
-alterColumnConstraint
- : ( alterForeignKeyConstraint )
- | ( alterColConstraint )
- ;
-
-alterForeignKeyConstraint
- : (KW_CONSTRAINT identifier)? KW_REFERENCES tableName LPAREN columnName RPAREN constraintOptsAlter?
- ;
-
-alterColConstraint
- : (KW_CONSTRAINT identifier)? columnConstraintType constraintOptsAlter?
- ;
-
-columnConstraintType
- : KW_NOT KW_NULL
- | KW_DEFAULT defaultVal
- | columnGeneratedAs
- | checkConstraint
- | tableConstraintType
- | KW_COMMENT StringLiteral
- | KW_MASK functionIdentifier
- ;
-
-defaultVal
- : constant
- | functionStatement
- | castExpression
- | identifier
- ;
-
-tableConstraintType
- : KW_PRIMARY KW_KEY
- | KW_UNIQUE
- ;
-
-constraintOptsCreate
- : enableValidateSpecification? relySpecification
- ;
-
-constraintOptsAlter
- : enableValidateSpecification? relySpecification
- ;
-
-columnNameColonType
- : identifier COLON colType (KW_COMMENT StringLiteral)?
- ;
-
-colType
- : type_db_col
- ;
-
-colTypeList
- : colType (COMMA colType)*
- ;
-
-type_db_col
- : primitiveType
- | listType
- | structType
- | mapType
- | unionType
- ;
-
-primitiveType
- : KW_TINYINT
- | KW_SMALLINT
- | KW_INT
- | KW_BIGINT
- | KW_BOOLEAN
- | KW_FLOAT
- | KW_DOUBLE KW_PRECISION?
- | KW_DATE
- | KW_DATETIME
- | KW_TIMESTAMP
- | KW_TIMESTAMP_NTZ
- | KW_TIMESTAMPLOCALTZ
- | KW_TIMESTAMP KW_WITH KW_LOCAL KW_TIME KW_ZONE
- | KW_STRING
- | KW_BINARY
- | KW_DECIMAL (LPAREN Number (COMMA Number)? RPAREN)?
- | KW_VARCHAR LPAREN Number RPAREN
- | KW_CHAR LPAREN Number RPAREN
- | KW_VARIANT
- ;
-
-listType
- : KW_ARRAY LESSTHAN type_db_col GREATERTHAN
- ;
-
-structType
- : KW_STRUCT LESSTHAN columnNameColonTypeList GREATERTHAN
- ;
-
-mapType
- : KW_MAP LESSTHAN primitiveType COMMA type_db_col GREATERTHAN
- ;
-
-unionType
- : KW_UNIONTYPE LESSTHAN colTypeList GREATERTHAN
- ;
-
-setOperator
- : KW_UNION KW_ALL
- | KW_UNION KW_DISTINCT?
- | KW_INTERSECT KW_ALL
- | KW_INTERSECT KW_DISTINCT?
- | KW_EXCEPT KW_ALL
- | KW_EXCEPT KW_DISTINCT?
- | KW_MINUS KW_ALL
- | KW_MINUS KW_DISTINCT?
- ;
-
-queryStatementExpression
- :
- /* Would be nice to do this as a gated semantic perdicate
- But the predicate gets pushed as a lookahead decision.
- Calling rule doesnot know about topLevel
- */
- withClause?
- queryStatementExpressionBody
- ;
-
-queryStatementExpressionBody
- : fromStatement
- | regularBody
- ;
-
-withClause
- : KW_WITH cteStatement (COMMA cteStatement)*
- ;
-
-cteStatement
- : identifier KW_AS LPAREN queryStatementExpression RPAREN
- ;
-
-fromStatement
- : (singleFromStatement)
- (setOperator singleFromStatement)*
- ;
-
-
-singleFromStatement
- : fromClause body+
- ;
-
-/*
-The valuesClause rule below ensures that the parse tree for
-"insert into table FOO values (1,2),(3,4)" looks the same as
-"insert into table FOO select a,b from (values(1,2),(3,4)) as BAR(a,b)" which itself is made to look
-very similar to the tree for "insert into table FOO select a,b from BAR".
-*/
-regularBody
- : insertClause ( selectStatement | valuesClause)
- | selectStatement
- ;
-
-atomSelectStatement
- : selectClause
- fromClause?
- whereClause?
- groupByClause?
- havingClause?
- window_clause?
- | LPAREN selectStatement RPAREN
- ;
-
-selectStatement
- : atomSelectStatement setOpSelectStatement? orderByClause? clusterByClause? distributeByClause? sortByClause? limitClause?
- ;
-
-setOpSelectStatement
- :
- (setOperator atomSelectStatement)+
- ;
-
-selectStatementWithCTE
- : withClause? selectStatement
- ;
-
-body
- : insertClause
- selectClause
- lateralView?
- whereClause?
- groupByClause?
- havingClause?
- window_clause?
- orderByClause?
- clusterByClause?
- distributeByClause?
- sortByClause?
- limitClause?
- |
- selectClause
- lateralView?
- whereClause?
- groupByClause?
- havingClause?
- window_clause?
- orderByClause?
- clusterByClause?
- distributeByClause?
- sortByClause?
- limitClause?
- ;
-
-insertClause
- : KW_INSERT KW_OVERWRITE destination ifNotExists?
- | KW_INSERT KW_INTO KW_TABLE? tableOrPartition (LPAREN columnNameList RPAREN)?
- ;
-
-destination
- : KW_LOCAL? KW_DIRECTORY StringLiteral tableRowFormat? tableFileFormat?
- | KW_TABLE tableOrPartition
- ;
-
-limitClause
- : KW_LIMIT ((Number COMMA)? Number)
- | KW_LIMIT Number KW_OFFSET Number
- ;
-
-//DELETE FROM WHERE ...;
-deleteStatement
- : KW_DELETE KW_FROM tableName whereClause?
- ;
-
-/*SET = (3 + col2)*/
-columnAssignmentClause
- : tableOrColumn EQUAL expression
- ;
-
-/*SET col1 = 5, col2 = (4 + col4), ...*/
-setColumnsClause
- : KW_SET columnAssignmentClause (COMMA columnAssignmentClause)*
- ;
-
-/*
- UPDATE
- SET col1 = val1, col2 = val2... WHERE ...
-*/
-updateStatement
- : KW_UPDATE tableName setColumnsClause whereClause?
- ;
-
-/*
-BEGIN user defined transaction boundaries; follows SQL 2003 standard exactly except for addition of
-"setAutoCommitStatement" which is not in the standard doc but is supported by most SQL engines.
-*/
-sqlTransactionStatement
- : startTransactionStatement
- | commitStatement
- | rollbackStatement
- | setAutoCommitStatement
- ;
-
-startTransactionStatement
- : KW_START KW_TRANSACTION ( transactionMode ( COMMA transactionMode )* )?
- ;
-
-transactionMode
- : isolationLevel
- | transactionAccessMode
- ;
-
-transactionAccessMode
- : KW_READ KW_ONLY
- | KW_READ KW_WRITE
- ;
-
-isolationLevel
- : KW_ISOLATION KW_LEVEL levelOfIsolation
- ;
-
-/*READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE may be supported later*/
-levelOfIsolation
- : KW_SNAPSHOT
- ;
-
-commitStatement
- : KW_COMMIT KW_WORK?
- ;
-
-rollbackStatement
- : KW_ROLLBACK KW_WORK?
- ;
-setAutoCommitStatement
- : KW_SET KW_AUTOCOMMIT booleanValueTok
- ;
-/*
-END user defined transaction boundaries
-*/
-
-abortTransactionStatement
- : KW_ABORT KW_TRANSACTIONS Number+
- ;
-
-
-/*
-BEGIN SQL Merge statement
-*/
-mergeStatement
- : KW_MERGE KW_INTO tableName (KW_AS? identifier)? KW_USING joinSourcePart KW_ON expression whenClauses
- ;
-/*
-Allow 0,1 or 2 WHEN MATCHED clauses and 0 or 1 WHEN NOT MATCHED
-Each WHEN clause may have AND .
-If 2 WHEN MATCHED clauses are present, 1 must be UPDATE the other DELETE and the 1st one
-must have AND
-*/
-whenClauses
- : (whenMatchedAndClause|whenMatchedThenClause)* whenNotMatchedClause?
- ;
-whenNotMatchedClause
- : KW_WHEN KW_NOT KW_MATCHED (KW_AND expression)? KW_THEN KW_INSERT KW_VALUES valueRowConstructor
- ;
-whenMatchedAndClause
- : KW_WHEN KW_MATCHED KW_AND expression KW_THEN updateOrDelete
- ;
-whenMatchedThenClause
- : KW_WHEN KW_MATCHED KW_THEN updateOrDelete
- ;
-updateOrDelete
- : KW_UPDATE setColumnsClause
- | KW_DELETE
- ;
-/*
-END SQL Merge statement
-*/
-
-killQueryStatement
- : KW_KILL KW_QUERY StringLiteral+
- ;
diff --git a/reverse_engineering/grammars/IdentifiersParser.g4 b/reverse_engineering/grammars/IdentifiersParser.g4
deleted file mode 100644
index ff11f53..0000000
--- a/reverse_engineering/grammars/IdentifiersParser.g4
+++ /dev/null
@@ -1,604 +0,0 @@
-/**
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- @author Canwei He
-*/
-parser grammar IdentifiersParser;
-
-//-----------------------------------------------------------------------------------
-
-// group by a,b
-groupByClause
- : KW_GROUP KW_BY groupby_expression
- ;
-
-// support for new and old rollup/cube syntax
-groupby_expression
- : rollupStandard
- | rollupOldSyntax
- | groupByEmpty
- ;
-
-groupByEmpty
- : LPAREN RPAREN
- ;
-
-// standard rollup syntax
-rollupStandard
- : (KW_ROLLUP | KW_CUBE)
- LPAREN expression ( COMMA expression)* RPAREN
- ;
-
-// old hive rollup syntax
-rollupOldSyntax
- : expressionsNotInParenthesis
- (KW_WITH KW_ROLLUP | KW_WITH KW_CUBE) ?
- (KW_GROUPING KW_SETS
- LPAREN groupingSetExpression ( COMMA groupingSetExpression)* RPAREN ) ?
- ;
-
-
-groupingSetExpression
- : groupingSetExpressionMultiple
- | groupingExpressionSingle
- ;
-
-groupingSetExpressionMultiple
- : LPAREN
- expression? (COMMA expression)*
- RPAREN
- ;
-
-groupingExpressionSingle
- : expression
- ;
-
-havingClause
- : KW_HAVING havingCondition
- ;
-
-havingCondition
- : expression
- ;
-
-expressionsInParenthesis
- : LPAREN expressionsNotInParenthesis RPAREN
- ;
-
-expressionsNotInParenthesis
- : expression expressionPart?
- ;
-
-expressionPart
- : (COMMA expression)+
- ;
-
-expressions
- : expressionsInParenthesis
- | expressionsNotInParenthesis
- ;
-
-columnRefOrderInParenthesis
- : LPAREN columnRefOrder (COMMA columnRefOrder)* RPAREN
- ;
-
-columnRefOrderNotInParenthesis
- : columnRefOrder (COMMA columnRefOrder)*
- ;
-
-// order by a,b
-orderByClause
- : KW_ORDER KW_BY columnRefOrder ( COMMA columnRefOrder)*
- ;
-
-clusterByClause
- : KW_CLUSTER KW_BY ( (LPAREN columnNameList RPAREN) | KW_AUTO | KW_NONE )
- ;
-
-partitionByClause
- : KW_PARTITION KW_BY expressions
- ;
-
-distributeByClause
- : KW_DISTRIBUTE KW_BY expressions
- ;
-
-sortByClause
- : KW_SORT KW_BY
- (
- columnRefOrderInParenthesis
- |
- columnRefOrderNotInParenthesis
- )
- ;
-
-// fun(par1, par2, par3)
-functionStatement
- : functionName
- LPAREN
- (
- STAR
- | (KW_DISTINCT | KW_ALL)? (selectExpression (COMMA selectExpression)*)?
- )
- RPAREN (KW_OVER window_specification)?
- ;
-
-functionName
- : // Keyword IF is also a function name
- functionIdentifier
- |
- sql11ReservedKeywordsUsedAsFunctionName
- ;
-
-castExpression
- : KW_CAST
- LPAREN
- expression
- KW_AS
- (primitiveType | structType)
- RPAREN
- ;
-
-caseExpression
- : KW_CASE expression
- (KW_WHEN expression KW_THEN expression)+
- (KW_ELSE expression)?
- KW_END
- ;
-
-whenExpression
- : KW_CASE
- ( KW_WHEN expression KW_THEN expression)+
- (KW_ELSE expression)?
- KW_END
- ;
-
-floorExpression
- : KW_FLOOR
- LPAREN
- expression
- (KW_TO floorDateQualifiers)?
- RPAREN
- ;
-
-floorDateQualifiers
- : KW_YEAR
- | KW_QUARTER
- | KW_MONTH
- | KW_WEEK
- | KW_DAY
- | KW_HOUR
- | KW_MINUTE
- | KW_SECOND
- ;
-
-extractExpression
- : KW_EXTRACT
- LPAREN
- timeQualifiers
- KW_FROM
- expression
- RPAREN
- ;
-
-timeQualifiers
- : KW_YEAR
- | KW_QUARTER
- | KW_MONTH
- | KW_WEEK
- | KW_DAY
- | KW_DOW
- | KW_HOUR
- | KW_MINUTE
- | KW_SECOND
- ;
-
-constant
- : intervalLiteral
- | Number
- | dateLiteral
- | timestampLiteral
- | timestampLocalTZLiteral
- | StringLiteral
- | stringLiteralSequence
- | IntegralLiteral
- | NumberLiteral
- | charSetStringLiteral
- | booleanValue
- | KW_NULL
- ;
-
-stringLiteralSequence
- : StringLiteral StringLiteral+
- ;
-
-charSetStringLiteral
- : CharSetName CharSetLiteral
- ;
-
-dateLiteral
- : KW_DATE StringLiteral
- | KW_CURRENT_DATE
- ;
-
-timestampLiteral
- : KW_TIMESTAMP StringLiteral
- | KW_TIMESTAMP StringLiteral KW_AS KW_TIMESTAMP_NTZ
- | KW_CURRENT_TIMESTAMP
- ;
-
-timestampLocalTZLiteral
- : KW_TIMESTAMPLOCALTZ StringLiteral
- ;
-
-intervalValue
- : StringLiteral
- | Number
- ;
-
-intervalLiteral
- : intervalValue intervalQualifiers
- ;
-
-intervalExpression
- : LPAREN intervalValue RPAREN intervalQualifiers
- | KW_INTERVAL intervalValue intervalQualifiers
- | KW_INTERVAL LPAREN expression RPAREN intervalQualifiers
- ;
-
-intervalQualifiers
- : KW_YEAR KW_TO KW_MONTH
- | KW_DAY KW_TO KW_SECOND
- | KW_YEAR
- | KW_MONTH
- | KW_DAY
- | KW_HOUR
- | KW_MINUTE
- | KW_SECOND
- ;
-
-atomExpression
- : constant
- | intervalExpression
- | castExpression
- | extractExpression
- | floorExpression
- | caseExpression
- | whenExpression
- | subQueryExpression
- | functionStatement
- | tableOrColumn
- | expressionsInParenthesis
- ;
-
-precedenceUnaryOperator
- : PLUS
- | MINUS
- | TILDE
- ;
-
-isCondition
- : KW_NULL
- | KW_TRUE
- | KW_FALSE
- | KW_NOT KW_NULL
- | KW_NOT KW_TRUE
- | KW_NOT KW_FALSE
- ;
-
-precedenceBitwiseXorOperator
- : BITWISEXOR
- ;
-
-precedenceStarOperator
- : STAR
- | DIVIDE
- | MOD
- | DIV
- ;
-
-precedencePlusOperator
- : PLUS
- | MINUS
- ;
-
-precedenceConcatenateOperator
- : CONCATENATE
- ;
-
-precedenceAmpersandOperator
- : AMPERSAND
- ;
-
-precedenceBitwiseOrOperator
- : BITWISEOR
- ;
-
-precedenceRegexpOperator
- : KW_LIKE
- | KW_RLIKE
- | KW_REGEXP
- ;
-
-precedenceSimilarOperator
- : precedenceRegexpOperator
- | LESSTHANOREQUALTO
- | LESSTHAN
- | GREATERTHANOREQUALTO
- | GREATERTHAN
- ;
-
-precedenceDistinctOperator
- : KW_IS KW_DISTINCT KW_FROM
- ;
-
-precedenceEqualOperator
- : EQUAL
- | EQUAL_NS
- | NOTEQUAL
- | KW_IS KW_NOT KW_DISTINCT KW_FROM
- ;
-
-precedenceNotOperator
- : KW_NOT
- ;
-
-precedenceAndOperator
- : KW_AND
- ;
-
-precedenceOrOperator
- : KW_OR
- ;
-
-//precedenceFieldExpression
-//precedenceUnaryPrefixExpression
-//precedenceUnarySuffixExpression
-//precedenceBitwiseXorExpression
-//precedenceStarExpression
-//precedencePlusExpression
-//precedenceConcatenateExpression
-//precedenceAmpersandExpression
-//precedenceBitwiseOrExpression
-//precedenceSimilarExpressionMain
-//precedenceSimilarExpression
-//precedenceEqualExpression
-//precedenceNotExpression
-//precedenceAndExpression
-//precedenceOrExpression
-expression
- : atomExpression ((LSQUARE expression RSQUARE) | (DOT identifier))*
- | precedenceUnaryOperator expression
- | expression KW_IS isCondition
- | expression precedenceBitwiseXorOperator expression
- | expression precedenceStarOperator expression
- | expression precedencePlusOperator expression
- | expression precedenceConcatenateOperator expression
- | expression precedenceAmpersandOperator expression
- | expression precedenceBitwiseOrOperator expression
- | expression precedenceSimilarExpressionPart
- | KW_EXISTS subQueryExpression
- | expression (precedenceEqualOperator | precedenceDistinctOperator) expression
- | precedenceNotOperator expression
- | expression precedenceAndOperator expression
- | expression precedenceOrOperator expression
- | LPAREN expression RPAREN
- ;
-
-subQueryExpression
- : LPAREN selectStatement RPAREN
- ;
-
-precedenceSimilarExpressionPart
- : precedenceSimilarOperator expression
- | precedenceSimilarExpressionAtom
- | KW_NOT precedenceSimilarExpressionPartNot
- ;
-
-precedenceSimilarExpressionAtom
- : KW_IN precedenceSimilarExpressionIn
- | KW_BETWEEN expression KW_AND expression
- | KW_LIKE KW_ANY expressionsInParenthesis
- | KW_LIKE KW_ALL expressionsInParenthesis
- ;
-
-precedenceSimilarExpressionIn
- : subQueryExpression
- | expressionsInParenthesis
- ;
-
-precedenceSimilarExpressionPartNot
- : precedenceRegexpOperator expression
- | precedenceSimilarExpressionAtom
- ;
-
-booleanValue
- : KW_TRUE
- | KW_FALSE
- ;
-
-booleanValueTok
- : KW_TRUE
- | KW_FALSE
- ;
-
-tableOrPartition
- : tableName partitionSpec?
- ;
-
-partitionSpec
- : KW_PARTITION
- LPAREN partitionVal (COMMA partitionVal)* RPAREN
- ;
-
-partitionVal
- : identifier (EQUAL constant)?
- ;
-
-dropPartitionSpec
- : KW_PARTITION LPAREN dropPartitionVal (COMMA dropPartitionVal )* RPAREN
- ;
-
-dropPartitionVal
- : identifier dropPartitionOperator constant
- ;
-
-dropPartitionOperator
- : EQUAL
- | NOTEQUAL
- | LESSTHANOREQUALTO
- | LESSTHAN
- | GREATERTHANOREQUALTO
- | GREATERTHAN
- ;
-
-sysFuncNames
- : KW_AND
- | KW_OR
- | KW_NOT
- | KW_LIKE
- | KW_IF
- | KW_CASE
- | KW_WHEN
- | KW_FLOOR
- | KW_TINYINT
- | KW_SMALLINT
- | KW_INT
- | KW_BIGINT
- | KW_FLOAT
- | KW_DOUBLE
- | KW_BOOLEAN
- | KW_STRING
- | KW_BINARY
- | KW_ARRAY
- | KW_MAP
- | KW_STRUCT
- | KW_UNIONTYPE
- | EQUAL
- | EQUAL_NS
- | NOTEQUAL
- | LESSTHANOREQUALTO
- | LESSTHAN
- | GREATERTHANOREQUALTO
- | GREATERTHAN
- | DIVIDE
- | PLUS
- | MINUS
- | STAR
- | MOD
- | DIV
- | AMPERSAND
- | TILDE
- | BITWISEOR
- | BITWISEXOR
- | KW_RLIKE
- | KW_REGEXP
- | KW_IN
- | KW_BETWEEN
- ;
-
-descFuncNames
- : sysFuncNames
- | StringLiteral
- | functionIdentifier
- ;
-
-identifier
- : Identifier
- | LCURLY LCURLY (Identifier) RCURLY RCURLY
- | nonReserved
- | databricksAllowedReservedNames
- ;
-
-functionIdentifier
- : identifier DOT identifier
- | identifier DOT identifier (DOT identifier)*
- | identifier
- ;
-
-principalIdentifier
- : identifier
- | QuotedIdentifier
- ;
-
-// Here is what you have to do if you would like to add a new keyword.
-// Note that non reserved keywords are basically the keywords that can be used as identifiers.
-// (1) Add a new entry to HiveLexer, e.g., KW_TRUE : 'TRUE';
-// (2) If it is reserved, you do NOT need to change IdentifiersParser.g
-// because all the KW_* are automatically not only keywords, but also reserved keywords.
-// However, you need to add a test to TestSQL11ReservedKeyWordsNegative.java.
-// Otherwise it is non-reserved, you need to put them in the nonReserved list below.
-//If you are not sure, please refer to the SQL2011 column in
-//http://www.postgresql.org/docs/9.5/static/sql-keywords-appendix.html
-nonReserved
- : KW_ABORT | KW_ADD | KW_ADMIN | KW_AFTER | KW_ANALYZE | KW_ARCHIVE | KW_ASC | KW_BEFORE | KW_BUCKET | KW_BUCKETS
- | KW_CASCADE | KW_CHANGE | KW_CHECK | KW_CLUSTER | KW_CLUSTERED | KW_CLUSTERSTATUS | KW_COLLECTION | KW_COLUMNS
- | KW_COMMENT | KW_COMPACT | KW_COMPACTIONS | KW_COMPUTE | KW_CONCATENATE | KW_CONTINUE | KW_DATA | KW_DAY
- | KW_DATABASES | KW_DATETIME | KW_DBPROPERTIES | KW_DEFERRED | KW_DEFINED | KW_DELIMITED | KW_DEPENDENCY
- | KW_DESC | KW_DIRECTORIES | KW_DIRECTORY | KW_DISABLE | KW_DISTRIBUTE | KW_DOW | KW_ELEM_TYPE
- | KW_ENABLE | KW_ENFORCED | KW_ESCAPED | KW_EXCLUSIVE | KW_EXPLAIN | KW_EXPORT | KW_FIELDS | KW_FILE | KW_FILEFORMAT
- | KW_FIRST | KW_FORMAT | KW_FORMATTED | KW_FUNCTIONS | KW_HOUR | KW_IDXPROPERTIES
- | KW_INDEX | KW_INDEXES | KW_INPATH | KW_INPUTDRIVER | KW_INPUTFORMAT | KW_ITEMS | KW_JAR | KW_KILL
- | KW_KEYS | KW_KEY_TYPE | KW_LAST | KW_LIMIT | KW_OFFSET | KW_LINES | KW_LOAD | KW_LOCATION | KW_LOCK | KW_LOCKS | KW_LOGICAL | KW_LONG
- | KW_MAPJOIN | KW_MATERIALIZED | KW_METADATA | KW_MINUTE | KW_MONTH | KW_MSCK | KW_NOSCAN | KW_NULLS
- | KW_OPTION | KW_OUTPUTDRIVER | KW_OUTPUTFORMAT | KW_OVERWRITE | KW_OWNER | KW_PARTITIONED | KW_PARTITIONS | KW_PLUS
- | KW_PRINCIPALS | KW_PURGE | KW_QUERY | KW_QUARTER | KW_READ | KW_REBUILD | KW_RECORDREADER | KW_RECORDWRITER
- | KW_RELOAD | KW_RENAME | KW_REPAIR | KW_REPLACE | KW_REPLICATION | KW_RESTRICT | KW_REWRITE
- | KW_ROLE | KW_ROLES | KW_SCHEMA | KW_SCHEMAS | KW_SECOND | KW_SEMI | KW_SERDE | KW_SERDEPROPERTIES | KW_SERVER | KW_SETS | KW_SHARED
- | KW_SHOW | KW_SHOW_DATABASE | KW_SKEWED | KW_SORT | KW_SORTED | KW_SSL | KW_STATISTICS | KW_STORED
- | KW_STREAMTABLE | KW_STRING | KW_STRUCT | KW_TABLES | KW_TBLPROPERTIES | KW_TEMPORARY | KW_TERMINATED
- | KW_TINYINT | KW_TOUCH | KW_TRANSACTIONS | KW_UNARCHIVE | KW_UNDO | KW_UNIONTYPE | KW_UNLOCK | KW_UNSET
- | KW_UNSIGNED | KW_URI | KW_USE | KW_UTC | KW_UTCTIMESTAMP | KW_VALUE_TYPE | KW_VIEW | KW_WEEK | KW_WHILE | KW_YEAR
- | KW_WORK
- | KW_TRANSACTION
- | KW_WRITE
- | KW_ISOLATION
- | KW_LEVEL
- | KW_SNAPSHOT
- | KW_AUTOCOMMIT
- | KW_RELY
- | KW_NORELY
- | KW_VALIDATE
- | KW_NOVALIDATE
- | KW_KEY
- | KW_MATCHED
- | KW_REPL | KW_DUMP | KW_STATUS
- | KW_CACHE | KW_VIEWS
- | KW_VECTORIZATION
- | KW_SUMMARY
- | KW_OPERATOR
- | KW_EXPRESSION
- | KW_DETAIL
- | KW_WAIT
- | KW_ZONE
- | KW_DEFAULT
- | KW_REOPTIMIZATION
- | KW_RESOURCE | KW_PLAN | KW_PLANS | KW_QUERY_PARALLELISM | KW_ACTIVATE | KW_MOVE | KW_DO
- | KW_POOL | KW_ALLOC_FRACTION | KW_SCHEDULING_POLICY | KW_PATH | KW_MAPPING | KW_WORKLOAD | KW_MANAGEMENT | KW_ACTIVE | KW_UNMANAGED
- | KW_DELTA | KW_CSV | KW_JSON | KW_BLOOMFILTER
- | KW_CATALOG | KW_SCHEMA | KW_TABLE | KW_VIEW
- | KW_STREAM
-;
-
-//The following SQL2011 reserved keywords are used as function name only, but not as identifiers.
-sql11ReservedKeywordsUsedAsFunctionName
- : KW_IF | KW_ARRAY | KW_MAP | KW_BIGINT | KW_BINARY | KW_BOOLEAN | KW_CURRENT_DATE | KW_CURRENT_TIMESTAMP | KW_DATE | KW_DOUBLE | KW_FLOAT | KW_GROUPING | KW_INT | KW_SMALLINT | KW_TIMESTAMP
- ;
-
-databricksAllowedReservedNames
- : sql11ReservedKeywordsUsedAsFunctionName
- | KW_TIME
- ;
diff --git a/reverse_engineering/grammars/ResourcePlanParser.g4 b/reverse_engineering/grammars/ResourcePlanParser.g4
deleted file mode 100644
index 0fdbcd6..0000000
--- a/reverse_engineering/grammars/ResourcePlanParser.g4
+++ /dev/null
@@ -1,243 +0,0 @@
-/**
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- @author Canwei He
-*/
-parser grammar ResourcePlanParser;
-
-
-resourcePlanDdlStatements
- : createResourcePlanStatement
- | alterResourcePlanStatement
- | dropResourcePlanStatement
- | globalWmStatement
- | replaceResourcePlanStatement
- | createTriggerStatement
- | alterTriggerStatement
- | dropTriggerStatement
- | createPoolStatement
- | alterPoolStatement
- | dropPoolStatement
- | createMappingStatement
- | alterMappingStatement
- | dropMappingStatement
- ;
-
-rpAssign
- : (KW_QUERY_PARALLELISM EQUAL Number)
- | (KW_DEFAULT KW_POOL EQUAL poolPath)
- ;
-
-rpAssignList
- : rpAssign (COMMA rpAssign)*
- ;
-
-rpUnassign
- : (KW_QUERY_PARALLELISM)
- | (KW_DEFAULT KW_POOL)
- ;
-
-rpUnassignList
- : rpUnassign (COMMA rpUnassign)*
- ;
-
-createResourcePlanStatement
- : KW_CREATE KW_RESOURCE KW_PLAN ( createResourcePlanStatementLikeExisting | createNewResourcePlanStatement )
- ;
-
-createResourcePlanStatementLikeExisting
- : identifier KW_LIKE identifier
- ;
-
-createNewResourcePlanStatement
- : identifier (KW_WITH rpAssignList)?
- ;
-
-withReplace
- : KW_WITH KW_REPLACE
- ;
-
-
-activate
- : KW_ACTIVATE withReplace?
- ;
-
-
-enable
- : KW_ENABLE
- ;
-
-
-disable
- : KW_DISABLE
- ;
-
-
-unmanaged
- : KW_UNMANAGED
- ;
-
-
-alterResourcePlanStatement
- : KW_ALTER KW_RESOURCE KW_PLAN identifier (
- (KW_VALIDATE)
- | (KW_DISABLE)
- | (KW_SET rpAssignList)
- | (KW_UNSET rpUnassignList)
- | alterResourcePlanRenameSuffix
- | ((activate enable? | enable activate?))
- )
- ;
-
-alterResourcePlanRenameSuffix
- : KW_RENAME KW_TO identifier
- ;
-
-/** It might make sense to make this more generic, if something else could be enabled/disabled.
- For now, it's only used for WM. Translate into another form of an alter statement. */
-globalWmStatement
- : (enable | disable) KW_WORKLOAD KW_MANAGEMENT
- ;
-
-replaceResourcePlanStatement
- : KW_REPLACE (
- (KW_ACTIVE KW_RESOURCE KW_PLAN KW_WITH identifier)
- | (KW_RESOURCE KW_PLAN identifier KW_WITH identifier)
- )
- ;
-
-dropResourcePlanStatement
- : KW_DROP KW_RESOURCE KW_PLAN identifier
- ;
-
-poolPath
- : identifier (DOT identifier)*
- ;
-
-triggerExpression
- : triggerAtomExpression
- ;
-
-triggerExpressionStandalone
- : triggerExpression EOF ;
-
-/*
- The rules triggerOrExpression and triggerAndExpression are not being used right now.
- Only > operator is supported, this should be changed if logic in ExpressionFactory changes.
-*/
-triggerOrExpression
- : triggerAndExpression (KW_OR triggerAndExpression)*
- ;
-
-triggerAndExpression
- : triggerAtomExpression (KW_AND triggerAtomExpression)*
- ;
-
-triggerAtomExpression
- : identifier comparisionOperator triggerLiteral
- ;
-
-
-triggerLiteral
- : Number
- | StringLiteral
- ;
-
-comparisionOperator
- : GREATERTHAN
- ;
-
-triggerActionExpression
- : KW_KILL
- | (KW_MOVE KW_TO poolPath)
- ;
-
-triggerActionExpressionStandalone
- : triggerActionExpression EOF ;
-
-createTriggerStatement
- : KW_CREATE KW_TRIGGER identifier DOT identifier
- triggerConditionExpression
- ;
-
-alterTriggerStatement
- : KW_ALTER KW_TRIGGER identifier DOT identifier (
- triggerConditionExpression
- | (KW_ADD KW_TO KW_POOL poolPath)
- | (KW_DROP KW_FROM KW_POOL poolPath)
- | (KW_ADD KW_TO KW_UNMANAGED)
- | (KW_DROP KW_FROM KW_UNMANAGED)
- )
- ;
-
-triggerConditionExpression
- : KW_WHEN triggerExpression KW_DO triggerActionExpression
- ;
-
-
-dropTriggerStatement
- : KW_DROP KW_TRIGGER identifier DOT identifier
- ;
-
-poolAssign
- : (
- (KW_ALLOC_FRACTION EQUAL Number)
- | (KW_QUERY_PARALLELISM EQUAL Number)
- | (KW_SCHEDULING_POLICY EQUAL StringLiteral)
- | (KW_PATH EQUAL poolPath)
- )
- ;
-
-poolAssignList
- : poolAssign (COMMA poolAssign)*
- ;
-
-createPoolStatement
- : KW_CREATE KW_POOL identifier DOT poolPath
- KW_WITH poolAssignList
- ;
-
-alterPoolStatement
- : KW_ALTER KW_POOL identifier DOT poolPath (
- (KW_SET poolAssignList)
- | (KW_UNSET KW_SCHEDULING_POLICY)
- | (KW_ADD KW_TRIGGER identifier)
- | (KW_DROP KW_TRIGGER identifier)
- )
- ;
-
-dropPoolStatement
- : KW_DROP KW_POOL identifier DOT poolPath
- ;
-
-createMappingStatement
- : (KW_CREATE (KW_USER | KW_GROUP | KW_APPLICATION)
- KW_MAPPING StringLiteral
- KW_IN identifier ((KW_TO poolPath) | unmanaged)
- (KW_WITH KW_ORDER Number)?)
- ;
-
-alterMappingStatement
- : (KW_ALTER (KW_USER | KW_GROUP | KW_APPLICATION)
- KW_MAPPING StringLiteral
- KW_IN identifier ((KW_TO poolPath) | unmanaged)
- (KW_WITH KW_ORDER Number)?)
- ;
-
-dropMappingStatement
- : KW_DROP (KW_USER | KW_GROUP | KW_APPLICATION) KW_MAPPING
- StringLiteral KW_IN identifier
- ;
\ No newline at end of file
diff --git a/reverse_engineering/grammars/SelectClauseParser.g4 b/reverse_engineering/grammars/SelectClauseParser.g4
deleted file mode 100644
index 3fe41f9..0000000
--- a/reverse_engineering/grammars/SelectClauseParser.g4
+++ /dev/null
@@ -1,114 +0,0 @@
-/**
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- @author Canwei He
-*/
-parser grammar SelectClauseParser;
-
-//----------------------- Rules for parsing selectClause -----------------------------
-// select a,b,c ...
-selectClause
- : KW_SELECT QUERY_HINT? (((KW_ALL | KW_DISTINCT)? selectList)
- | (KW_TRANSFORM selectTrfmClause))
- | trfmClause
- ;
-
-selectList
- : selectItem ( COMMA selectItem )*
- ;
-
-selectTrfmClause
- : LPAREN selectExpressionList RPAREN
- rowFormat? recordWriter?
- KW_USING StringLiteral
- ( KW_AS ((LPAREN (aliasList | columnNameTypeList) RPAREN) | (aliasList | columnNameTypeList)))?
- rowFormat? recordReader?
- ;
-
-selectItem
- : tableAllColumns exceptClause?
- | ( expression
- ((KW_AS? identifier) | (KW_AS LPAREN identifier (COMMA identifier)* RPAREN))?
- )
- ;
-
-trfmClause
- : ( KW_MAP selectExpressionList
- | KW_REDUCE selectExpressionList )
- rowFormat? recordWriter?
- KW_USING StringLiteral
- ( KW_AS ((LPAREN (aliasList | columnNameTypeList) RPAREN) | (aliasList | columnNameTypeList)))?
- rowFormat? recordReader?
- ;
-
-selectExpression
- : tableAllColumns exceptClause?
- | expression
- ;
-
-selectExpressionList
- : selectExpression (COMMA selectExpression)*
- ;
-
-exceptClause
- : KW_EXCEPT LPAREN selectExpressionList RPAREN
- ;
-
-//---------------------- Rules for windowing clauses -------------------------------
-window_clause
- :
- KW_WINDOW window_defn (COMMA window_defn)*
- ;
-
-window_defn
- :
- identifier KW_AS window_specification
- ;
-
-window_specification
- :
- (identifier | ( LPAREN identifier? partitioningSpec? window_frame? RPAREN))
- ;
-
-window_frame
- : window_range_expression
- | window_value_expression
- ;
-
-window_range_expression
- :
- KW_ROWS window_frame_start_boundary
- | KW_ROWS KW_BETWEEN window_frame_boundary KW_AND window_frame_boundary
- ;
-
-window_value_expression
- : KW_RANGE window_frame_start_boundary
- | KW_RANGE KW_BETWEEN window_frame_boundary KW_AND window_frame_boundary
- ;
-
-window_frame_start_boundary
- :
- KW_UNBOUNDED KW_PRECEDING
- | KW_CURRENT KW_ROW
- | Number KW_PRECEDING
- ;
-
- window_frame_boundary
- :
- KW_UNBOUNDED (KW_PRECEDING|KW_FOLLOWING)
- | KW_CURRENT KW_ROW
- | Number (KW_PRECEDING | KW_FOLLOWING )
- ;
diff --git a/reverse_engineering/helpers/cleanUpSelectStatement.js b/reverse_engineering/helpers/cleanUpSelectStatement.js
deleted file mode 100644
index a33c515..0000000
--- a/reverse_engineering/helpers/cleanUpSelectStatement.js
+++ /dev/null
@@ -1,69 +0,0 @@
-const antlr4 = require('antlr4');
-const HiveLexer = require('../parser/Hive/HiveLexer.js');
-const { HiveParser } = require('../parser/Hive/HiveParser.js');
-const { HiveParserVisitor } = require('../parser/Hive/HiveParserVisitor.js');
-
-const deeplyFlatten = arr => {
- if (Array.isArray(arr)) {
- return arr.flatMap(item => deeplyFlatten(item));
- } else {
- return arr;
- }
-};
-
-const ALLOWED_COMMANDS = [HiveParser.RULE_selectStatement];
-
-class Visitor extends HiveParserVisitor {
- visitStatement(ctx) {
- const execStatement = ctx.execStatement();
- if (execStatement) {
- return this.visit(execStatement);
- }
-
- return;
- }
-
- visitDdlStatement(ctx) {
- if (ALLOWED_COMMANDS.includes(ctx.children[0].ruleIndex)) {
- return super.visitDdlStatement(ctx)[0];
- }
- return;
- }
-
- visitCastExpression(ctx) {
- const structType = ctx.structType();
-
- if (!structType) {
- return;
- }
-
- return {
- start: structType.start.start,
- stop: structType.stop.stop,
- };
- }
-}
-
-const cleanUpSelectStatement = statement => {
- if (!statement) {
- return statement;
- }
-
- const chars = new antlr4.InputStream(statement);
- const lexer = new HiveLexer.HiveLexer(chars);
-
- const tokens = new antlr4.CommonTokenStream(lexer);
- const parser = new HiveParser(tokens);
-
- const tree = parser.statements();
-
- const hqlToCollectionsGenerator = new Visitor();
-
- const commands = deeplyFlatten(tree.accept(hqlToCollectionsGenerator)).filter(Boolean);
-
- return commands.reduce((statement, item) => {
- return statement.slice(0, item.start) + ' STRING ' + statement.slice(item.stop + 1);
- }, statement);
-};
-
-module.exports = cleanUpSelectStatement;
diff --git a/reverse_engineering/helpers/commandsHelper.js b/reverse_engineering/helpers/commandsHelper.js
deleted file mode 100644
index 4804f64..0000000
--- a/reverse_engineering/helpers/commandsHelper.js
+++ /dev/null
@@ -1,70 +0,0 @@
-const findEntityIndex = (entities, bucket, name) => {
- const entityIndex = entities.findIndex(
- entity =>
- isEqualCaseInsensitive(entity.bucketName, bucket) && isEqualCaseInsensitive(entity.collectionName, name),
- );
-
- if (entityIndex !== -1) {
- return entityIndex;
- }
-
- return entities.findIndex(entity => entity.collectionName === name);
-};
-
-const findViewIndex = (entities, bucket, name) => {
- return entities.findIndex(
- entity => isEqualCaseInsensitive(entity.bucketName, bucket) && isEqualCaseInsensitive(entity.name, name),
- );
-};
-
-const getCaseInsensitiveKey = (object, key) => {
- if (object[key]) {
- return key;
- }
-
- return Object.keys(object).find(objectKey => isEqualCaseInsensitive(objectKey, key));
-};
-
-const omitCaseInsensitive = (object, key) => {
- const objectCopy = { ...object };
- delete objectCopy[getCaseInsensitiveKey(object, key)];
-
- return objectCopy;
-};
-
-const isEqualCaseInsensitive = (str1, str2) => (str1 || '').toLowerCase() === (str2 || '').toLowerCase();
-
-const remove = (items, index) => [...items.slice(0, index), ...items.slice(index + 1)];
-
-const set = (items, index, value) => [...items.slice(0, index), value, ...items.slice(index + 1)];
-
-const merge = (target, source) => {
- if (!isObject(target) || !isObject(source)) {
- return source || target;
- }
-
- return Object.keys(source).reduce((merged, key) => {
- const value = isObject(source[key]) ? merge(merged[key] || {}, source[key]) : source[key];
-
- return {
- ...merged,
- [key]: value,
- };
- }, target);
-};
-
-const getCurrentBucket = (entitiesData, statementData) => statementData.bucketName || entitiesData.currentBucket;
-
-const isObject = item => item && typeof item === 'object' && !Array.isArray(item);
-
-module.exports = {
- findEntityIndex,
- getCaseInsensitiveKey,
- omitCaseInsensitive,
- isEqualCaseInsensitive,
- remove,
- set,
- merge,
- getCurrentBucket,
- findViewIndex,
-};
diff --git a/reverse_engineering/hqlToCollectionsVisitor.js b/reverse_engineering/hqlToCollectionsVisitor.js
deleted file mode 100644
index 2c95c31..0000000
--- a/reverse_engineering/hqlToCollectionsVisitor.js
+++ /dev/null
@@ -1,1989 +0,0 @@
-const _ = require('lodash');
-const { HiveParserVisitor } = require('./parser/Hive/HiveParserVisitor');
-const { HiveParser } = require('./parser/Hive/HiveParser');
-const {
- CREATE_COLLECTION_COMMAND,
- REMOVE_COLLECTION_COMMAND,
- CREATE_BUCKET_COMMAND,
- REMOVE_BUCKET_COMMAND,
- USE_BUCKET_COMMAND,
- USE_CATALOG_COMMAND,
- ADD_FIELDS_TO_COLLECTION_COMMAND,
- UPDATE_FIELD_COMMAND,
- CREATE_VIEW_COMMAND,
- ADD_COLLECTION_LEVEL_INDEX_COMMAND,
- REMOVE_COLLECTION_LEVEL_INDEX_COMMAND,
- ADD_COLLECTION_LEVEL_BLOOMFILTER_INDEX_COMMAND,
- REMOVE_COLLECTION_LEVEL_BLOOMFILTER_INDEX_COMMAND,
- UPDATE_ENTITY_LEVEL_DATA_COMMAND,
- UPDATE_VIEW_LEVEL_DATA_COMMAND,
- RENAME_VIEW_COMMAND,
- ADD_RELATIONSHIP_COMMAND,
- UPDATE_ENTITY_COLUMN,
- CREATE_RESOURCE_PLAN,
- CREATE_MAPPING,
- REMOVE_VIEW_COMMAND,
- UPDATE_RESOURCE_PLAN,
- DROP_RESOURCE_PLAN,
- UPDATE_ITEM_IN_RESOURCE_PLAN,
- ADD_TO_RESOURCE_PLAN,
- DROP_RESOURCE_PLAN_ITEM,
- DROP_MAPPING,
- RENAME_COLLECTION_COMMAND,
- UPDATE_BUCKET_LEVEL_DATA_COMMAND,
- UPDATE_CATALOG_LEVEL_DATA_COMMAND,
-} = require('./commandsService');
-
-const schemaHelper = require('./thriftService/schemaHelper');
-const { removeParentheses } = require('./helpers/utils');
-const {
- getCheckConstraintsFromTableProperties,
- getFilteredTableProperties,
- normalizeTableProperties,
-} = require('./helpers/visitorsHelper');
-const { ScheduleTypesEnum } = require('../forward_engineering/enums/schedules');
-
-const ALLOWED_COMMANDS = [
- HiveParser.RULE_createTableStatement,
- HiveParser.RULE_dropTableStatement,
- HiveParser.RULE_createDatabaseStatement,
- HiveParser.RULE_switchCatalogStatement,
- HiveParser.RULE_switchDatabaseStatement,
- HiveParser.RULE_dropDatabaseStatement,
- HiveParser.RULE_createViewStatement,
- HiveParser.RULE_createMaterializedViewStatement,
- HiveParser.RULE_unityTags,
- HiveParser.RULE_alterStatement,
- HiveParser.RULE_dropMaterializedViewStatement,
- HiveParser.RULE_dropViewStatement,
- HiveParser.RULE_dropIndexStatement,
- HiveParser.RULE_resourcePlanDdlStatements,
- HiveParser.RULE_createIndexStatement,
- HiveParser.RULE_dropIndexStatement,
- HiveParser.RULE_createBloomfilterIndexStatement,
- HiveParser.RULE_dropBloomfilterIndexStatement,
-];
-
-class Visitor extends HiveParserVisitor {
- constructor(originalText) {
- super();
- this.originalText = originalText;
- }
-
- visitStatement(ctx) {
- const execStatement = ctx.execStatement();
- if (execStatement) {
- return this.visit(execStatement);
- }
- }
-
- visitExecStatement(ctx) {
- const ddlStatement = ctx.ddlStatement();
- if (ddlStatement) {
- return this.visit(ddlStatement);
- }
- }
-
- visitDdlStatement(ctx) {
- if (ALLOWED_COMMANDS.includes(ctx.children[0].ruleIndex)) {
- return super.visitDdlStatement(ctx)[0];
- }
- }
-
- visitCreateTableStatement(ctx) {
- const [tableName, tableLikeName] = this.visit(ctx.tableName());
- const tableDataSource = this.visitWhenExists(ctx, 'tableUsingDataSource');
- const compositePartitionKey = this.visitWhenExists(ctx, 'tablePartition', [])?.[0] || [];
- const { compositeClusteringKey, numBuckets, sortedByKey } =
- this.visitWhenExists(ctx, 'tableBuckets', [])?.[0] || {};
- const { compositeClusteringKey: compositeLiquidClusteringKey } =
- this.visitWhenExists(ctx, 'clusterByClause', [])?.[0] || {};
- const { skewedby, skewedOn, skewStoredAsDir } = this.visitWhenExists(ctx, 'tableSkewed', [])?.[0] || {};
- const tableRowFormat = this.visitWhenExists(ctx, 'tableRowFormat', {})?.[0] || {};
- const description = this.visitWhenExists(ctx, 'tableComment');
- const location = this.visitWhenExists(ctx, 'tableLocation');
- const rawTableProperties = this.visitWhenExists(ctx, 'tablePropertiesPrefixed');
- const tableProperties = normalizeTableProperties(rawTableProperties);
- const checkConstraints = getCheckConstraintsFromTableProperties(tableProperties);
- let tableOptions = this.visitWhenExists(ctx, 'tableOptions');
- tableOptions = Array.isArray(tableOptions) ? tableOptions?.[0] || '' : tableOptions;
- const temporaryTable = Boolean(ctx.KW_TEMPORARY());
- const externalTable = Boolean(ctx.KW_EXTERNAL());
- const streamingTable = Boolean(ctx.KW_STREAMING());
- const tableIfNotExists = Boolean(ctx.ifNotExists());
- const orRefresh = Boolean(ctx.orRefresh());
- const select = {
- start: ctx.selectStatementWithCTE()?.start.start,
- stop: ctx.selectStatementWithCTE()?.stop.stop + 1,
- };
- const scheduleClauseValues = this.visitWhenExists(ctx, 'scheduleClause', []);
- const triggerOnUpdateClauseValues = this.visitWhenExists(ctx, 'triggerOnUpdateClause', []);
- const scheduleGroup = [...scheduleClauseValues, ...triggerOnUpdateClauseValues];
- const rowFilterGroup = this.visitWhenExists(ctx, 'rowClause');
-
- let storedAsTable = this.visitWhenExists(ctx, 'tableFileFormat', {});
- storedAsTable = Array.isArray(storedAsTable) ? storedAsTable?.[0] || {} : storedAsTable;
- const { catalog, database, table } = tableName;
- const { properties, foreignKeys, constraints } = this.visitWhenExists(ctx, 'columnNameTypeOrConstraintList', {
- properties: {},
- foreignKeys: [],
- constraints: [],
- });
- const tableForeignKeys = foreignKeys.map(constraint => ({
- ...constraint,
- childDbName: database,
- childCollection: table,
- }));
- const dltExpectations = constraints
- .filter(constraint => constraint.type === 'expect')
- .map(({ constraintName, ...constraint }) => ({
- expectationName: constraintName,
- ...constraint,
- }));
-
- const bucketData = catalog
- ? [
- {
- type: UPDATE_BUCKET_LEVEL_DATA_COMMAND,
- bucketName: database,
- data: {
- catalogName: catalog,
- },
- },
- ]
- : [];
-
- return [
- {
- type: CREATE_COLLECTION_COMMAND,
- collectionName: table,
- bucketName: database,
- select,
- schema: handleChoices({
- collectionName: table,
- type: 'object',
- properties: { ...convertKeysToProperties(compositePartitionKey, properties), ...properties },
- }),
- tableLikeName: tableLikeName?.table,
- entityLevelData: _.pickBy(
- {
- temporaryTable,
- externalTable,
- streamingTable,
- description: Array.isArray(description) ? description[0] || '' : String(description),
- compositePartitionKey: compositePartitionKey.map(([name]) => ({ name })),
- compositeClusteringKey: compositeClusteringKey || compositeLiquidClusteringKey,
- numBuckets,
- sortedByKey,
- skewedby,
- skewedOn,
- skewStoredAsDir,
- tableOptions,
- tableIfNotExists,
- orRefresh,
- scheduleGroup,
- rowFilterGroup,
- dltExpectations,
- location: Array.isArray(location) ? location[0] || '' : String(location),
- tableProperties: Array.isArray(tableProperties)
- ? getFilteredTableProperties(tableProperties) || ''
- : String(tableProperties),
- using: getUsingProperty(
- Array.isArray(tableDataSource) ? tableDataSource[0] || '' : String(tableDataSource),
- ),
- chkConstr: checkConstraints,
- ...storedAsTable,
- ...tableRowFormat,
- },
- prop => _.isNumber(prop) || _.isBoolean(prop) || !_.isEmpty(prop),
- ),
- },
- ...tableForeignKeys.map(fkData => ({
- ...fkData,
- type: ADD_RELATIONSHIP_COMMAND,
- })),
- ...bucketData,
- ];
- }
-
- visitTableUsingDataSource(ctx) {
- return ctx.tableDataSource().getText();
- }
-
- visitAtomSelectStatement(ctx) {
- return this.visitWhenExists(ctx, 'fromClause', {});
- }
-
- visitSelectStatement(ctx) {
- return this.visit(ctx.atomSelectStatement());
- }
-
- visitFromClause(ctx) {
- return this.visit(ctx.fromSource());
- }
-
- visitFromSource(ctx) {
- return this.visitWhenExists(ctx, 'joinSource') || this.visitWhenExists(ctx, 'uniqueJoinSource');
- }
-
- visitUniqueJoinSource(ctx) {
- return this.visit(ctx.uniqueJoinTableSource());
- }
-
- visitUniqueJoinTableSource(ctx) {
- return this.visit(ctx.tableName());
- }
-
- visitJoinSource(ctx) {
- return this.visit(ctx.atomjoinSource());
- }
-
- visitAtomjoinSource(ctx) {
- return this.visitWhenExists(ctx, 'tableSource') || this.visitWhenExists(ctx, 'joinSource');
- }
-
- visitTableSource(ctx) {
- return this.visit(ctx.tableName());
- }
-
- visitTablePartition(ctx) {
- return this.visit(ctx.partitionedColumnNameTypeConstraint());
- }
-
- visitTableComment(ctx) {
- return getTextFromStringLiteral(ctx);
- }
-
- visitTableBuckets(ctx) {
- const hasNumber = Boolean(ctx.Number());
- const hasSort = Boolean(ctx.columnNameOrderList());
-
- return {
- compositeClusteringKey: ctx
- .columnNameList()
- .getText()
- .split(',')
- .map(name => ({ name })),
- ...(hasSort ? { sortedByKey: this.visit(ctx.columnNameOrderList()) } : {}),
- ...(hasNumber ? { numBuckets: Number(ctx.Number().getText()) } : {}),
- };
- }
-
- visitColumnNameOrderList(ctx) {
- return this.visit(ctx.columnNameOrder());
- }
-
- visitColumnNameOrder(ctx) {
- return {
- name: ctx.identifier().getText(),
- type: getOrderType(this.visitWhenExists(ctx, 'orderSpecification')),
- };
- }
-
- visitOrderSpecification(ctx) {
- return ctx.getText();
- }
-
- visitTableSkewed(ctx) {
- return {
- skewedby: this.visit(ctx.columnNameList()),
- skewedOn: `(${ctx.skewedValueElement().getText()})`,
- ...(ctx.storedAsDirs() ? { skewStoredAsDir: true } : {}),
- };
- }
-
- visitTableRowFormat(ctx) {
- const isDelimited = Boolean(ctx.rowFormatDelimited());
-
- if (isDelimited) {
- return {
- rowFormat: 'delimited',
- ...this.visit(ctx.rowFormatDelimited()),
- };
- } else {
- return {
- rowFormat: 'SerDe',
- ...this.visit(ctx.rowFormatSerde()),
- };
- }
- }
-
- visitRowFormatDelimited(ctx) {
- const { fieldsTerminatedBy, fieldsescapedBy } = this.visitWhenExists(ctx, 'tableRowFormatFieldIdentifier', {});
- return {
- fieldsTerminatedBy,
- fieldsescapedBy,
- collectionItemsTerminatedBy: this.visitWhenExists(ctx, 'tableRowFormatCollItemsIdentifier'),
- mapKeysTerminatedBy: this.visitWhenExists(ctx, 'tableRowFormatMapKeysIdentifier'),
- linesTerminatedBy: this.visitWhenExists(ctx, 'tableRowFormatLinesIdentifier'),
- nullDefinedAs: this.visitWhenExists(ctx, 'tableRowNullFormat'),
- };
- }
-
- visitTableRowFormatFieldIdentifier(ctx) {
- return {
- fieldsTerminatedBy: getTextFromStringLiteral(ctx),
- fieldsescapedBy: this.visitWhenExists(ctx, 'tableRowFormatFieldIdentifierEcapedBy'),
- };
- }
-
- visitTableRowFormatCollItemsIdentifier(ctx) {
- return getTextFromStringLiteral(ctx);
- }
-
- visitTableRowFormatMapKeysIdentifier(ctx) {
- return getTextFromStringLiteral(ctx);
- }
-
- visitTableRowFormatLinesIdentifier(ctx) {
- return getTextFromStringLiteral(ctx);
- }
-
- visitTableRowNullFormat(ctx) {
- return getTextFromStringLiteral(ctx);
- }
-
- visitTableRowFormatFieldIdentifierEcapedBy(ctx) {
- return getTextFromStringLiteral(ctx);
- }
-
- visitRowFormatSerde(ctx) {
- return {
- serDeLibrary: getTextFromStringLiteral(ctx),
- serDeProperties: ctx.KW_SERDEPROPERTIES() ? ctx.tableProperties().getText() : '',
- };
- }
-
- visitTableLocation(ctx) {
- return getTextFromStringLiteral(ctx);
- }
-
- visitTablePropertiesPrefixed(ctx) {
- return this.visit(ctx.tableProperties());
- }
-
- visitTableProperties(ctx) {
- return this.visit(ctx.tablePropertiesList());
- }
-
- visitTablePropertiesList(ctx) {
- const keyValueProperties = this.visitWhenExists(ctx, 'keyValueProperty', []);
- const keyProperties = this.visitWhenExists(ctx, 'keyProperty', []);
- return [...keyValueProperties, ...keyProperties.map(propertyKey => ({ propertyKey }))];
- }
-
- visitKeyValueProperty(ctx) {
- const propertyKey = this.visit(ctx.keyProperty());
- const propertyValue = removeValueQuotes(ctx.keyValue().getText());
- return { propertyKey, propertyValue };
- }
-
- visitKeyProperty(ctx) {
- return ctx.getText();
- }
-
- visitTableOptions(ctx) {
- return ctx.tableProperties().getText();
- }
-
- visitCreateViewStatement(ctx) {
- const { database, table: name } = this.visit(ctx.tableName());
- const description = this.visitWhenExists(ctx, 'tableComment');
- const select = {
- start: ctx.selectStatementWithCTE().start.start,
- stop: ctx.selectStatementWithCTE().stop.stop + 1,
- };
- const { table } = this.visitWhenExists(ctx, 'selectStatementWithCTE', {});
- const columns = this.visitWhenExists(ctx, 'columnNameCommentList', []);
- const jsonSchema = convertColumnsToJsonSchema(columns);
- const columnNames = columns.map(column => column.name).join(', ');
- const tableProperties = this.visitWhenExists(ctx, 'tablePropertiesPrefixed');
-
- return {
- type: CREATE_VIEW_COMMAND,
- name,
- bucketName: database,
- collectionName: table,
- select,
- jsonSchema,
- columnNames,
- data: {
- description,
- tableProperties,
- columnList: '',
- },
- };
- }
-
- visitColumnNameCommentList(ctx) {
- if (typeof ctx.columnNameComment !== 'function') {
- return [];
- }
-
- return (ctx.columnNameComment() || []).map(column => {
- const name = column.identifier()?.getText() || '';
- const comment =
- column.KW_COMMENT?.() && column.StringLiteral?.()
- ? removeSingleDoubleQuotes(column.StringLiteral().getText())
- : '';
-
- return {
- name,
- comment,
- };
- });
- }
-
- visitCreateMaterializedViewStatement(ctx) {
- const { database, table: name } = this.visit(ctx.tableName());
- const viewIfNotExist = !!ctx.ifNotExists();
- const viewOrReplace = !!ctx.orReplace();
-
- const select = {
- start: ctx.selectStatementWithCTE().start.start,
- stop: ctx.selectStatementWithCTE().stop.stop + 1,
- };
- const { table } = this.visitWhenExists(ctx, 'selectStatementWithCTE', {});
- const columns = this.visitWhenExists(ctx, 'columnNameCommentList', []);
- const { properties } = this.visitWhenExists(ctx, 'columnNameTypeOrConstraintList', { properties: {} });
- const jsonSchema = convertColumnsToJsonSchema(columns);
- const columnList = columns
- .map(column => column.name + (column.comment ? ` COMMENT '${column.comment}'` : ''))
- .join(', ');
- const columnConstraintList = ctx.columnNameTypeOrConstraintList?.()
- ? this.getText(ctx.columnNameTypeOrConstraintList())
- : '';
-
- const columnNames = [...columns.map(column => column.name), ...Object.keys(properties)].join(', ');
- const options = this.visitWhenExists(ctx, 'materializedViewClause', []).reduce(
- (options, option) => ({ ...options, ...option }),
- {},
- );
- return {
- type: CREATE_VIEW_COMMAND,
- name,
- bucketName: database,
- collectionName: table,
- select,
- jsonSchema,
- columnNames,
- data: {
- viewIfNotExist,
- viewOrReplace,
- columnList: columnList || columnConstraintList,
- materialized: true,
- ...options,
- },
- };
- }
-
- visitMaterializedViewClause(ctx) {
- const description = this.visitWhenExists(ctx, 'tableComment');
- const { scheduleClause } = this.visitWhenExists(ctx, 'scheduleClause', {});
- const tableProperties = this.visitWhenExists(ctx, 'tablePropertiesPrefixed');
- const compositePartitionKeys = this.visitWhenExists(ctx, 'tablePartition', []);
- const { compositeClusteringKey } = this.visitWhenExists(ctx, 'clusterByClause', {});
- const compositePartitionKey = compositePartitionKeys.map(([name]) => ({ name }));
-
- return _.omitBy(
- {
- description,
- tableProperties,
- compositePartitionKey,
- compositeClusteringKey,
- scheduleClause,
- },
- _.isEmpty,
- );
- }
-
- visitScheduleClause(ctx) {
- const scheduleClause = this.getText(ctx);
-
- if (ctx.KW_EVERY()) {
- const scheduleEveryUnitContext = ctx.KW_HOUR() || ctx.KW_DAY() || ctx.KW_WEEK();
- const scheduleEveryUnitKeyword = _.toUpper(scheduleEveryUnitContext?.getText() || '');
- const scheduleEveryUnit = scheduleEveryUnitKeyword.endsWith('S')
- ? scheduleEveryUnitKeyword
- : scheduleEveryUnitKeyword + 'S';
- const scheduleEveryValue = Number(ctx.Number().getText());
-
- return {
- scheduleType: ScheduleTypesEnum.EVERY,
- scheduleEveryUnit,
- scheduleEveryValue,
- scheduleClause,
- };
- }
-
- const scheduleCronString = removeSingleDoubleQuotes(ctx.StringLiteral().getText());
- const scheduleTimeZone = this.visitWhenExists(ctx, 'timeZoneValue');
-
- return {
- scheduleType: ScheduleTypesEnum.CRON,
- scheduleCronString,
- scheduleTimeZone,
- scheduleClause,
- };
- }
-
- visitTimeZoneValue(ctx) {
- return removeSingleDoubleQuotes(this.getText(ctx));
- }
-
- visitTriggerOnUpdateClause(ctx) {
- const { intervalValue, intervalQualifier } = this.visit(ctx.intervalClause());
-
- return {
- scheduleType: ScheduleTypesEnum.TRIGGER_ON_UPDATE_BETA,
- triggerIntervalUnit: intervalQualifier,
- triggerIntervalValue: intervalValue,
- };
- }
-
- visitIntervalClause(ctx) {
- const intervalValue = Number(ctx.Number().getText());
- const intervalQualifier = _.toUpper(ctx.intervalQualifier().getText());
-
- return {
- intervalValue,
- intervalQualifier,
- };
- }
-
- visitRowClause(ctx) {
- const rowFilterFunction = this.visit(ctx.functionIdentifier());
- const rowFilterColumns = this.visitWhenExists(ctx, 'identifier', []).map(name => ({ name }));
-
- return {
- rowFilterFunction,
- rowFilterColumns,
- };
- }
-
- visitAlterStatement(ctx) {
- const isAlterTable = ctx.KW_TABLE();
- if (isAlterTable) {
- const { database, table } = this.visit(ctx.tableName());
- return {
- childDbName: database,
- childCollection: table,
- bucketName: database,
- collectionName: table,
- ...this.visit(ctx.alterTableStatementSuffix()),
- };
- }
-
- if (ctx.KW_VIEW()) {
- const { database, table } = this.visit(ctx.tableName());
-
- return {
- bucketName: database,
- viewName: table,
- ...this.visit(ctx.alterViewStatementSuffix()),
- };
- }
- }
-
- visitAlterTableStatementSuffix(ctx) {
- const constraint = ctx.alterStatementSuffixAddConstraint();
- if (constraint) {
- return this.visit(constraint);
- }
-
- return [
- 'alterStatementSuffixRename',
- 'alterStatementSuffixProperties',
- 'alterStatementSuffixSkewedby',
- 'alterTblPartitionStatementSuffix',
- ]
- .map(statement => this.visitWhenExists(ctx, statement))
- .filter(Boolean)[0];
- }
-
- visitAlterStatementSuffixProperties(ctx) {
- return {};
- }
-
- visitAlterStatementSuffixSkewedby(ctx) {
- return {
- type: UPDATE_ENTITY_LEVEL_DATA_COMMAND,
- data: {
- ...this.visitWhenExists(ctx, 'tableSkewed', {}),
- ...(ctx.KW_NOT() && ctx.KW_SKEWED() ? { skewedby: [], skewedOn: '' } : {}),
- ...(ctx.storedAsDirs() ? { skewStoredAsDir: false } : {}),
- },
- };
- }
-
- visitAlterTblPartitionStatementSuffix(ctx) {
- return [
- 'alterStatementSuffixFileFormat',
- 'alterStatementSuffixLocation',
- 'alterStatementSuffixBucketNum',
- 'alterStatementSuffixClusterbySortby',
- 'alterStatementSuffixRenameCol',
- 'alterStatementSuffixAddCol',
- 'alterStatementSuffixClusterBy',
- ]
- .map(statement => this.visitWhenExists(ctx, statement))
- .filter(Boolean)[0];
- }
-
- visitAlterStatementSuffixFileFormat(ctx) {
- return {
- type: UPDATE_ENTITY_LEVEL_DATA_COMMAND,
- data: {
- ...this.visit(ctx.fileFormat()),
- },
- };
- }
-
- visitFileFormat(ctx) {
- if (ctx.KW_INPUTFORMAT()) {
- return {
- storedAsTable: 'input/output format',
- inputFormatClassname: removeSingleDoubleQuotes(ctx.StringLiteral()[0].getText()),
- outputFormatClassname: removeSingleDoubleQuotes(ctx.StringLiteral()[1].getText()),
- serDeLibrary: removeSingleDoubleQuotes(ctx.StringLiteral()[2].getText()),
- };
- }
-
- return {
- storedAsTable: getStoredAsTable(ctx.tableFileFormatStoredAsFormat().getText()),
- };
- }
-
- visitAlterStatementSuffixLocation(ctx) {
- return {
- type: UPDATE_ENTITY_LEVEL_DATA_COMMAND,
- data: {
- location: getTextFromStringLiteral(ctx),
- },
- };
- }
-
- visitAlterStatementSuffixBucketNum(ctx) {
- return {
- type: UPDATE_ENTITY_LEVEL_DATA_COMMAND,
- data: {
- numBuckets: Number(ctx.Number().getText()),
- },
- };
- }
-
- visitAlterStatementSuffixClusterbySortby(ctx) {
- return {
- type: UPDATE_ENTITY_LEVEL_DATA_COMMAND,
- data: {
- ...(ctx.KW_CLUSTERED() ? { compositeClusteringKey: [] } : {}),
- ...(ctx.KW_SORTED() ? { sortedByKey: [] } : {}),
- ...this.visitWhenExists(ctx, 'tableBuckets', {}),
- },
- };
- }
-
- visitAlterStatementSuffixClusterBy(ctx) {
- const compositeClusteringKey = ctx.KW_NONE()
- ? []
- : this.visitWhenExists(ctx, 'clusterByClause', {}).compositeClusteringKey;
-
- return {
- type: UPDATE_ENTITY_LEVEL_DATA_COMMAND,
- data: {
- compositeClusteringKey,
- },
- };
- }
-
- visitAlterStatementSuffixRenameCol(ctx) {
- const columnConstraint = this.visitWhenExists(ctx, 'alterColumnConstraint', {});
-
- return {
- type: UPDATE_FIELD_COMMAND,
- name: this.visit(ctx.identifier()[0]),
- nameTo: this.visit(ctx.identifier()[1]),
- data: {
- ...this.visit(ctx.colType()),
- ...(ctx.KW_COMMENT() ? { description: getTextFromStringLiteral(ctx) } : {}),
- ...columnConstraint,
- },
- };
- }
-
- visitAlterColumnConstraint(ctx) {
- if (ctx.alterForeignKeyConstraint()) {
- return this.visit(ctx.alterForeignKeyConstraint());
- }
-
- return this.visit(ctx.alterColConstraint());
- }
-
- visitAlterForeignKeyConstraint(ctx) {
- return {};
- }
-
- visitAlterColConstraint(ctx) {
- return this.visit(ctx.columnConstraintType());
- }
-
- visitAlterStatementSuffixAddCol(ctx) {
- return {
- type: ADD_FIELDS_TO_COLLECTION_COMMAND,
- data: this.visit(ctx.columnNameTypeList()),
- };
- }
-
- visitColumnNameTypeList(ctx) {
- const columns = this.visit(ctx.columnNameType());
-
- return columns.reduce((data, column) => {
- const { name, ...columnData } = column;
-
- return {
- ...data,
- [name]: columnData,
- };
- }, {});
- }
-
- visitColumnNameType(ctx) {
- return {
- name: this.visit(ctx.identifier()),
- ...this.visit(ctx.colType()),
- ...this(ctx.KW_COMMENT() ? { description: getTextFromStringLiteral(ctx) } : {}),
- };
- }
-
- visitAlterViewStatementSuffix(ctx) {
- if (ctx.selectStatementWithCTE()) {
- const select = {
- start: ctx.selectStatementWithCTE().start.start,
- stop: ctx.selectStatementWithCTE().stop.stop,
- };
-
- return {
- type: UPDATE_VIEW_LEVEL_DATA_COMMAND,
- select,
- };
- }
-
- if (ctx.alterStatementSuffixRename()) {
- return {
- type: RENAME_VIEW_COMMAND,
- newViewName: this.visit(ctx.alterStatementSuffixRename()),
- };
- }
- }
-
- visitAlterStatementSuffixRename(ctx) {
- return this.visit(ctx.tableName()).table;
- }
-
- visitAlterStatementSuffixAddConstraint(ctx) {
- const foreignKey = ctx.alterForeignKeyWithName();
- if (foreignKey) {
- return {
- type: ADD_RELATIONSHIP_COMMAND,
- ...this.visit(foreignKey),
- };
- }
-
- const alterConstraintWithName = ctx.alterConstraintWithName();
- if (alterConstraintWithName) {
- const { fields, type } = this.visit(alterConstraintWithName);
- return {
- type: UPDATE_ENTITY_COLUMN,
- data: {
- type: type === 'primary' ? 'primaryKey' : type,
- fields,
- value: true,
- },
- };
- }
-
- return {};
- }
-
- visitAlterForeignKeyWithName(ctx) {
- const [childField, parentField] = this.visit(ctx.columnParenthesesList());
- const { database: dbName, table: parentCollection } = this.visit(ctx.tableName());
-
- return {
- relationshipName: this.visit(ctx.identifier()),
- parentCollection,
- dbName,
- childField,
- parentField,
- };
- }
-
- visitAlterConstraintWithName(ctx) {
- return this.visit(ctx.tableLevelConstraint());
- }
-
- visitSelectStatementWithCTE(ctx) {
- return this.visit(ctx.selectStatement());
- }
-
- visitColumnNameTypeOrConstraintList(ctx) {
- return this.visit(ctx.columnNameTypeOrConstraint()).reduce(
- ({ properties, foreignKeys, constraints }, column) => {
- if (!column) {
- return { properties, foreignKeys, constraints };
- }
- if (column.isForeignKey) {
- return {
- foreignKeys: [...foreignKeys, column],
- properties,
- constraints,
- };
- }
-
- if (column.isConstraint) {
- return {
- foreignKeys,
- properties,
- constraints: [...constraints, column],
- };
- }
-
- const columnForeignKeys = column.foreignKey ? [column.foreignKey] : [];
-
- return {
- properties: {
- ...properties,
- [column.name]: column.type,
- },
- foreignKeys: [...foreignKeys, ...columnForeignKeys],
- constraints,
- };
- },
- { properties: {}, foreignKeys: [], constraints: [] },
- );
- }
-
- visitColumnGeneratedAs(ctx) {
- if (ctx.generatedAsExpression()) {
- const expression = this.getText(ctx.generatedAsExpression().expression());
- return {
- generatedType: 'always',
- asIdentity: false,
- expression,
- };
- }
-
- if (ctx.generatedAsIdentity()) {
- return this.visit(ctx.generatedAsIdentity());
- }
- }
-
- visitGeneratedAsIdentity(ctx) {
- const hasIdentityOptions = ctx.identityOptions();
- return {
- generatedType: ctx.KW_DEFAULT() ? 'by default' : 'always',
- asIdentity: true,
- ...(hasIdentityOptions && { identity: this.visit(ctx.identityOptions()) }),
- };
- }
-
- visitIdentityOptions(ctx) {
- return {
- start_num: this.visitWhenExists(ctx, 'startWith'),
- step_num: this.visitWhenExists(ctx, 'incrementBy'),
- };
- }
-
- visitStartWith(ctx) {
- return ctx.Number().getText();
- }
-
- visitIncrementBy(ctx) {
- return ctx.Number().getText();
- }
-
- visitColumnNameTypeOrConstraint(ctx) {
- const nameTypeConstraint = ctx.columnNameTypeConstraint();
- if (nameTypeConstraint) {
- return this.visit(nameTypeConstraint);
- }
-
- return this.visit(ctx.tableConstraint());
- }
-
- visitTableConstraint(ctx) {
- const fkConstraint = ctx.createForeignKey();
- if (fkConstraint) {
- return this.visit(fkConstraint);
- }
-
- return this.visit(ctx.createConstraint());
- }
-
- visitCreateConstraint(ctx) {
- const nameContext = ctx.identifier();
- const constraintName = nameContext ? this.visit(nameContext) : '';
- return {
- constraintName,
- ...this.visit(ctx.tableLevelConstraint()),
- isConstraint: true,
- };
- }
-
- visitTableLevelConstraint(ctx) {
- const pkUkConstraint = ctx.pkUkConstraint();
- const expectConstraint = ctx.expectConstraint();
-
- if (pkUkConstraint) {
- return this.visit(pkUkConstraint);
- }
-
- if (expectConstraint) {
- return this.visit(expectConstraint);
- }
-
- return {};
- }
-
- visitPkUkConstraint(ctx) {
- return {
- type: this.visit(ctx.tableConstraintType()),
- fields: this.visit(ctx.columnParenthesesList()),
- };
- }
-
- visitTableConstraintType(ctx) {
- return ctx.KW_PRIMARY() ? 'primary' : 'unique';
- }
-
- visitCreateForeignKey(ctx) {
- const nameContext = ctx.identifier();
- const { database: dbName, table: parentCollection } = this.visit(ctx.tableName());
- const [childField, parentField] = this.visit(ctx.columnParenthesesList());
- const relationshipName = nameContext ? this.visit(nameContext) : '';
-
- return {
- isForeignKey: true,
- relationshipName,
- parentCollection,
- dbName,
- childField,
- parentField,
- };
- }
-
- visitExpectConstraint(ctx) {
- const expectationExpr = this.getText(ctx.expression());
- const failUpdateAction = ctx.KW_FAIL() && ctx.KW_UPDATE() ? 'FAIL UPDATE' : '';
- const dropRowAction = ctx.KW_DROP() && ctx.KW_ROW() ? 'DROP ROW' : '';
- const expectationAction = failUpdateAction || dropRowAction;
-
- return {
- type: 'expect',
- expectationExpr,
- expectationAction,
- };
- }
-
- visitColumnParenthesesList(ctx) {
- return this.visit(ctx.columnNameList());
- }
-
- visitColumnNameList(ctx) {
- return this.visit(ctx.columnName());
- }
-
- visitColumnName(ctx) {
- return this.visit(ctx.identifier());
- }
-
- visitColumnNameTypeConstraint(ctx) {
- const name = this.visit(ctx.identifier());
- const type = this.visit(ctx.colType());
- const constraintContext = ctx.columnConstraint();
- const constraints = constraintContext && this.visit(constraintContext);
-
- return {
- name,
- type: {
- ...type,
- ...mergeConstraints(constraints),
- },
- };
- }
-
- visitColType(ctx) {
- return this.visit(ctx.type_db_col());
- }
-
- visitType_db_col(ctx) {
- const primitiveType = ctx.primitiveType();
- const listType = ctx.listType();
- const structType = ctx.structType();
- const mapType = ctx.mapType();
- const unionType = ctx.unionType();
-
- if (primitiveType) {
- return this.visit(primitiveType);
- }
-
- if (listType) {
- return this.visit(listType);
- }
-
- if (structType) {
- return this.visit(structType);
- }
-
- if (mapType) {
- return this.visit(mapType);
- }
-
- if (unionType) {
- return this.visit(unionType);
- }
- }
-
- visitListType(ctx) {
- const items = this.visit(ctx.type_db_col());
- const isUnion = !items.type || Array.isArray(items.type);
- const itemType = isUnion ? 'union' : items.type;
-
- return {
- type: 'array',
- subtype: schemaHelper.getArraySubtypeByType(itemType),
- ...(!items.oneOf && { items }),
- ...(items.oneOf && { oneOf: getOneOf(items.oneOf, 'New column') }),
- };
- }
-
- visitUnionType(ctx) {
- const types = this.visit(ctx.colTypeList());
- const isComplex = type => ['struct', 'map', 'array'].indexOf(type) !== -1;
- const complexTypes = types.some(schema => isComplex(schema.type));
-
- if (!complexTypes) {
- return {
- type: _.uniq(types.map(schema => schema.type)),
- };
- }
-
- return {
- oneOf: types,
- };
- }
-
- visitColTypeList(ctx) {
- return this.visit(ctx.colType());
- }
-
- visitStructType(ctx) {
- return handleChoices({
- type: 'struct',
- properties: this.visit(ctx.columnNameColonTypeList()),
- });
- }
-
- visitColumnNameColonTypeList(ctx) {
- return this.visit(ctx.columnNameColonType()).reduce((properties, column) => {
- return {
- ...properties,
- [column.name]: column.type,
- };
- }, {});
- }
-
- visitColumnNameColonType(ctx) {
- return {
- name: this.visit(ctx.identifier()),
- type: this.visit(ctx.colType()),
- };
- }
-
- visitMapType(ctx) {
- const items = this.visit(ctx.type_db_col());
- const isUnion = !items.type || Array.isArray(items.type);
- const itemType = isUnion ? 'union' : items.type;
- const key = this.visit(ctx.primitiveType());
- const properties = Boolean(items?.properties) || Boolean(items?.items) ? { 'new_column': items } : {};
-
- return {
- type: 'map',
- subtype: schemaHelper.getMapSubtype(itemType),
- properties: items.oneOf ? {} : properties,
- ...(items.oneOf && { oneOf: getOneOf(items.oneOf, 'New column') }),
- ...schemaHelper.getMapKeyType(key),
- };
- }
-
- visitPrimitiveType(ctx) {
- const timestampLocal = ctx.KW_TIMESTAMPLOCALTZ() || ctx.KW_LOCAL() || ctx.KW_TIMESTAMP_NTZ();
- const decimal = ctx.KW_DECIMAL();
- const varchar = ctx.KW_VARCHAR();
- const char = ctx.KW_CHAR();
- if (timestampLocal) {
- return { type: 'timestamp', mode: ctx.KW_TIMESTAMP_NTZ() ? 'timestamp_ntz' : '' };
- }
- if (decimal) {
- const decimalType = { type: 'numeric', mode: 'decimal' };
- const decimalData = ctx.Number();
- if (!decimalData) {
- return decimalType;
- }
- const { precision, scale } = this.visit(decimalData).map(number => (isNaN(number) ? Number(number) : ''));
-
- return { ...decimalType, precision, scale };
- }
- if (varchar || char) {
- const charType = { type: 'text', mode: char ? 'char' : 'varchar' };
- let maxLength = this.visit(ctx.Number());
- if (Array.isArray(maxLength)) {
- maxLength = maxLength[0];
- }
-
- return { ...charType, maxLength };
- }
-
- const hiveType = ctx.getText().toLowerCase();
-
- switch (hiveType) {
- case 'string':
- return {
- type: 'text',
- mode: hiveType,
- };
- case 'int':
- case 'tinyint':
- case 'smallint':
- case 'bigint':
- case 'float':
- case 'double':
- case 'double precision':
- return {
- type: 'numeric',
- mode: hiveType,
- };
- case 'boolean':
- return {
- type: 'bool',
- };
- case 'interval_day_time':
- case 'interval_year_month':
- return {
- type: 'interval',
- };
- case 'timestamp':
- return { type: 'timestamp', mode: '' };
- case 'timestamp_ntz':
- return {
- type: 'timestamp',
- mode: hiveType,
- };
- case 'binary':
- case 'date':
- case 'interval':
- default:
- return {
- type: hiveType,
- };
- }
- }
-
- visitColumnConstraint(ctx) {
- return this.visit(ctx.colConstraint());
- }
-
- visitColConstraint(ctx) {
- return this.visit(ctx.columnConstraintType());
- }
-
- visitDefaultVal(ctx) {
- return ctx.getText();
- }
-
- visitColumnConstraintType(ctx) {
- return {
- ...(ctx.KW_NOT() && ctx.KW_NULL() ? { required: true } : {}),
- ...(ctx.tableConstraintType?.KW_UNIQUE ? { unique: true } : {}),
- ...(ctx.tableConstraintType()?.KW_PRIMARY ? { primaryKey: true } : {}),
- ...(ctx.KW_DEFAULT() ? { default: this.visit(ctx.defaultVal()) } : {}),
- ...(ctx.checkConstraint() ? { check: this.visitWhenExists(ctx, 'checkConstraint', '') } : {}),
- ...(ctx.columnGeneratedAs() ? { generatedDefaultValue: this.visit(ctx.columnGeneratedAs()) } : {}),
- ...(ctx.KW_COMMENT() ? { description: getTextFromStringLiteral(ctx) } : {}),
- ...(ctx.KW_MASK() ? { maskingFunction: this.visit(ctx.functionIdentifier()) } : {}),
- };
- }
-
- visitCheckConstraint(ctx) {
- return ctx.expression().getText();
- }
-
- visitNumber(ctx) {
- const value = ctx.getText();
- if (isNaN(value)) {
- return;
- }
-
- return Number(value);
- }
-
- visitTableName(ctx) {
- const names = this.visit(ctx.identifier());
-
- switch (names.length) {
- case 3:
- return {
- catalog: names[0],
- database: names[1],
- table: names[2],
- };
- case 2:
- return {
- catalog: '',
- database: names[0],
- table: names[1],
- };
- default:
- return {
- catalog: '',
- database: '',
- table: names[0],
- };
- }
- }
-
- visitViewName(ctx) {
- let names = this.visit(ctx.identifier());
- if (names.length === 1) {
- return {
- database: '',
- view: names[0],
- };
- }
-
- return {
- database: names[0],
- view: names[1],
- };
- }
-
- visitIdentifier(ctx) {
- return removeQuotes(ctx.getText());
- }
-
- visitFunctionIdentifier(ctx) {
- return removeQuotes(ctx.getText());
- }
-
- visitStatementSeparator() {
- return;
- }
-
- visitTableFileFormat(ctx) {
- if (ctx.tableInputOutputFileFormat()) {
- return {
- storedAsTable: 'input/output format',
- ...this.visit(ctx.tableInputOutputFileFormat()),
- };
- } else if (ctx.tableFileFormatStoredBy()) {
- return {
- storedAsTable: 'by',
- ...this.visit(ctx.tableFileFormatStoredBy()),
- };
- } else if (ctx.tableFileFormatStoredAs()) {
- return {
- storedAsTable: this.visit(ctx.tableFileFormatStoredAs()),
- };
- } else {
- return {};
- }
- }
-
- visitTableInputOutputFileFormat(ctx) {
- return {
- inputFormatClassname: this.visit(ctx.tableInputLiteral()),
- outputFormatClassname: this.visit(ctx.tableOutputLiteral()),
- };
- }
-
- visitTableInputLiteral(ctx) {
- return getTextFromStringLiteral(ctx);
- }
-
- visitTableOutputLiteral(ctx) {
- return getTextFromStringLiteral(ctx);
- }
-
- visitTableFileFormatStoredBy(ctx) {
- return {
- serDeLibrary: getTextFromStringLiteral(ctx),
- };
- }
-
- visitTableFileFormatStoredAs(ctx) {
- return getStoredAsTable(ctx.tableFileFormatStoredAsFormat().getText());
- }
-
- visitWhenExists(ctx, funcName, defaultValue = '') {
- return Boolean(ctx[funcName]) && ctx[funcName]() ? this.visit(ctx[funcName]()) : defaultValue;
- }
-
- visitSwitchCatalogStatement(ctx) {
- if (ctx.KW_CATALOG()) {
- return {
- type: USE_CATALOG_COMMAND,
- catalogName: this.visit(ctx.identifier()),
- };
- }
- }
-
- visitCreateDatabaseStatement(ctx) {
- const name = this.visit(ctx.identifier());
- const description = this.visitWhenExists(ctx, 'databaseComment');
- const locationPropertyName = ctx?.dbLocation()?.KW_MANAGED() ? 'managedLocation' : 'location';
- const locationValue = removeSingleDoubleQuotes(ctx?.dbLocation()?.StringLiteral()?.getText() || '');
- const dbProperties = removeParentheses(ctx?.dbProperties()?.getText() || '');
-
- return {
- type: CREATE_BUCKET_COMMAND,
- name,
- data: {
- description,
- dbProperties,
- [locationPropertyName]: locationValue,
- },
- };
- }
-
- visitDatabaseComment(ctx) {
- return removeSingleDoubleQuotes(ctx.StringLiteral().getText());
- }
-
- visitSwitchDatabaseStatement(ctx) {
- return {
- type: USE_BUCKET_COMMAND,
- bucketName: this.visit(ctx.identifier()),
- };
- }
-
- dropDatabaseStatement(ctx) {
- return {
- type: REMOVE_BUCKET_COMMAND,
- bucketName: this.visit(ctx.identifier()),
- };
- }
-
- visitCreateIndexStatement(ctx) {
- const { name, database, table, columns, SecIndxHandler } = this.visit(ctx.createIndexMainStatement());
- const SecIndxWithDeferredRebuild = Boolean(ctx.KW_WITH() && ctx.KW_DEFERRED() && ctx.KW_REBUILD());
- const SecIndxProperties = this.visitWhenExists(ctx, 'tableProperties');
- const SecIndxTable = ctx.tableName() ? removeQuotes(ctx.tableName().getText()) : '';
- const SecIndxComments = this.visitWhenExists(ctx, 'tableComment');
-
- return {
- type: ADD_COLLECTION_LEVEL_INDEX_COMMAND,
- bucketName: database,
- collectionName: table,
- name,
- columns,
- data: _.pickBy(
- {
- SecIndxWithDeferredRebuild,
- SecIndxHandler,
- SecIndxProperties,
- SecIndxTable,
- SecIndxComments,
- },
- prop => _.isBoolean(prop) || !_.isEmpty(prop),
- ),
- };
- }
-
- visitCreateIndexMainStatement(ctx) {
- return {
- name: this.visit(ctx.identifier()),
- ...this.visit(ctx.tableName()),
- columns: this.visit(ctx.columnParenthesesList()),
- SecIndxHandler: getTextFromStringLiteral(ctx),
- };
- }
-
- visitDropIndexStatement(ctx) {
- const { database, table } = this.visit(ctx.tableName());
- return {
- type: REMOVE_COLLECTION_LEVEL_INDEX_COMMAND,
- indexName: this.visit(ctx.identifier()),
- collectionName: table,
- bucketName: database,
- };
- }
-
- visitCreateBloomfilterIndexStatement(ctx) {
- const { collectionName, bucketName } = this.visit(ctx.createBloomfilterIndexMainStatement());
- const columns = this.visitWhenExists(ctx, 'bloomfilterColumnParenthesesList');
- const options = this.visitWhenExists(ctx, 'bloomfilterIndexOptions');
-
- return {
- type: ADD_COLLECTION_LEVEL_BLOOMFILTER_INDEX_COMMAND,
- bucketName,
- collectionName,
- columns,
- options,
- };
- }
-
- visitCreateBloomfilterIndexMainStatement(ctx) {
- const { database, table } = this.visit(ctx.tableName());
- return {
- collectionName: table,
- bucketName: database,
- };
- }
-
- visitBloomfilterColumnParenthesesList(ctx) {
- return this.visit(ctx.bloomfilterColumnNameList());
- }
-
- visitBloomfilterColumnNameList(ctx) {
- return this.visit(ctx.bloomfilterColumnName());
- }
-
- visitBloomfilterColumnName(ctx) {
- return {
- name: this.visit(ctx.identifier()),
- options: this.visitWhenExists(ctx, 'bloomfilterIndexOptions'),
- };
- }
-
- visitBloomfilterIndexOptions(ctx) {
- return removeParentheses(ctx.tableProperties().getText());
- }
-
- visitDropBloomfilterIndexStatement(ctx) {
- const { collectionName, bucketName } = this.visit(ctx.dropBloomfilterIndexMainStatement());
- const columns = this.visitWhenExists(ctx, 'bloomfilterColumnParenthesesList');
-
- return {
- type: REMOVE_COLLECTION_LEVEL_BLOOMFILTER_INDEX_COMMAND,
- bucketName,
- collectionName,
- columns,
- };
- }
-
- // Check that this function is identical to the visitCreateBloomfilterIndexMainStatement
- visitDropBloomfilterIndexMainStatement(ctx) {
- const { database, table } = this.visit(ctx.tableName());
- return {
- collectionName: table,
- bucketName: database,
- };
- }
-
- visitResourcePlanDdlStatements(ctx) {
- return [
- 'createResourcePlanStatement',
- 'createTriggerStatement',
- 'createPoolStatement',
- 'createMappingStatement',
- 'alterResourcePlanStatement',
- 'dropResourcePlanStatement',
- 'alterTriggerStatement',
- 'dropTriggerStatement',
- 'alterPoolStatement',
- 'dropPoolStatement',
- 'dropMappingStatement',
- ].map(statement => this.visitWhenExists(ctx, statement));
- }
-
- visitCreateResourcePlanStatement(ctx) {
- const resourcePlan = this.visitWhenExists(ctx, 'createNewResourcePlanStatement');
-
- if (resourcePlan) {
- return resourcePlan;
- }
-
- return this.visitWhenExists(ctx, 'createResourcePlanStatementLikeExisting', {});
- }
-
- visitCreateNewResourcePlanStatement(ctx) {
- return {
- type: CREATE_RESOURCE_PLAN,
- name: this.visit(ctx.identifier()),
- parallelism: this.visitWhenExists(ctx, 'rpAssignList', {})?.parallelism,
- };
- }
-
- visitRpAssignList(ctx) {
- return this.visit(ctx.rpAssign()).find(({ parallelism }) => !_.isEmpty(parallelism));
- }
-
- visitRpAssign(ctx) {
- if (ctx.Number()) {
- return {
- parallelism: ctx.Number().getText(),
- };
- }
-
- return {};
- }
-
- visitCreateResourcePlanStatementLikeExisting(ctx) {
- return {
- type: CREATE_RESOURCE_PLAN,
- name: this.visit(ctx.identifier())[0],
- like: this.visit(ctx.identifier())[1],
- };
- }
-
- visitCreateTriggerStatement(ctx) {
- return {
- type: ADD_TO_RESOURCE_PLAN,
- identifier: 'trigger',
- resourceName: this.visit(ctx.identifier()[0]),
- trigger: {
- name: this.visit(ctx.identifier()[1]),
- ...this.visit(ctx.triggerConditionExpression()),
- },
- };
- }
-
- visitTriggerActionExpression(ctx) {
- if (ctx.KW_KILL()) {
- return 'KILL';
- }
-
- return `MOVE TO ${this.visit(ctx.poolPath())}`;
- }
-
- visitCreatePoolStatement(ctx) {
- return {
- type: ADD_TO_RESOURCE_PLAN,
- identifier: 'pool',
- resourceName: this.visit(ctx.identifier()),
- pool: {
- name: this.visit(ctx.poolPath()),
- ...this.visit(ctx.poolAssignList()),
- },
- };
- }
-
- visitPoolAssignList(ctx) {
- return Object.assign({}, ...this.visit(ctx.poolAssign()));
- }
-
- visitPoolAssign(ctx) {
- if (ctx.KW_ALLOC_FRACTION()) {
- return { allocFraction: ctx.Number().getText() };
- } else if (ctx.KW_QUERY_PARALLELISM()) {
- return { parallelism: ctx.Number().getText() };
- } else if (ctx.KW_SCHEDULING_POLICY()) {
- return { schedulingPolicy: getTextFromStringLiteral(ctx) };
- } else {
- return {};
- }
- }
-
- visitCreateMappingStatement(ctx) {
- return {
- type: CREATE_MAPPING,
- resourceName: this.visit(ctx.identifier()),
- poolName: ctx.KW_TO() ? this.visit(ctx.poolPath()) : '',
- mapping: {
- name: getTextFromStringLiteral(ctx),
- mappingType: getMappingType(ctx),
- },
- };
- }
-
- visitDropViewStatement(ctx) {
- const { database, view } = this.visit(ctx.viewName());
-
- return {
- type: REMOVE_VIEW_COMMAND,
- bucketName: database,
- viewName: view,
- };
- }
-
- // Check that this function is identical to the one above
- visitDropMaterializedViewStatement(ctx) {
- const { database, view } = this.visit(ctx.viewName());
-
- return {
- type: REMOVE_VIEW_COMMAND,
- bucketName: database,
- viewName: view,
- };
- }
-
- visitAlterResourcePlanStatement(ctx) {
- return {
- type: UPDATE_RESOURCE_PLAN,
- resourceName: this.visit(ctx.identifier()),
- renameTo: this.visitWhenExists(ctx, 'alterResourcePlanRenameSuffix'),
- data: {
- ...this.visitWhenExists(ctx, 'rpAssignList', {}),
- ...this.visitWhenExists(ctx, 'rpUnassignList', {}),
- },
- };
- }
-
- visitRpUnassignList(ctx) {
- if (this.visit(ctx.rpUnassign()).includes(true)) {
- return {
- parallelism: '',
- };
- }
-
- return {};
- }
-
- visitRpUnassign(ctx) {
- return Boolean(ctx.KW_QUERY_PARALLELISM());
- }
-
- visitAlterResourcePlanRenameSuffix(ctx) {
- return this.visit(ctx.identifier());
- }
-
- visitDropResourcePlanStatement(ctx) {
- return {
- type: DROP_RESOURCE_PLAN,
- resourceName: this.visit(ctx.identifier()),
- };
- }
-
- visitAlterTriggerStatement(ctx) {
- return {
- type: UPDATE_ITEM_IN_RESOURCE_PLAN,
- identifier: 'trigger',
- resourceName: this.visit(ctx.identifier()[0]),
- trigger: this.visit(ctx.identifier()[1]),
- data: {
- ...this.visitWhenExists(ctx, 'triggerConditionExpression', {}),
- },
- };
- }
-
- visitTriggerConditionExpression(ctx) {
- return {
- condition: ctx.triggerExpression().getText(),
- action: this.visit(ctx.triggerActionExpression()),
- };
- }
-
- visitDropTriggerStatement(ctx) {
- return {
- type: DROP_RESOURCE_PLAN_ITEM,
- identifier: 'trigger',
- resourceName: this.visit(ctx.identifier()[0]),
- trigger: this.visit(ctx.identifier()[1]),
- };
- }
-
- visitAlterPoolStatement(ctx) {
- return {
- type: UPDATE_ITEM_IN_RESOURCE_PLAN,
- identifier: 'pool',
- resourceName: this.visit(ctx.identifier()[0]),
- pool: this.visit(ctx.poolPath()),
- data: {
- ...(ctx.KW_UNSET() && ctx.KW_SCHEDULING_POLICY() ? { schedulingPolicy: 'default' } : {}),
- ...this.visitWhenExists(ctx, 'poolAssignList', {}),
- },
- };
- }
-
- visitDropPoolStatement(ctx) {
- return {
- type: DROP_RESOURCE_PLAN_ITEM,
- identifier: 'pool',
- resourceName: this.visit(ctx.identifier()),
- pool: this.visit(ctx.poolPath()),
- };
- }
-
- visitPoolPath(ctx) {
- return this.visit(ctx.identifier()).join('');
- }
-
- visitDropMappingStatement(ctx) {
- return {
- type: DROP_MAPPING,
- resourceName: this.visit(ctx.identifier()),
- name: getTextFromStringLiteral(ctx),
- };
- }
-
- visitDropTableStatement(ctx) {
- const { database, table } = this.visit(ctx.tableName());
-
- return {
- type: REMOVE_COLLECTION_COMMAND,
- bucketName: database,
- collectionName: table,
- };
- }
-
- visitTagsPair(ctx) {
- const unityTagKey = getTextFromStringLiteral(ctx);
- const unityTagValueCtx = ctx.tagValue();
- const unityTagValue = unityTagValueCtx ? getTextFromStringLiteral(unityTagValueCtx) : '';
-
- return {
- unityTagKey,
- unityTagValue,
- };
- }
-
- visitUnityTags(ctx) {
- const { database, table } = this.visit(ctx.tableName());
- const tagsPairs = this.visit(ctx.tagsPair());
- const isCatalogTags = !!ctx.KW_CATALOG();
- const isSchemaTags = !!ctx.KW_SCHEMA();
- const isViewTags = !!ctx.KW_VIEW();
- const isTableTags = !!ctx.KW_TABLE() && !ctx.KW_COLUMN();
- const isColumnTags = !!ctx.KW_TABLE() && !!ctx.KW_COLUMN();
-
- if (isCatalogTags) {
- return {
- type: UPDATE_CATALOG_LEVEL_DATA_COMMAND,
- data: {
- unityCatalogTags: tagsPairs,
- },
- };
- }
-
- if (isSchemaTags) {
- return {
- type: UPDATE_BUCKET_LEVEL_DATA_COMMAND,
- bucketName: table,
- data: {
- unitySchemaTags: tagsPairs,
- },
- };
- }
-
- if (isTableTags) {
- return {
- type: UPDATE_ENTITY_LEVEL_DATA_COMMAND,
- bucketName: database,
- collectionName: table,
- data: {
- unityEntityTags: tagsPairs,
- },
- };
- }
-
- if (isViewTags) {
- return {
- type: UPDATE_VIEW_LEVEL_DATA_COMMAND,
- bucketName: database,
- viewName: table,
- data: {
- unityViewTags: tagsPairs,
- },
- };
- }
-
- if (isColumnTags) {
- const columnName = this.visit(ctx.identifier());
-
- return {
- type: UPDATE_FIELD_COMMAND,
- bucketName: database,
- collectionName: table,
- name: columnName,
- nameTo: columnName,
- data: {
- unityColumnTags: tagsPairs,
- },
- };
- }
- }
-
- getText(expression) {
- return this.originalText.slice(expression.start.start, expression.stop.stop + 1);
- }
-
- visitClusterByClause(ctx) {
- const compositeClusteringKey = (ctx.columnNameList()?.getText() || '').split(',').map(name => ({ name }));
-
- return {
- compositeClusteringKey,
- };
- }
-}
-
-const removeQuotes = (string = '') => string.replace(/^(`)(.*)\1$/, '$2');
-
-const removeValueQuotes = (string = '') => string.replace(/^(['"])([\s\S]*)\1$/, '$2');
-
-const removeSingleDoubleQuotes = (string = '') => string.replace(/['"]+/g, '');
-
-const getOneOf = (subSchemas, columnName) => {
- return subSchemas.map(subSchema => {
- return {
- type: 'object',
- properties: {
- [columnName]: subSchema,
- },
- };
- });
-};
-
-const getStoredAsTable = storedAsTable => {
- switch (storedAsTable.toLowerCase()) {
- case 'textfile':
- return 'textfile';
- case 'sequencefile':
- return 'sequencefile';
- case 'orc':
- return 'ORC';
- case 'parquet':
- return 'Parquet';
- case 'avro':
- return 'Avro';
- case 'rcfile':
- return 'RCfile';
- case 'jsonfile':
- return 'JSONfile';
- }
-};
-
-const getUsingProperty = using => {
- return (
- {
- delta: 'delta',
- csvfile: 'CSVfile',
- csv: 'CSVfile',
- hive: 'Hive',
- jsonfile: 'JSONfile',
- jdbc: 'JDBC',
- orc: 'ORC',
- parquet: 'Parquet',
- libsvm: 'LIBSVM',
- textfile: 'textfile',
- }[String(using).toLowerCase()] || 'delta'
- );
-};
-
-const handleChoices = field => {
- const { properties, choices } = Object.keys(field.properties).reduce(
- ({ properties, choices }, key) => {
- const property = field.properties[key];
- if (!property.oneOf || property.type) {
- return {
- properties: { ...properties, [key]: property },
- choices,
- };
- }
- return {
- choices: [...choices, getOneOf(property.oneOf, key)],
- properties,
- };
- },
- { properties: {}, choices: [] },
- );
- if (choices.length === 0) {
- return field;
- }
-
- if (choices.length === 1) {
- return {
- ...field,
- properties,
- oneOf: choices[0],
- };
- }
-
- return {
- ...field,
- properties,
- allOf: choices.map(choice => ({ oneOf: choice })),
- };
-};
-
-const convertKeysToProperties = (keys = [], existed) => {
- return keys.reduce((properties, [name, type]) => {
- if (existed?.[name]) {
- return properties;
- }
-
- return {
- ...properties,
- [name]: type || {},
- };
- }, {});
-};
-
-const getOrderType = type => {
- if (type === 'DESC') {
- return 'descending';
- }
-
- return 'ascending';
-};
-
-const getTextFromStringLiteral = ctx => {
- return removeSingleDoubleQuotes(ctx.StringLiteral().getText());
-};
-
-const mergeConstraints = constraints => {
- return _.flatten(constraints).reduce((mergedConstraint, constraint) => {
- if (constraint.required) {
- return { ...mergedConstraint, required: true };
- }
- if (constraint.unique) {
- return { ...mergedConstraint, unique: true };
- }
- if (constraint.primaryKey) {
- return { ...mergedConstraint, primaryKey: true };
- }
- if (constraint.default) {
- return { ...mergedConstraint, default: constraint.default };
- }
- if (constraint.check) {
- return { ...mergedConstraint, check: constraint.check };
- }
- if (constraint.generatedDefaultValue) {
- return { ...mergedConstraint, generatedDefaultValue: constraint.generatedDefaultValue };
- }
- if (constraint.description) {
- return { ...mergedConstraint, description: constraint.description };
- }
- if (constraint.maskingFunction) {
- return { ...mergedConstraint, maskingFunction: constraint.maskingFunction };
- }
-
- return mergedConstraint;
- }, {});
-};
-
-const getMappingType = ctx => {
- if (ctx.KW_USER()) {
- return 'user';
- } else if (ctx.KW_GROUP()) {
- return 'group';
- } else if (ctx.KW_APPLICATION()) {
- return 'application';
- }
-};
-
-const convertColumnsToJsonSchema = columns => {
- const properties = columns.reduce((schema, column) => {
- return {
- ...schema,
- [column.name]: {
- description: column.comment,
- },
- };
- }, {});
-
- return {
- properties,
- };
-};
-
-module.exports = Visitor;
diff --git a/reverse_engineering/parseDDLStatements.js b/reverse_engineering/parseDDLStatements.js
deleted file mode 100644
index e8dcec8..0000000
--- a/reverse_engineering/parseDDLStatements.js
+++ /dev/null
@@ -1,26 +0,0 @@
-const _ = require('lodash');
-const antlr4 = require('antlr4');
-const HiveLexer = require('./parser/Hive/HiveLexer.js');
-const HiveParser = require('./parser/Hive/HiveParser.js');
-const hqlToCollectionsVisitor = require('./hqlToCollectionsVisitor.js');
-const commandsService = require('./commandsService');
-const ExprErrorListener = require('./antlrErrorListener');
-
-module.exports = {
- parseDDLStatements(input) {
- const chars = new antlr4.InputStream(input);
- const lexer = new HiveLexer.HiveLexer(chars);
-
- const tokens = new antlr4.CommonTokenStream(lexer);
- const parser = new HiveParser.HiveParser(tokens);
- parser.removeErrorListeners();
- parser.addErrorListener(new ExprErrorListener());
-
- const tree = parser.statements();
-
- const hqlToCollectionsGenerator = new hqlToCollectionsVisitor(input);
-
- const commands = tree.accept(hqlToCollectionsGenerator);
- return commandsService.convertCommandsToReDocs(_.flatten(commands).filter(Boolean), input);
- },
-};
diff --git a/reverse_engineering/parseViewStatement.js b/reverse_engineering/parseViewStatement.js
index 6a08f76..18c80b7 100644
--- a/reverse_engineering/parseViewStatement.js
+++ b/reverse_engineering/parseViewStatement.js
@@ -1,15 +1,18 @@
const { getErrorMessage } = require('./helpers/utils');
-const { parseDDLStatements } = require('./parseDDLStatements');
module.exports = {
parseViewStatement(data, logger, callback, app) {
try {
const statement = data.statement;
- const { result } = parseDDLStatements('CREATE VIEW `db`.`name` AS ' + statement + ';\n');
+ const viewDdl = 'CREATE VIEW `db`.`name` AS ' + statement + ';\n';
callback(null, {
jsonSchema: {},
- ddl: result?.[0]?.doc?.views?.[0]?.ddl,
+ ddl: {
+ type: 'databricks',
+ script: viewDdl,
+ takeAllDdlProperties: true,
+ },
});
} catch (error) {
const message = getErrorMessage(error);
diff --git a/reverse_engineering/parser/Hive/HiveLexer.interp b/reverse_engineering/parser/Hive/HiveLexer.interp
deleted file mode 100644
index ef7b6e5..0000000
--- a/reverse_engineering/parser/Hive/HiveLexer.interp
+++ /dev/null
@@ -1,1281 +0,0 @@
-token literal names:
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-'.'
-':'
-','
-';'
-'('
-')'
-'['
-']'
-'{'
-'}'
-null
-'<=>'
-null
-'<='
-'<'
-'>='
-'>'
-'=>'
-'/'
-'+'
-'-'
-'*'
-'%'
-'DIV'
-'&'
-'~'
-'|'
-'||'
-'^'
-'?'
-'$'
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-
-token symbolic names:
-null
-KW_TRUE
-KW_FALSE
-KW_ALL
-KW_AUTO
-KW_NONE
-KW_AND
-KW_OR
-KW_NOT
-KW_LIKE
-KW_ANY
-KW_IF
-KW_EXISTS
-KW_ASC
-KW_DESC
-KW_NULLS
-KW_LAST
-KW_ORDER
-KW_GROUP
-KW_BY
-KW_HAVING
-KW_WHERE
-KW_FROM
-KW_AS
-KW_SELECT
-KW_DISTINCT
-KW_INSERT
-KW_OVERWRITE
-KW_OUTER
-KW_UNIQUEJOIN
-KW_PRESERVE
-KW_JOIN
-KW_LEFT
-KW_RIGHT
-KW_FULL
-KW_ON
-KW_PARTITION
-KW_PARTITIONS
-KW_TABLE
-KW_TABLES
-KW_TAGS
-KW_COLUMNS
-KW_INDEX
-KW_INDEXES
-KW_REBUILD
-KW_FUNCTIONS
-KW_SHOW
-KW_MSCK
-KW_REPAIR
-KW_DIRECTORY
-KW_LOCAL
-KW_TRANSFORM
-KW_USING
-KW_CLUSTER
-KW_DISTRIBUTE
-KW_SORT
-KW_UNION
-KW_EXCEPT
-KW_LOAD
-KW_EXPORT
-KW_IMPORT
-KW_REPLICATION
-KW_METADATA
-KW_DATA
-KW_INPATH
-KW_IS
-KW_NULL
-KW_CREATE
-KW_EXTERNAL
-KW_ALTER
-KW_CHANGE
-KW_COLUMN
-KW_FIRST
-KW_AFTER
-KW_DESCRIBE
-KW_DROP
-KW_RENAME
-KW_TO
-KW_COMMENT
-KW_BOOLEAN
-KW_TINYINT
-KW_SMALLINT
-KW_INT
-KW_BIGINT
-KW_FLOAT
-KW_DOUBLE
-KW_PRECISION
-KW_DATE
-KW_DATETIME
-KW_TIMESTAMP
-KW_TIMESTAMP_NTZ
-KW_TIMESTAMPLOCALTZ
-KW_TIME
-KW_ZONE
-KW_INTERVAL
-KW_DECIMAL
-KW_STRING
-KW_CHAR
-KW_VARCHAR
-KW_ARRAY
-KW_STRUCT
-KW_MAP
-KW_MASK
-KW_VARIANT
-KW_UNIONTYPE
-KW_REDUCE
-KW_PARTITIONED
-KW_CLUSTERED
-KW_SORTED
-KW_INTO
-KW_BUCKETS
-KW_ROW
-KW_ROWS
-KW_FORMAT
-KW_DELIMITED
-KW_FIELDS
-KW_TERMINATED
-KW_ESCAPED
-KW_COLLECTION
-KW_ITEMS
-KW_KEYS
-KW_KEY_TYPE
-KW_KILL
-KW_LINES
-KW_STORED
-KW_FILEFORMAT
-KW_INPUTFORMAT
-KW_OUTPUTFORMAT
-KW_INPUTDRIVER
-KW_OUTPUTDRIVER
-KW_ENABLE
-KW_DISABLE
-KW_LOCATION
-KW_TABLESAMPLE
-KW_BUCKET
-KW_OUT
-KW_OF
-KW_PERCENT
-KW_CAST
-KW_ADD
-KW_REPLACE
-KW_RLIKE
-KW_REGEXP
-KW_TEMPORARY
-KW_FUNCTION
-KW_MACRO
-KW_FILE
-KW_JAR
-KW_EXPLAIN
-KW_EXTENDED
-KW_FORMATTED
-KW_DEPENDENCY
-KW_LOGICAL
-KW_SERDE
-KW_WITH
-KW_DEFERRED
-KW_SERDEPROPERTIES
-KW_DBPROPERTIES
-KW_LIMIT
-KW_OFFSET
-KW_SET
-KW_UNSET
-KW_TBLPROPERTIES
-KW_IDXPROPERTIES
-KW_VALUE_TYPE
-KW_ELEM_TYPE
-KW_DEFINED
-KW_CASE
-KW_WHEN
-KW_THEN
-KW_ELSE
-KW_END
-KW_MAPJOIN
-KW_STREAMTABLE
-KW_CLUSTERSTATUS
-KW_UTC
-KW_UTCTIMESTAMP
-KW_LONG
-KW_DELETE
-KW_PLUS
-KW_MINUS
-KW_FETCH
-KW_INTERSECT
-KW_VIEW
-KW_VIEWS
-KW_IN
-KW_DATABASE
-KW_DATABASES
-KW_MATERIALIZED
-KW_SCHEMA
-KW_SCHEMAS
-KW_GRANT
-KW_REVOKE
-KW_SSL
-KW_UNDO
-KW_LOCK
-KW_LOCKS
-KW_UNLOCK
-KW_SHARED
-KW_EXCLUSIVE
-KW_PROCEDURE
-KW_UNSIGNED
-KW_WHILE
-KW_READ
-KW_READS
-KW_PURGE
-KW_RANGE
-KW_ANALYZE
-KW_BEFORE
-KW_BETWEEN
-KW_BOTH
-KW_BINARY
-KW_CROSS
-KW_CONTINUE
-KW_CURSOR
-KW_TRIGGER
-KW_RECORDREADER
-KW_RECORDWRITER
-KW_SEMI
-KW_LATERAL
-KW_TOUCH
-KW_ARCHIVE
-KW_UNARCHIVE
-KW_COMPUTE
-KW_STATISTICS
-KW_USE
-KW_OPTIONS
-KW_OPTION
-KW_CONCATENATE
-KW_CATALOG
-KW_SHOW_DATABASE
-KW_UPDATE
-KW_RESTRICT
-KW_CASCADE
-KW_SKEWED
-KW_ROLLUP
-KW_CUBE
-KW_DIRECTORIES
-KW_FOR
-KW_WINDOW
-KW_UNBOUNDED
-KW_PRECEDING
-KW_FOLLOWING
-KW_CURRENT
-KW_CURRENT_DATE
-KW_CURRENT_TIMESTAMP
-KW_LESS
-KW_MORE
-KW_OVER
-KW_GROUPING
-KW_SETS
-KW_TRUNCATE
-KW_NOSCAN
-KW_USER
-KW_ROLE
-KW_ROLES
-KW_INNER
-KW_EXCHANGE
-KW_URI
-KW_SERVER
-KW_ADMIN
-KW_OWNER
-KW_PRINCIPALS
-KW_COMPACT
-KW_COMPACTIONS
-KW_TRANSACTIONS
-KW_REWRITE
-KW_AUTHORIZATION
-KW_REOPTIMIZATION
-KW_CONF
-KW_VALUES
-KW_RELOAD
-KW_YEAR
-KW_QUERY
-KW_QUARTER
-KW_MONTH
-KW_WEEK
-KW_DAY
-KW_DOW
-KW_HOUR
-KW_MINUTE
-KW_SECOND
-KW_START
-KW_TRANSACTION
-KW_COMMIT
-KW_ROLLBACK
-KW_WORK
-KW_ONLY
-KW_WRITE
-KW_ISOLATION
-KW_LEVEL
-KW_SNAPSHOT
-KW_AUTOCOMMIT
-KW_CACHE
-KW_PRIMARY
-KW_FOREIGN
-KW_REFERENCES
-KW_CONSTRAINT
-KW_ENFORCED
-KW_VALIDATE
-KW_NOVALIDATE
-KW_RELY
-KW_NORELY
-KW_UNIQUE
-KW_KEY
-KW_ABORT
-KW_EXTRACT
-KW_FLOOR
-KW_MERGE
-KW_MATCHED
-KW_REPL
-KW_DUMP
-KW_STATUS
-KW_VECTORIZATION
-KW_SUMMARY
-KW_OPERATOR
-KW_EXPRESSION
-KW_DETAIL
-KW_WAIT
-KW_RESOURCE
-KW_PLAN
-KW_QUERY_PARALLELISM
-KW_PLANS
-KW_ACTIVATE
-KW_DEFAULT
-KW_CHECK
-KW_POOL
-KW_MOVE
-KW_DO
-KW_ALLOC_FRACTION
-KW_SCHEDULING_POLICY
-KW_PATH
-KW_MAPPING
-KW_WORKLOAD
-KW_MANAGEMENT
-KW_ACTIVE
-KW_MANAGED
-KW_UNMANAGED
-KW_APPLICATION
-KW_SYNC
-KW_SEQUENCEFILE
-KW_TEXTFILE
-KW_RCFILE
-KW_ORC
-KW_PARQUET
-KW_DELTA
-KW_AVRO
-KW_CSV
-KW_JSON
-KW_JSONFILE
-KW_BLOOMFILTER
-KW_GENERATED
-KW_ALWAYS
-KW_IDENTITY
-KW_INCREMENT
-KW_SCHEDULE
-KW_REFRESH
-KW_EVERY
-KW_CRON
-KW_AT
-KW_FILTER
-KW_STREAM
-KW_STREAMING
-KW_MOST
-KW_EXPECT
-KW_VIOLATION
-KW_FAIL
-DOT
-COLON
-COMMA
-SEMICOLON
-LPAREN
-RPAREN
-LSQUARE
-RSQUARE
-LCURLY
-RCURLY
-EQUAL
-EQUAL_NS
-NOTEQUAL
-LESSTHANOREQUALTO
-LESSTHAN
-GREATERTHANOREQUALTO
-GREATERTHAN
-FAT_ARROW
-DIVIDE
-PLUS
-MINUS
-STAR
-MOD
-DIV
-AMPERSAND
-TILDE
-BITWISEOR
-CONCATENATE
-BITWISEXOR
-QUESTION
-DOLLAR
-StringLiteral
-CharSetLiteral
-IntegralLiteral
-NumberLiteral
-ByteLengthLiteral
-Number
-Identifier
-QuotedIdentifier
-CharSetName
-WS
-LINE_COMMENT
-QUERY_HINT
-SHOW_HINT
-HIDDEN_HINT
-
-rule names:
-KW_TRUE
-KW_FALSE
-KW_ALL
-KW_AUTO
-KW_NONE
-KW_AND
-KW_OR
-KW_NOT
-KW_LIKE
-KW_ANY
-KW_IF
-KW_EXISTS
-KW_ASC
-KW_DESC
-KW_NULLS
-KW_LAST
-KW_ORDER
-KW_GROUP
-KW_BY
-KW_HAVING
-KW_WHERE
-KW_FROM
-KW_AS
-KW_SELECT
-KW_DISTINCT
-KW_INSERT
-KW_OVERWRITE
-KW_OUTER
-KW_UNIQUEJOIN
-KW_PRESERVE
-KW_JOIN
-KW_LEFT
-KW_RIGHT
-KW_FULL
-KW_ON
-KW_PARTITION
-KW_PARTITIONS
-KW_TABLE
-KW_TABLES
-KW_TAGS
-KW_COLUMNS
-KW_INDEX
-KW_INDEXES
-KW_REBUILD
-KW_FUNCTIONS
-KW_SHOW
-KW_MSCK
-KW_REPAIR
-KW_DIRECTORY
-KW_LOCAL
-KW_TRANSFORM
-KW_USING
-KW_CLUSTER
-KW_DISTRIBUTE
-KW_SORT
-KW_UNION
-KW_EXCEPT
-KW_LOAD
-KW_EXPORT
-KW_IMPORT
-KW_REPLICATION
-KW_METADATA
-KW_DATA
-KW_INPATH
-KW_IS
-KW_NULL
-KW_CREATE
-KW_EXTERNAL
-KW_ALTER
-KW_CHANGE
-KW_COLUMN
-KW_FIRST
-KW_AFTER
-KW_DESCRIBE
-KW_DROP
-KW_RENAME
-KW_TO
-KW_COMMENT
-KW_BOOLEAN
-KW_TINYINT
-KW_SMALLINT
-KW_INT
-KW_BIGINT
-KW_FLOAT
-KW_DOUBLE
-KW_PRECISION
-KW_DATE
-KW_DATETIME
-KW_TIMESTAMP
-KW_TIMESTAMP_NTZ
-KW_TIMESTAMPLOCALTZ
-KW_TIME
-KW_ZONE
-KW_INTERVAL
-KW_DECIMAL
-KW_STRING
-KW_CHAR
-KW_VARCHAR
-KW_ARRAY
-KW_STRUCT
-KW_MAP
-KW_MASK
-KW_VARIANT
-KW_UNIONTYPE
-KW_REDUCE
-KW_PARTITIONED
-KW_CLUSTERED
-KW_SORTED
-KW_INTO
-KW_BUCKETS
-KW_ROW
-KW_ROWS
-KW_FORMAT
-KW_DELIMITED
-KW_FIELDS
-KW_TERMINATED
-KW_ESCAPED
-KW_COLLECTION
-KW_ITEMS
-KW_KEYS
-KW_KEY_TYPE
-KW_KILL
-KW_LINES
-KW_STORED
-KW_FILEFORMAT
-KW_INPUTFORMAT
-KW_OUTPUTFORMAT
-KW_INPUTDRIVER
-KW_OUTPUTDRIVER
-KW_ENABLE
-KW_DISABLE
-KW_LOCATION
-KW_TABLESAMPLE
-KW_BUCKET
-KW_OUT
-KW_OF
-KW_PERCENT
-KW_CAST
-KW_ADD
-KW_REPLACE
-KW_RLIKE
-KW_REGEXP
-KW_TEMPORARY
-KW_FUNCTION
-KW_MACRO
-KW_FILE
-KW_JAR
-KW_EXPLAIN
-KW_EXTENDED
-KW_FORMATTED
-KW_DEPENDENCY
-KW_LOGICAL
-KW_SERDE
-KW_WITH
-KW_DEFERRED
-KW_SERDEPROPERTIES
-KW_DBPROPERTIES
-KW_LIMIT
-KW_OFFSET
-KW_SET
-KW_UNSET
-KW_TBLPROPERTIES
-KW_IDXPROPERTIES
-KW_VALUE_TYPE
-KW_ELEM_TYPE
-KW_DEFINED
-KW_CASE
-KW_WHEN
-KW_THEN
-KW_ELSE
-KW_END
-KW_MAPJOIN
-KW_STREAMTABLE
-KW_CLUSTERSTATUS
-KW_UTC
-KW_UTCTIMESTAMP
-KW_LONG
-KW_DELETE
-KW_PLUS
-KW_MINUS
-KW_FETCH
-KW_INTERSECT
-KW_VIEW
-KW_VIEWS
-KW_IN
-KW_DATABASE
-KW_DATABASES
-KW_MATERIALIZED
-KW_SCHEMA
-KW_SCHEMAS
-KW_GRANT
-KW_REVOKE
-KW_SSL
-KW_UNDO
-KW_LOCK
-KW_LOCKS
-KW_UNLOCK
-KW_SHARED
-KW_EXCLUSIVE
-KW_PROCEDURE
-KW_UNSIGNED
-KW_WHILE
-KW_READ
-KW_READS
-KW_PURGE
-KW_RANGE
-KW_ANALYZE
-KW_BEFORE
-KW_BETWEEN
-KW_BOTH
-KW_BINARY
-KW_CROSS
-KW_CONTINUE
-KW_CURSOR
-KW_TRIGGER
-KW_RECORDREADER
-KW_RECORDWRITER
-KW_SEMI
-KW_LATERAL
-KW_TOUCH
-KW_ARCHIVE
-KW_UNARCHIVE
-KW_COMPUTE
-KW_STATISTICS
-KW_USE
-KW_OPTIONS
-KW_OPTION
-KW_CONCATENATE
-KW_CATALOG
-KW_SHOW_DATABASE
-KW_UPDATE
-KW_RESTRICT
-KW_CASCADE
-KW_SKEWED
-KW_ROLLUP
-KW_CUBE
-KW_DIRECTORIES
-KW_FOR
-KW_WINDOW
-KW_UNBOUNDED
-KW_PRECEDING
-KW_FOLLOWING
-KW_CURRENT
-KW_CURRENT_DATE
-KW_CURRENT_TIMESTAMP
-KW_LESS
-KW_MORE
-KW_OVER
-KW_GROUPING
-KW_SETS
-KW_TRUNCATE
-KW_NOSCAN
-KW_USER
-KW_ROLE
-KW_ROLES
-KW_INNER
-KW_EXCHANGE
-KW_URI
-KW_SERVER
-KW_ADMIN
-KW_OWNER
-KW_PRINCIPALS
-KW_COMPACT
-KW_COMPACTIONS
-KW_TRANSACTIONS
-KW_REWRITE
-KW_AUTHORIZATION
-KW_REOPTIMIZATION
-KW_CONF
-KW_VALUES
-KW_RELOAD
-KW_YEAR
-KW_QUERY
-KW_QUARTER
-KW_MONTH
-KW_WEEK
-KW_DAY
-KW_DOW
-KW_HOUR
-KW_MINUTE
-KW_SECOND
-KW_START
-KW_TRANSACTION
-KW_COMMIT
-KW_ROLLBACK
-KW_WORK
-KW_ONLY
-KW_WRITE
-KW_ISOLATION
-KW_LEVEL
-KW_SNAPSHOT
-KW_AUTOCOMMIT
-KW_CACHE
-KW_PRIMARY
-KW_FOREIGN
-KW_REFERENCES
-KW_CONSTRAINT
-KW_ENFORCED
-KW_VALIDATE
-KW_NOVALIDATE
-KW_RELY
-KW_NORELY
-KW_UNIQUE
-KW_KEY
-KW_ABORT
-KW_EXTRACT
-KW_FLOOR
-KW_MERGE
-KW_MATCHED
-KW_REPL
-KW_DUMP
-KW_STATUS
-KW_VECTORIZATION
-KW_SUMMARY
-KW_OPERATOR
-KW_EXPRESSION
-KW_DETAIL
-KW_WAIT
-KW_RESOURCE
-KW_PLAN
-KW_QUERY_PARALLELISM
-KW_PLANS
-KW_ACTIVATE
-KW_DEFAULT
-KW_CHECK
-KW_POOL
-KW_MOVE
-KW_DO
-KW_ALLOC_FRACTION
-KW_SCHEDULING_POLICY
-KW_PATH
-KW_MAPPING
-KW_WORKLOAD
-KW_MANAGEMENT
-KW_ACTIVE
-KW_MANAGED
-KW_UNMANAGED
-KW_APPLICATION
-KW_SYNC
-KW_SEQUENCEFILE
-KW_TEXTFILE
-KW_RCFILE
-KW_ORC
-KW_PARQUET
-KW_DELTA
-KW_AVRO
-KW_CSV
-KW_JSON
-KW_JSONFILE
-KW_BLOOMFILTER
-KW_GENERATED
-KW_ALWAYS
-KW_IDENTITY
-KW_INCREMENT
-KW_SCHEDULE
-KW_REFRESH
-KW_EVERY
-KW_CRON
-KW_AT
-KW_FILTER
-KW_STREAM
-KW_STREAMING
-KW_MOST
-KW_EXPECT
-KW_VIOLATION
-KW_FAIL
-DOT
-COLON
-COMMA
-SEMICOLON
-LPAREN
-RPAREN
-LSQUARE
-RSQUARE
-LCURLY
-RCURLY
-EQUAL
-EQUAL_NS
-NOTEQUAL
-LESSTHANOREQUALTO
-LESSTHAN
-GREATERTHANOREQUALTO
-GREATERTHAN
-FAT_ARROW
-DIVIDE
-PLUS
-MINUS
-STAR
-MOD
-DIV
-AMPERSAND
-TILDE
-BITWISEOR
-CONCATENATE
-BITWISEXOR
-QUESTION
-DOLLAR
-Letter
-HexDigit
-Digit
-Exponent
-RegexComponent
-A
-B
-C
-D
-E
-F
-G
-H
-I
-J
-K
-L
-M
-N
-O
-P
-Q
-R
-S
-T
-U
-V
-W
-X
-Y
-Z
-StringLiteral
-CharSetLiteral
-IntegralLiteral
-NumberLiteral
-ByteLengthLiteral
-Number
-Identifier
-QuotedIdentifier
-CharSetName
-WS
-LINE_COMMENT
-QUERY_HINT
-SHOW_HINT
-HIDDEN_HINT
-
-channel names:
-DEFAULT_TOKEN_CHANNEL
-HIDDEN
-
-mode names:
-DEFAULT_MODE
-
-atn:
-[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 413, 4032, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4, 60, 9, 60, 4, 61, 9, 61, 4, 62, 9, 62, 4, 63, 9, 63, 4, 64, 9, 64, 4, 65, 9, 65, 4, 66, 9, 66, 4, 67, 9, 67, 4, 68, 9, 68, 4, 69, 9, 69, 4, 70, 9, 70, 4, 71, 9, 71, 4, 72, 9, 72, 4, 73, 9, 73, 4, 74, 9, 74, 4, 75, 9, 75, 4, 76, 9, 76, 4, 77, 9, 77, 4, 78, 9, 78, 4, 79, 9, 79, 4, 80, 9, 80, 4, 81, 9, 81, 4, 82, 9, 82, 4, 83, 9, 83, 4, 84, 9, 84, 4, 85, 9, 85, 4, 86, 9, 86, 4, 87, 9, 87, 4, 88, 9, 88, 4, 89, 9, 89, 4, 90, 9, 90, 4, 91, 9, 91, 4, 92, 9, 92, 4, 93, 9, 93, 4, 94, 9, 94, 4, 95, 9, 95, 4, 96, 9, 96, 4, 97, 9, 97, 4, 98, 9, 98, 4, 99, 9, 99, 4, 100, 9, 100, 4, 101, 9, 101, 4, 102, 9, 102, 4, 103, 9, 103, 4, 104, 9, 104, 4, 105, 9, 105, 4, 106, 9, 106, 4, 107, 9, 107, 4, 108, 9, 108, 4, 109, 9, 109, 4, 110, 9, 110, 4, 111, 9, 111, 4, 112, 9, 112, 4, 113, 9, 113, 4, 114, 9, 114, 4, 115, 9, 115, 4, 116, 9, 116, 4, 117, 9, 117, 4, 118, 9, 118, 4, 119, 9, 119, 4, 120, 9, 120, 4, 121, 9, 121, 4, 122, 9, 122, 4, 123, 9, 123, 4, 124, 9, 124, 4, 125, 9, 125, 4, 126, 9, 126, 4, 127, 9, 127, 4, 128, 9, 128, 4, 129, 9, 129, 4, 130, 9, 130, 4, 131, 9, 131, 4, 132, 9, 132, 4, 133, 9, 133, 4, 134, 9, 134, 4, 135, 9, 135, 4, 136, 9, 136, 4, 137, 9, 137, 4, 138, 9, 138, 4, 139, 9, 139, 4, 140, 9, 140, 4, 141, 9, 141, 4, 142, 9, 142, 4, 143, 9, 143, 4, 144, 9, 144, 4, 145, 9, 145, 4, 146, 9, 146, 4, 147, 9, 147, 4, 148, 9, 148, 4, 149, 9, 149, 4, 150, 9, 150, 4, 151, 9, 151, 4, 152, 9, 152, 4, 153, 9, 153, 4, 154, 9, 154, 4, 155, 9, 155, 4, 156, 9, 156, 4, 157, 9, 157, 4, 158, 9, 158, 4, 159, 9, 159, 4, 160, 9, 160, 4, 161, 9, 161, 4, 162, 9, 162, 4, 163, 9, 163, 4, 164, 9, 164, 4, 165, 9, 165, 4, 166, 9, 166, 4, 167, 9, 167, 4, 168, 9, 168, 4, 169, 9, 169, 4, 170, 9, 170, 4, 171, 9, 171, 4, 172, 9, 172, 4, 173, 9, 173, 4, 174, 9, 174, 4, 175, 9, 175, 4, 176, 9, 176, 4, 177, 9, 177, 4, 178, 9, 178, 4, 179, 9, 179, 4, 180, 9, 180, 4, 181, 9, 181, 4, 182, 9, 182, 4, 183, 9, 183, 4, 184, 9, 184, 4, 185, 9, 185, 4, 186, 9, 186, 4, 187, 9, 187, 4, 188, 9, 188, 4, 189, 9, 189, 4, 190, 9, 190, 4, 191, 9, 191, 4, 192, 9, 192, 4, 193, 9, 193, 4, 194, 9, 194, 4, 195, 9, 195, 4, 196, 9, 196, 4, 197, 9, 197, 4, 198, 9, 198, 4, 199, 9, 199, 4, 200, 9, 200, 4, 201, 9, 201, 4, 202, 9, 202, 4, 203, 9, 203, 4, 204, 9, 204, 4, 205, 9, 205, 4, 206, 9, 206, 4, 207, 9, 207, 4, 208, 9, 208, 4, 209, 9, 209, 4, 210, 9, 210, 4, 211, 9, 211, 4, 212, 9, 212, 4, 213, 9, 213, 4, 214, 9, 214, 4, 215, 9, 215, 4, 216, 9, 216, 4, 217, 9, 217, 4, 218, 9, 218, 4, 219, 9, 219, 4, 220, 9, 220, 4, 221, 9, 221, 4, 222, 9, 222, 4, 223, 9, 223, 4, 224, 9, 224, 4, 225, 9, 225, 4, 226, 9, 226, 4, 227, 9, 227, 4, 228, 9, 228, 4, 229, 9, 229, 4, 230, 9, 230, 4, 231, 9, 231, 4, 232, 9, 232, 4, 233, 9, 233, 4, 234, 9, 234, 4, 235, 9, 235, 4, 236, 9, 236, 4, 237, 9, 237, 4, 238, 9, 238, 4, 239, 9, 239, 4, 240, 9, 240, 4, 241, 9, 241, 4, 242, 9, 242, 4, 243, 9, 243, 4, 244, 9, 244, 4, 245, 9, 245, 4, 246, 9, 246, 4, 247, 9, 247, 4, 248, 9, 248, 4, 249, 9, 249, 4, 250, 9, 250, 4, 251, 9, 251, 4, 252, 9, 252, 4, 253, 9, 253, 4, 254, 9, 254, 4, 255, 9, 255, 4, 256, 9, 256, 4, 257, 9, 257, 4, 258, 9, 258, 4, 259, 9, 259, 4, 260, 9, 260, 4, 261, 9, 261, 4, 262, 9, 262, 4, 263, 9, 263, 4, 264, 9, 264, 4, 265, 9, 265, 4, 266, 9, 266, 4, 267, 9, 267, 4, 268, 9, 268, 4, 269, 9, 269, 4, 270, 9, 270, 4, 271, 9, 271, 4, 272, 9, 272, 4, 273, 9, 273, 4, 274, 9, 274, 4, 275, 9, 275, 4, 276, 9, 276, 4, 277, 9, 277, 4, 278, 9, 278, 4, 279, 9, 279, 4, 280, 9, 280, 4, 281, 9, 281, 4, 282, 9, 282, 4, 283, 9, 283, 4, 284, 9, 284, 4, 285, 9, 285, 4, 286, 9, 286, 4, 287, 9, 287, 4, 288, 9, 288, 4, 289, 9, 289, 4, 290, 9, 290, 4, 291, 9, 291, 4, 292, 9, 292, 4, 293, 9, 293, 4, 294, 9, 294, 4, 295, 9, 295, 4, 296, 9, 296, 4, 297, 9, 297, 4, 298, 9, 298, 4, 299, 9, 299, 4, 300, 9, 300, 4, 301, 9, 301, 4, 302, 9, 302, 4, 303, 9, 303, 4, 304, 9, 304, 4, 305, 9, 305, 4, 306, 9, 306, 4, 307, 9, 307, 4, 308, 9, 308, 4, 309, 9, 309, 4, 310, 9, 310, 4, 311, 9, 311, 4, 312, 9, 312, 4, 313, 9, 313, 4, 314, 9, 314, 4, 315, 9, 315, 4, 316, 9, 316, 4, 317, 9, 317, 4, 318, 9, 318, 4, 319, 9, 319, 4, 320, 9, 320, 4, 321, 9, 321, 4, 322, 9, 322, 4, 323, 9, 323, 4, 324, 9, 324, 4, 325, 9, 325, 4, 326, 9, 326, 4, 327, 9, 327, 4, 328, 9, 328, 4, 329, 9, 329, 4, 330, 9, 330, 4, 331, 9, 331, 4, 332, 9, 332, 4, 333, 9, 333, 4, 334, 9, 334, 4, 335, 9, 335, 4, 336, 9, 336, 4, 337, 9, 337, 4, 338, 9, 338, 4, 339, 9, 339, 4, 340, 9, 340, 4, 341, 9, 341, 4, 342, 9, 342, 4, 343, 9, 343, 4, 344, 9, 344, 4, 345, 9, 345, 4, 346, 9, 346, 4, 347, 9, 347, 4, 348, 9, 348, 4, 349, 9, 349, 4, 350, 9, 350, 4, 351, 9, 351, 4, 352, 9, 352, 4, 353, 9, 353, 4, 354, 9, 354, 4, 355, 9, 355, 4, 356, 9, 356, 4, 357, 9, 357, 4, 358, 9, 358, 4, 359, 9, 359, 4, 360, 9, 360, 4, 361, 9, 361, 4, 362, 9, 362, 4, 363, 9, 363, 4, 364, 9, 364, 4, 365, 9, 365, 4, 366, 9, 366, 4, 367, 9, 367, 4, 368, 9, 368, 4, 369, 9, 369, 4, 370, 9, 370, 4, 371, 9, 371, 4, 372, 9, 372, 4, 373, 9, 373, 4, 374, 9, 374, 4, 375, 9, 375, 4, 376, 9, 376, 4, 377, 9, 377, 4, 378, 9, 378, 4, 379, 9, 379, 4, 380, 9, 380, 4, 381, 9, 381, 4, 382, 9, 382, 4, 383, 9, 383, 4, 384, 9, 384, 4, 385, 9, 385, 4, 386, 9, 386, 4, 387, 9, 387, 4, 388, 9, 388, 4, 389, 9, 389, 4, 390, 9, 390, 4, 391, 9, 391, 4, 392, 9, 392, 4, 393, 9, 393, 4, 394, 9, 394, 4, 395, 9, 395, 4, 396, 9, 396, 4, 397, 9, 397, 4, 398, 9, 398, 4, 399, 9, 399, 4, 400, 9, 400, 4, 401, 9, 401, 4, 402, 9, 402, 4, 403, 9, 403, 4, 404, 9, 404, 4, 405, 9, 405, 4, 406, 9, 406, 4, 407, 9, 407, 4, 408, 9, 408, 4, 409, 9, 409, 4, 410, 9, 410, 4, 411, 9, 411, 4, 412, 9, 412, 4, 413, 9, 413, 4, 414, 9, 414, 4, 415, 9, 415, 4, 416, 9, 416, 4, 417, 9, 417, 4, 418, 9, 418, 4, 419, 9, 419, 4, 420, 9, 420, 4, 421, 9, 421, 4, 422, 9, 422, 4, 423, 9, 423, 4, 424, 9, 424, 4, 425, 9, 425, 4, 426, 9, 426, 4, 427, 9, 427, 4, 428, 9, 428, 4, 429, 9, 429, 4, 430, 9, 430, 4, 431, 9, 431, 4, 432, 9, 432, 4, 433, 9, 433, 4, 434, 9, 434, 4, 435, 9, 435, 4, 436, 9, 436, 4, 437, 9, 437, 4, 438, 9, 438, 4, 439, 9, 439, 4, 440, 9, 440, 4, 441, 9, 441, 4, 442, 9, 442, 4, 443, 9, 443, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 5, 9, 925, 10, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 36, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 5, 83, 1427, 10, 83, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 94, 3, 94, 3, 94, 3, 94, 3, 94, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 5, 96, 1549, 10, 96, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 102, 3, 102, 3, 102, 3, 102, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 112, 3, 112, 3, 112, 3, 112, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 136, 3, 136, 3, 136, 3, 136, 3, 137, 3, 137, 3, 137, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 140, 3, 140, 3, 140, 3, 140, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 3, 148, 3, 148, 3, 148, 3, 148, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 161, 3, 161, 3, 161, 3, 161, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 171, 3, 171, 3, 171, 3, 171, 3, 171, 3, 172, 3, 172, 3, 172, 3, 172, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 176, 3, 176, 3, 176, 3, 176, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 186, 3, 186, 3, 186, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 194, 3, 194, 3, 194, 3, 194, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 221, 3, 221, 3, 221, 3, 221, 3, 221, 3, 221, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 226, 3, 226, 3, 226, 3, 226, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 239, 3, 239, 3, 239, 3, 239, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 259, 3, 259, 3, 259, 3, 259, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 264, 3, 264, 3, 264, 3, 264, 3, 264, 3, 264, 3, 264, 3, 264, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 5, 273, 2935, 10, 273, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 5, 276, 2964, 10, 276, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 5, 277, 2977, 10, 277, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 5, 278, 2988, 10, 278, 3, 279, 3, 279, 3, 279, 3, 279, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 5, 280, 3005, 10, 280, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 5, 281, 3022, 10, 281, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 5, 282, 3039, 10, 282, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 297, 3, 297, 3, 297, 3, 297, 3, 297, 3, 297, 3, 297, 3, 297, 3, 297, 3, 297, 3, 297, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 305, 3, 305, 3, 305, 3, 305, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 314, 3, 314, 3, 314, 3, 314, 3, 314, 3, 314, 3, 314, 3, 314, 3, 314, 3, 314, 3, 314, 3, 314, 3, 314, 3, 314, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 318, 3, 318, 3, 318, 3, 318, 3, 318, 3, 318, 3, 318, 3, 319, 3, 319, 3, 319, 3, 319, 3, 319, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 329, 3, 329, 3, 329, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 344, 3, 344, 3, 344, 3, 344, 3, 345, 3, 345, 3, 345, 3, 345, 3, 345, 3, 345, 3, 345, 3, 345, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 348, 3, 348, 3, 348, 3, 348, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 350, 3, 350, 3, 350, 3, 350, 3, 350, 3, 350, 3, 350, 3, 350, 3, 350, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 360, 3, 360, 3, 360, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 362, 3, 362, 3, 362, 3, 362, 3, 362, 3, 362, 3, 362, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 364, 3, 364, 3, 364, 3, 364, 3, 364, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 367, 3, 367, 3, 367, 3, 367, 3, 367, 3, 368, 3, 368, 3, 369, 3, 369, 3, 370, 3, 370, 3, 371, 3, 371, 3, 372, 3, 372, 3, 373, 3, 373, 3, 374, 3, 374, 3, 375, 3, 375, 3, 376, 3, 376, 3, 377, 3, 377, 3, 378, 3, 378, 3, 378, 5, 378, 3733, 10, 378, 3, 379, 3, 379, 3, 379, 3, 379, 3, 380, 3, 380, 3, 380, 3, 380, 5, 380, 3743, 10, 380, 3, 381, 3, 381, 3, 381, 3, 382, 3, 382, 3, 383, 3, 383, 3, 383, 3, 384, 3, 384, 3, 385, 3, 385, 3, 385, 3, 386, 3, 386, 3, 387, 3, 387, 3, 388, 3, 388, 3, 389, 3, 389, 3, 390, 3, 390, 3, 391, 3, 391, 3, 391, 3, 391, 3, 392, 3, 392, 3, 393, 3, 393, 3, 394, 3, 394, 3, 395, 3, 395, 3, 395, 3, 396, 3, 396, 3, 397, 3, 397, 3, 398, 3, 398, 3, 399, 3, 399, 3, 400, 3, 400, 3, 401, 3, 401, 3, 402, 3, 402, 3, 402, 5, 402, 3796, 10, 402, 3, 402, 6, 402, 3799, 10, 402, 13, 402, 14, 402, 3800, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 5, 403, 3819, 10, 403, 3, 404, 3, 404, 3, 405, 3, 405, 3, 406, 3, 406, 3, 407, 3, 407, 3, 408, 3, 408, 3, 409, 3, 409, 3, 410, 3, 410, 3, 411, 3, 411, 3, 412, 3, 412, 3, 413, 3, 413, 3, 414, 3, 414, 3, 415, 3, 415, 3, 416, 3, 416, 3, 417, 3, 417, 3, 418, 3, 418, 3, 419, 3, 419, 3, 420, 3, 420, 3, 421, 3, 421, 3, 422, 3, 422, 3, 423, 3, 423, 3, 424, 3, 424, 3, 425, 3, 425, 3, 426, 3, 426, 3, 427, 3, 427, 3, 428, 3, 428, 3, 429, 3, 429, 3, 430, 3, 430, 3, 430, 3, 430, 7, 430, 3877, 10, 430, 12, 430, 14, 430, 3880, 11, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 7, 430, 3887, 10, 430, 12, 430, 14, 430, 3890, 11, 430, 3, 430, 6, 430, 3893, 10, 430, 13, 430, 14, 430, 3894, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 6, 431, 3902, 10, 431, 13, 431, 14, 431, 3903, 5, 431, 3906, 10, 431, 3, 432, 6, 432, 3909, 10, 432, 13, 432, 14, 432, 3910, 3, 432, 3, 432, 3, 433, 3, 433, 3, 433, 3, 433, 5, 433, 3919, 10, 433, 3, 434, 6, 434, 3922, 10, 434, 13, 434, 14, 434, 3923, 3, 434, 3, 434, 3, 435, 6, 435, 3929, 10, 435, 13, 435, 14, 435, 3930, 3, 435, 3, 435, 7, 435, 3935, 10, 435, 12, 435, 14, 435, 3938, 11, 435, 3, 435, 5, 435, 3941, 10, 435, 3, 435, 5, 435, 3944, 10, 435, 3, 436, 3, 436, 3, 436, 6, 436, 3949, 10, 436, 13, 436, 14, 436, 3950, 3, 436, 3, 436, 3, 436, 6, 436, 3956, 10, 436, 13, 436, 14, 436, 3957, 3, 436, 3, 436, 5, 436, 3962, 10, 436, 3, 437, 3, 437, 3, 437, 3, 437, 7, 437, 3968, 10, 437, 12, 437, 14, 437, 3971, 11, 437, 3, 437, 3, 437, 3, 438, 3, 438, 3, 438, 3, 438, 6, 438, 3979, 10, 438, 13, 438, 14, 438, 3980, 3, 439, 3, 439, 3, 439, 3, 439, 3, 440, 3, 440, 3, 440, 3, 440, 7, 440, 3991, 10, 440, 12, 440, 14, 440, 3994, 11, 440, 3, 440, 3, 440, 3, 441, 3, 441, 5, 441, 4000, 10, 441, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 7, 442, 4008, 10, 442, 12, 442, 14, 442, 4011, 11, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 7, 443, 4023, 10, 443, 12, 443, 14, 443, 4026, 11, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 4, 4009, 4024, 2, 444, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 75, 149, 76, 151, 77, 153, 78, 155, 79, 157, 80, 159, 81, 161, 82, 163, 83, 165, 84, 167, 85, 169, 86, 171, 87, 173, 88, 175, 89, 177, 90, 179, 91, 181, 92, 183, 93, 185, 94, 187, 95, 189, 96, 191, 97, 193, 98, 195, 99, 197, 100, 199, 101, 201, 102, 203, 103, 205, 104, 207, 105, 209, 106, 211, 107, 213, 108, 215, 109, 217, 110, 219, 111, 221, 112, 223, 113, 225, 114, 227, 115, 229, 116, 231, 117, 233, 118, 235, 119, 237, 120, 239, 121, 241, 122, 243, 123, 245, 124, 247, 125, 249, 126, 251, 127, 253, 128, 255, 129, 257, 130, 259, 131, 261, 132, 263, 133, 265, 134, 267, 135, 269, 136, 271, 137, 273, 138, 275, 139, 277, 140, 279, 141, 281, 142, 283, 143, 285, 144, 287, 145, 289, 146, 291, 147, 293, 148, 295, 149, 297, 150, 299, 151, 301, 152, 303, 153, 305, 154, 307, 155, 309, 156, 311, 157, 313, 158, 315, 159, 317, 160, 319, 161, 321, 162, 323, 163, 325, 164, 327, 165, 329, 166, 331, 167, 333, 168, 335, 169, 337, 170, 339, 171, 341, 172, 343, 173, 345, 174, 347, 175, 349, 176, 351, 177, 353, 178, 355, 179, 357, 180, 359, 181, 361, 182, 363, 183, 365, 184, 367, 185, 369, 186, 371, 187, 373, 188, 375, 189, 377, 190, 379, 191, 381, 192, 383, 193, 385, 194, 387, 195, 389, 196, 391, 197, 393, 198, 395, 199, 397, 200, 399, 201, 401, 202, 403, 203, 405, 204, 407, 205, 409, 206, 411, 207, 413, 208, 415, 209, 417, 210, 419, 211, 421, 212, 423, 213, 425, 214, 427, 215, 429, 216, 431, 217, 433, 218, 435, 219, 437, 220, 439, 221, 441, 222, 443, 223, 445, 224, 447, 225, 449, 226, 451, 227, 453, 228, 455, 229, 457, 230, 459, 231, 461, 232, 463, 233, 465, 234, 467, 235, 469, 236, 471, 237, 473, 238, 475, 239, 477, 240, 479, 241, 481, 242, 483, 243, 485, 244, 487, 245, 489, 246, 491, 247, 493, 248, 495, 249, 497, 250, 499, 251, 501, 252, 503, 253, 505, 254, 507, 255, 509, 256, 511, 257, 513, 258, 515, 259, 517, 260, 519, 261, 521, 262, 523, 263, 525, 264, 527, 265, 529, 266, 531, 267, 533, 268, 535, 269, 537, 270, 539, 271, 541, 272, 543, 273, 545, 274, 547, 275, 549, 276, 551, 277, 553, 278, 555, 279, 557, 280, 559, 281, 561, 282, 563, 283, 565, 284, 567, 285, 569, 286, 571, 287, 573, 288, 575, 289, 577, 290, 579, 291, 581, 292, 583, 293, 585, 294, 587, 295, 589, 296, 591, 297, 593, 298, 595, 299, 597, 300, 599, 301, 601, 302, 603, 303, 605, 304, 607, 305, 609, 306, 611, 307, 613, 308, 615, 309, 617, 310, 619, 311, 621, 312, 623, 313, 625, 314, 627, 315, 629, 316, 631, 317, 633, 318, 635, 319, 637, 320, 639, 321, 641, 322, 643, 323, 645, 324, 647, 325, 649, 326, 651, 327, 653, 328, 655, 329, 657, 330, 659, 331, 661, 332, 663, 333, 665, 334, 667, 335, 669, 336, 671, 337, 673, 338, 675, 339, 677, 340, 679, 341, 681, 342, 683, 343, 685, 344, 687, 345, 689, 346, 691, 347, 693, 348, 695, 349, 697, 350, 699, 351, 701, 352, 703, 353, 705, 354, 707, 355, 709, 356, 711, 357, 713, 358, 715, 359, 717, 360, 719, 361, 721, 362, 723, 363, 725, 364, 727, 365, 729, 366, 731, 367, 733, 368, 735, 369, 737, 370, 739, 371, 741, 372, 743, 373, 745, 374, 747, 375, 749, 376, 751, 377, 753, 378, 755, 379, 757, 380, 759, 381, 761, 382, 763, 383, 765, 384, 767, 385, 769, 386, 771, 387, 773, 388, 775, 389, 777, 390, 779, 391, 781, 392, 783, 393, 785, 394, 787, 395, 789, 396, 791, 397, 793, 398, 795, 399, 797, 2, 799, 2, 801, 2, 803, 2, 805, 2, 807, 2, 809, 2, 811, 2, 813, 2, 815, 2, 817, 2, 819, 2, 821, 2, 823, 2, 825, 2, 827, 2, 829, 2, 831, 2, 833, 2, 835, 2, 837, 2, 839, 2, 841, 2, 843, 2, 845, 2, 847, 2, 849, 2, 851, 2, 853, 2, 855, 2, 857, 2, 859, 400, 861, 401, 863, 402, 865, 403, 867, 404, 869, 405, 871, 406, 873, 407, 875, 408, 877, 409, 879, 410, 881, 411, 883, 412, 885, 413, 3, 2, 39, 4, 2, 67, 92, 99, 124, 4, 2, 67, 72, 99, 104, 4, 2, 71, 71, 103, 103, 6, 2, 50, 59, 67, 92, 97, 97, 99, 124, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 4, 2, 41, 41, 94, 94, 4, 2, 36, 36, 94, 94, 5, 2, 78, 78, 85, 85, 91, 91, 10, 2, 68, 68, 73, 73, 77, 77, 79, 79, 100, 100, 105, 105, 109, 109, 111, 111, 3, 2, 98, 98, 5, 2, 47, 48, 60, 60, 97, 97, 5, 2, 11, 12, 15, 15, 34, 34, 4, 2, 12, 12, 15, 15, 2, 4064, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 41, 3, 2, 2, 2, 2, 43, 3, 2, 2, 2, 2, 45, 3, 2, 2, 2, 2, 47, 3, 2, 2, 2, 2, 49, 3, 2, 2, 2, 2, 51, 3, 2, 2, 2, 2, 53, 3, 2, 2, 2, 2, 55, 3, 2, 2, 2, 2, 57, 3, 2, 2, 2, 2, 59, 3, 2, 2, 2, 2, 61, 3, 2, 2, 2, 2, 63, 3, 2, 2, 2, 2, 65, 3, 2, 2, 2, 2, 67, 3, 2, 2, 2, 2, 69, 3, 2, 2, 2, 2, 71, 3, 2, 2, 2, 2, 73, 3, 2, 2, 2, 2, 75, 3, 2, 2, 2, 2, 77, 3, 2, 2, 2, 2, 79, 3, 2, 2, 2, 2, 81, 3, 2, 2, 2, 2, 83, 3, 2, 2, 2, 2, 85, 3, 2, 2, 2, 2, 87, 3, 2, 2, 2, 2, 89, 3, 2, 2, 2, 2, 91, 3, 2, 2, 2, 2, 93, 3, 2, 2, 2, 2, 95, 3, 2, 2, 2, 2, 97, 3, 2, 2, 2, 2, 99, 3, 2, 2, 2, 2, 101, 3, 2, 2, 2, 2, 103, 3, 2, 2, 2, 2, 105, 3, 2, 2, 2, 2, 107, 3, 2, 2, 2, 2, 109, 3, 2, 2, 2, 2, 111, 3, 2, 2, 2, 2, 113, 3, 2, 2, 2, 2, 115, 3, 2, 2, 2, 2, 117, 3, 2, 2, 2, 2, 119, 3, 2, 2, 2, 2, 121, 3, 2, 2, 2, 2, 123, 3, 2, 2, 2, 2, 125, 3, 2, 2, 2, 2, 127, 3, 2, 2, 2, 2, 129, 3, 2, 2, 2, 2, 131, 3, 2, 2, 2, 2, 133, 3, 2, 2, 2, 2, 135, 3, 2, 2, 2, 2, 137, 3, 2, 2, 2, 2, 139, 3, 2, 2, 2, 2, 141, 3, 2, 2, 2, 2, 143, 3, 2, 2, 2, 2, 145, 3, 2, 2, 2, 2, 147, 3, 2, 2, 2, 2, 149, 3, 2, 2, 2, 2, 151, 3, 2, 2, 2, 2, 153, 3, 2, 2, 2, 2, 155, 3, 2, 2, 2, 2, 157, 3, 2, 2, 2, 2, 159, 3, 2, 2, 2, 2, 161, 3, 2, 2, 2, 2, 163, 3, 2, 2, 2, 2, 165, 3, 2, 2, 2, 2, 167, 3, 2, 2, 2, 2, 169, 3, 2, 2, 2, 2, 171, 3, 2, 2, 2, 2, 173, 3, 2, 2, 2, 2, 175, 3, 2, 2, 2, 2, 177, 3, 2, 2, 2, 2, 179, 3, 2, 2, 2, 2, 181, 3, 2, 2, 2, 2, 183, 3, 2, 2, 2, 2, 185, 3, 2, 2, 2, 2, 187, 3, 2, 2, 2, 2, 189, 3, 2, 2, 2, 2, 191, 3, 2, 2, 2, 2, 193, 3, 2, 2, 2, 2, 195, 3, 2, 2, 2, 2, 197, 3, 2, 2, 2, 2, 199, 3, 2, 2, 2, 2, 201, 3, 2, 2, 2, 2, 203, 3, 2, 2, 2, 2, 205, 3, 2, 2, 2, 2, 207, 3, 2, 2, 2, 2, 209, 3, 2, 2, 2, 2, 211, 3, 2, 2, 2, 2, 213, 3, 2, 2, 2, 2, 215, 3, 2, 2, 2, 2, 217, 3, 2, 2, 2, 2, 219, 3, 2, 2, 2, 2, 221, 3, 2, 2, 2, 2, 223, 3, 2, 2, 2, 2, 225, 3, 2, 2, 2, 2, 227, 3, 2, 2, 2, 2, 229, 3, 2, 2, 2, 2, 231, 3, 2, 2, 2, 2, 233, 3, 2, 2, 2, 2, 235, 3, 2, 2, 2, 2, 237, 3, 2, 2, 2, 2, 239, 3, 2, 2, 2, 2, 241, 3, 2, 2, 2, 2, 243, 3, 2, 2, 2, 2, 245, 3, 2, 2, 2, 2, 247, 3, 2, 2, 2, 2, 249, 3, 2, 2, 2, 2, 251, 3, 2, 2, 2, 2, 253, 3, 2, 2, 2, 2, 255, 3, 2, 2, 2, 2, 257, 3, 2, 2, 2, 2, 259, 3, 2, 2, 2, 2, 261, 3, 2, 2, 2, 2, 263, 3, 2, 2, 2, 2, 265, 3, 2, 2, 2, 2, 267, 3, 2, 2, 2, 2, 269, 3, 2, 2, 2, 2, 271, 3, 2, 2, 2, 2, 273, 3, 2, 2, 2, 2, 275, 3, 2, 2, 2, 2, 277, 3, 2, 2, 2, 2, 279, 3, 2, 2, 2, 2, 281, 3, 2, 2, 2, 2, 283, 3, 2, 2, 2, 2, 285, 3, 2, 2, 2, 2, 287, 3, 2, 2, 2, 2, 289, 3, 2, 2, 2, 2, 291, 3, 2, 2, 2, 2, 293, 3, 2, 2, 2, 2, 295, 3, 2, 2, 2, 2, 297, 3, 2, 2, 2, 2, 299, 3, 2, 2, 2, 2, 301, 3, 2, 2, 2, 2, 303, 3, 2, 2, 2, 2, 305, 3, 2, 2, 2, 2, 307, 3, 2, 2, 2, 2, 309, 3, 2, 2, 2, 2, 311, 3, 2, 2, 2, 2, 313, 3, 2, 2, 2, 2, 315, 3, 2, 2, 2, 2, 317, 3, 2, 2, 2, 2, 319, 3, 2, 2, 2, 2, 321, 3, 2, 2, 2, 2, 323, 3, 2, 2, 2, 2, 325, 3, 2, 2, 2, 2, 327, 3, 2, 2, 2, 2, 329, 3, 2, 2, 2, 2, 331, 3, 2, 2, 2, 2, 333, 3, 2, 2, 2, 2, 335, 3, 2, 2, 2, 2, 337, 3, 2, 2, 2, 2, 339, 3, 2, 2, 2, 2, 341, 3, 2, 2, 2, 2, 343, 3, 2, 2, 2, 2, 345, 3, 2, 2, 2, 2, 347, 3, 2, 2, 2, 2, 349, 3, 2, 2, 2, 2, 351, 3, 2, 2, 2, 2, 353, 3, 2, 2, 2, 2, 355, 3, 2, 2, 2, 2, 357, 3, 2, 2, 2, 2, 359, 3, 2, 2, 2, 2, 361, 3, 2, 2, 2, 2, 363, 3, 2, 2, 2, 2, 365, 3, 2, 2, 2, 2, 367, 3, 2, 2, 2, 2, 369, 3, 2, 2, 2, 2, 371, 3, 2, 2, 2, 2, 373, 3, 2, 2, 2, 2, 375, 3, 2, 2, 2, 2, 377, 3, 2, 2, 2, 2, 379, 3, 2, 2, 2, 2, 381, 3, 2, 2, 2, 2, 383, 3, 2, 2, 2, 2, 385, 3, 2, 2, 2, 2, 387, 3, 2, 2, 2, 2, 389, 3, 2, 2, 2, 2, 391, 3, 2, 2, 2, 2, 393, 3, 2, 2, 2, 2, 395, 3, 2, 2, 2, 2, 397, 3, 2, 2, 2, 2, 399, 3, 2, 2, 2, 2, 401, 3, 2, 2, 2, 2, 403, 3, 2, 2, 2, 2, 405, 3, 2, 2, 2, 2, 407, 3, 2, 2, 2, 2, 409, 3, 2, 2, 2, 2, 411, 3, 2, 2, 2, 2, 413, 3, 2, 2, 2, 2, 415, 3, 2, 2, 2, 2, 417, 3, 2, 2, 2, 2, 419, 3, 2, 2, 2, 2, 421, 3, 2, 2, 2, 2, 423, 3, 2, 2, 2, 2, 425, 3, 2, 2, 2, 2, 427, 3, 2, 2, 2, 2, 429, 3, 2, 2, 2, 2, 431, 3, 2, 2, 2, 2, 433, 3, 2, 2, 2, 2, 435, 3, 2, 2, 2, 2, 437, 3, 2, 2, 2, 2, 439, 3, 2, 2, 2, 2, 441, 3, 2, 2, 2, 2, 443, 3, 2, 2, 2, 2, 445, 3, 2, 2, 2, 2, 447, 3, 2, 2, 2, 2, 449, 3, 2, 2, 2, 2, 451, 3, 2, 2, 2, 2, 453, 3, 2, 2, 2, 2, 455, 3, 2, 2, 2, 2, 457, 3, 2, 2, 2, 2, 459, 3, 2, 2, 2, 2, 461, 3, 2, 2, 2, 2, 463, 3, 2, 2, 2, 2, 465, 3, 2, 2, 2, 2, 467, 3, 2, 2, 2, 2, 469, 3, 2, 2, 2, 2, 471, 3, 2, 2, 2, 2, 473, 3, 2, 2, 2, 2, 475, 3, 2, 2, 2, 2, 477, 3, 2, 2, 2, 2, 479, 3, 2, 2, 2, 2, 481, 3, 2, 2, 2, 2, 483, 3, 2, 2, 2, 2, 485, 3, 2, 2, 2, 2, 487, 3, 2, 2, 2, 2, 489, 3, 2, 2, 2, 2, 491, 3, 2, 2, 2, 2, 493, 3, 2, 2, 2, 2, 495, 3, 2, 2, 2, 2, 497, 3, 2, 2, 2, 2, 499, 3, 2, 2, 2, 2, 501, 3, 2, 2, 2, 2, 503, 3, 2, 2, 2, 2, 505, 3, 2, 2, 2, 2, 507, 3, 2, 2, 2, 2, 509, 3, 2, 2, 2, 2, 511, 3, 2, 2, 2, 2, 513, 3, 2, 2, 2, 2, 515, 3, 2, 2, 2, 2, 517, 3, 2, 2, 2, 2, 519, 3, 2, 2, 2, 2, 521, 3, 2, 2, 2, 2, 523, 3, 2, 2, 2, 2, 525, 3, 2, 2, 2, 2, 527, 3, 2, 2, 2, 2, 529, 3, 2, 2, 2, 2, 531, 3, 2, 2, 2, 2, 533, 3, 2, 2, 2, 2, 535, 3, 2, 2, 2, 2, 537, 3, 2, 2, 2, 2, 539, 3, 2, 2, 2, 2, 541, 3, 2, 2, 2, 2, 543, 3, 2, 2, 2, 2, 545, 3, 2, 2, 2, 2, 547, 3, 2, 2, 2, 2, 549, 3, 2, 2, 2, 2, 551, 3, 2, 2, 2, 2, 553, 3, 2, 2, 2, 2, 555, 3, 2, 2, 2, 2, 557, 3, 2, 2, 2, 2, 559, 3, 2, 2, 2, 2, 561, 3, 2, 2, 2, 2, 563, 3, 2, 2, 2, 2, 565, 3, 2, 2, 2, 2, 567, 3, 2, 2, 2, 2, 569, 3, 2, 2, 2, 2, 571, 3, 2, 2, 2, 2, 573, 3, 2, 2, 2, 2, 575, 3, 2, 2, 2, 2, 577, 3, 2, 2, 2, 2, 579, 3, 2, 2, 2, 2, 581, 3, 2, 2, 2, 2, 583, 3, 2, 2, 2, 2, 585, 3, 2, 2, 2, 2, 587, 3, 2, 2, 2, 2, 589, 3, 2, 2, 2, 2, 591, 3, 2, 2, 2, 2, 593, 3, 2, 2, 2, 2, 595, 3, 2, 2, 2, 2, 597, 3, 2, 2, 2, 2, 599, 3, 2, 2, 2, 2, 601, 3, 2, 2, 2, 2, 603, 3, 2, 2, 2, 2, 605, 3, 2, 2, 2, 2, 607, 3, 2, 2, 2, 2, 609, 3, 2, 2, 2, 2, 611, 3, 2, 2, 2, 2, 613, 3, 2, 2, 2, 2, 615, 3, 2, 2, 2, 2, 617, 3, 2, 2, 2, 2, 619, 3, 2, 2, 2, 2, 621, 3, 2, 2, 2, 2, 623, 3, 2, 2, 2, 2, 625, 3, 2, 2, 2, 2, 627, 3, 2, 2, 2, 2, 629, 3, 2, 2, 2, 2, 631, 3, 2, 2, 2, 2, 633, 3, 2, 2, 2, 2, 635, 3, 2, 2, 2, 2, 637, 3, 2, 2, 2, 2, 639, 3, 2, 2, 2, 2, 641, 3, 2, 2, 2, 2, 643, 3, 2, 2, 2, 2, 645, 3, 2, 2, 2, 2, 647, 3, 2, 2, 2, 2, 649, 3, 2, 2, 2, 2, 651, 3, 2, 2, 2, 2, 653, 3, 2, 2, 2, 2, 655, 3, 2, 2, 2, 2, 657, 3, 2, 2, 2, 2, 659, 3, 2, 2, 2, 2, 661, 3, 2, 2, 2, 2, 663, 3, 2, 2, 2, 2, 665, 3, 2, 2, 2, 2, 667, 3, 2, 2, 2, 2, 669, 3, 2, 2, 2, 2, 671, 3, 2, 2, 2, 2, 673, 3, 2, 2, 2, 2, 675, 3, 2, 2, 2, 2, 677, 3, 2, 2, 2, 2, 679, 3, 2, 2, 2, 2, 681, 3, 2, 2, 2, 2, 683, 3, 2, 2, 2, 2, 685, 3, 2, 2, 2, 2, 687, 3, 2, 2, 2, 2, 689, 3, 2, 2, 2, 2, 691, 3, 2, 2, 2, 2, 693, 3, 2, 2, 2, 2, 695, 3, 2, 2, 2, 2, 697, 3, 2, 2, 2, 2, 699, 3, 2, 2, 2, 2, 701, 3, 2, 2, 2, 2, 703, 3, 2, 2, 2, 2, 705, 3, 2, 2, 2, 2, 707, 3, 2, 2, 2, 2, 709, 3, 2, 2, 2, 2, 711, 3, 2, 2, 2, 2, 713, 3, 2, 2, 2, 2, 715, 3, 2, 2, 2, 2, 717, 3, 2, 2, 2, 2, 719, 3, 2, 2, 2, 2, 721, 3, 2, 2, 2, 2, 723, 3, 2, 2, 2, 2, 725, 3, 2, 2, 2, 2, 727, 3, 2, 2, 2, 2, 729, 3, 2, 2, 2, 2, 731, 3, 2, 2, 2, 2, 733, 3, 2, 2, 2, 2, 735, 3, 2, 2, 2, 2, 737, 3, 2, 2, 2, 2, 739, 3, 2, 2, 2, 2, 741, 3, 2, 2, 2, 2, 743, 3, 2, 2, 2, 2, 745, 3, 2, 2, 2, 2, 747, 3, 2, 2, 2, 2, 749, 3, 2, 2, 2, 2, 751, 3, 2, 2, 2, 2, 753, 3, 2, 2, 2, 2, 755, 3, 2, 2, 2, 2, 757, 3, 2, 2, 2, 2, 759, 3, 2, 2, 2, 2, 761, 3, 2, 2, 2, 2, 763, 3, 2, 2, 2, 2, 765, 3, 2, 2, 2, 2, 767, 3, 2, 2, 2, 2, 769, 3, 2, 2, 2, 2, 771, 3, 2, 2, 2, 2, 773, 3, 2, 2, 2, 2, 775, 3, 2, 2, 2, 2, 777, 3, 2, 2, 2, 2, 779, 3, 2, 2, 2, 2, 781, 3, 2, 2, 2, 2, 783, 3, 2, 2, 2, 2, 785, 3, 2, 2, 2, 2, 787, 3, 2, 2, 2, 2, 789, 3, 2, 2, 2, 2, 791, 3, 2, 2, 2, 2, 793, 3, 2, 2, 2, 2, 795, 3, 2, 2, 2, 2, 859, 3, 2, 2, 2, 2, 861, 3, 2, 2, 2, 2, 863, 3, 2, 2, 2, 2, 865, 3, 2, 2, 2, 2, 867, 3, 2, 2, 2, 2, 869, 3, 2, 2, 2, 2, 871, 3, 2, 2, 2, 2, 873, 3, 2, 2, 2, 2, 875, 3, 2, 2, 2, 2, 877, 3, 2, 2, 2, 2, 879, 3, 2, 2, 2, 2, 881, 3, 2, 2, 2, 2, 883, 3, 2, 2, 2, 2, 885, 3, 2, 2, 2, 3, 887, 3, 2, 2, 2, 5, 892, 3, 2, 2, 2, 7, 898, 3, 2, 2, 2, 9, 902, 3, 2, 2, 2, 11, 907, 3, 2, 2, 2, 13, 912, 3, 2, 2, 2, 15, 916, 3, 2, 2, 2, 17, 924, 3, 2, 2, 2, 19, 926, 3, 2, 2, 2, 21, 931, 3, 2, 2, 2, 23, 935, 3, 2, 2, 2, 25, 938, 3, 2, 2, 2, 27, 945, 3, 2, 2, 2, 29, 949, 3, 2, 2, 2, 31, 954, 3, 2, 2, 2, 33, 960, 3, 2, 2, 2, 35, 965, 3, 2, 2, 2, 37, 971, 3, 2, 2, 2, 39, 977, 3, 2, 2, 2, 41, 980, 3, 2, 2, 2, 43, 987, 3, 2, 2, 2, 45, 993, 3, 2, 2, 2, 47, 998, 3, 2, 2, 2, 49, 1001, 3, 2, 2, 2, 51, 1008, 3, 2, 2, 2, 53, 1017, 3, 2, 2, 2, 55, 1024, 3, 2, 2, 2, 57, 1034, 3, 2, 2, 2, 59, 1040, 3, 2, 2, 2, 61, 1051, 3, 2, 2, 2, 63, 1060, 3, 2, 2, 2, 65, 1065, 3, 2, 2, 2, 67, 1070, 3, 2, 2, 2, 69, 1076, 3, 2, 2, 2, 71, 1081, 3, 2, 2, 2, 73, 1084, 3, 2, 2, 2, 75, 1094, 3, 2, 2, 2, 77, 1105, 3, 2, 2, 2, 79, 1111, 3, 2, 2, 2, 81, 1118, 3, 2, 2, 2, 83, 1123, 3, 2, 2, 2, 85, 1131, 3, 2, 2, 2, 87, 1137, 3, 2, 2, 2, 89, 1145, 3, 2, 2, 2, 91, 1153, 3, 2, 2, 2, 93, 1163, 3, 2, 2, 2, 95, 1168, 3, 2, 2, 2, 97, 1173, 3, 2, 2, 2, 99, 1180, 3, 2, 2, 2, 101, 1190, 3, 2, 2, 2, 103, 1196, 3, 2, 2, 2, 105, 1206, 3, 2, 2, 2, 107, 1212, 3, 2, 2, 2, 109, 1220, 3, 2, 2, 2, 111, 1231, 3, 2, 2, 2, 113, 1236, 3, 2, 2, 2, 115, 1242, 3, 2, 2, 2, 117, 1249, 3, 2, 2, 2, 119, 1254, 3, 2, 2, 2, 121, 1261, 3, 2, 2, 2, 123, 1268, 3, 2, 2, 2, 125, 1280, 3, 2, 2, 2, 127, 1289, 3, 2, 2, 2, 129, 1294, 3, 2, 2, 2, 131, 1301, 3, 2, 2, 2, 133, 1304, 3, 2, 2, 2, 135, 1309, 3, 2, 2, 2, 137, 1316, 3, 2, 2, 2, 139, 1325, 3, 2, 2, 2, 141, 1331, 3, 2, 2, 2, 143, 1338, 3, 2, 2, 2, 145, 1345, 3, 2, 2, 2, 147, 1351, 3, 2, 2, 2, 149, 1357, 3, 2, 2, 2, 151, 1366, 3, 2, 2, 2, 153, 1371, 3, 2, 2, 2, 155, 1378, 3, 2, 2, 2, 157, 1381, 3, 2, 2, 2, 159, 1389, 3, 2, 2, 2, 161, 1397, 3, 2, 2, 2, 163, 1405, 3, 2, 2, 2, 165, 1426, 3, 2, 2, 2, 167, 1428, 3, 2, 2, 2, 169, 1435, 3, 2, 2, 2, 171, 1441, 3, 2, 2, 2, 173, 1448, 3, 2, 2, 2, 175, 1458, 3, 2, 2, 2, 177, 1463, 3, 2, 2, 2, 179, 1472, 3, 2, 2, 2, 181, 1482, 3, 2, 2, 2, 183, 1496, 3, 2, 2, 2, 185, 1513, 3, 2, 2, 2, 187, 1518, 3, 2, 2, 2, 189, 1523, 3, 2, 2, 2, 191, 1548, 3, 2, 2, 2, 193, 1550, 3, 2, 2, 2, 195, 1557, 3, 2, 2, 2, 197, 1562, 3, 2, 2, 2, 199, 1570, 3, 2, 2, 2, 201, 1576, 3, 2, 2, 2, 203, 1583, 3, 2, 2, 2, 205, 1587, 3, 2, 2, 2, 207, 1592, 3, 2, 2, 2, 209, 1600, 3, 2, 2, 2, 211, 1610, 3, 2, 2, 2, 213, 1617, 3, 2, 2, 2, 215, 1629, 3, 2, 2, 2, 217, 1639, 3, 2, 2, 2, 219, 1646, 3, 2, 2, 2, 221, 1651, 3, 2, 2, 2, 223, 1659, 3, 2, 2, 2, 225, 1663, 3, 2, 2, 2, 227, 1668, 3, 2, 2, 2, 229, 1675, 3, 2, 2, 2, 231, 1685, 3, 2, 2, 2, 233, 1692, 3, 2, 2, 2, 235, 1703, 3, 2, 2, 2, 237, 1711, 3, 2, 2, 2, 239, 1722, 3, 2, 2, 2, 241, 1728, 3, 2, 2, 2, 243, 1733, 3, 2, 2, 2, 245, 1739, 3, 2, 2, 2, 247, 1744, 3, 2, 2, 2, 249, 1750, 3, 2, 2, 2, 251, 1757, 3, 2, 2, 2, 253, 1768, 3, 2, 2, 2, 255, 1780, 3, 2, 2, 2, 257, 1793, 3, 2, 2, 2, 259, 1805, 3, 2, 2, 2, 261, 1818, 3, 2, 2, 2, 263, 1825, 3, 2, 2, 2, 265, 1833, 3, 2, 2, 2, 267, 1842, 3, 2, 2, 2, 269, 1854, 3, 2, 2, 2, 271, 1861, 3, 2, 2, 2, 273, 1865, 3, 2, 2, 2, 275, 1868, 3, 2, 2, 2, 277, 1876, 3, 2, 2, 2, 279, 1881, 3, 2, 2, 2, 281, 1885, 3, 2, 2, 2, 283, 1893, 3, 2, 2, 2, 285, 1899, 3, 2, 2, 2, 287, 1906, 3, 2, 2, 2, 289, 1916, 3, 2, 2, 2, 291, 1925, 3, 2, 2, 2, 293, 1931, 3, 2, 2, 2, 295, 1936, 3, 2, 2, 2, 297, 1940, 3, 2, 2, 2, 299, 1948, 3, 2, 2, 2, 301, 1957, 3, 2, 2, 2, 303, 1967, 3, 2, 2, 2, 305, 1978, 3, 2, 2, 2, 307, 1986, 3, 2, 2, 2, 309, 1992, 3, 2, 2, 2, 311, 1997, 3, 2, 2, 2, 313, 2006, 3, 2, 2, 2, 315, 2022, 3, 2, 2, 2, 317, 2035, 3, 2, 2, 2, 319, 2041, 3, 2, 2, 2, 321, 2048, 3, 2, 2, 2, 323, 2052, 3, 2, 2, 2, 325, 2058, 3, 2, 2, 2, 327, 2072, 3, 2, 2, 2, 329, 2086, 3, 2, 2, 2, 331, 2094, 3, 2, 2, 2, 333, 2101, 3, 2, 2, 2, 335, 2109, 3, 2, 2, 2, 337, 2114, 3, 2, 2, 2, 339, 2119, 3, 2, 2, 2, 341, 2124, 3, 2, 2, 2, 343, 2129, 3, 2, 2, 2, 345, 2133, 3, 2, 2, 2, 347, 2141, 3, 2, 2, 2, 349, 2153, 3, 2, 2, 2, 351, 2167, 3, 2, 2, 2, 353, 2171, 3, 2, 2, 2, 355, 2184, 3, 2, 2, 2, 357, 2189, 3, 2, 2, 2, 359, 2196, 3, 2, 2, 2, 361, 2201, 3, 2, 2, 2, 363, 2207, 3, 2, 2, 2, 365, 2213, 3, 2, 2, 2, 367, 2223, 3, 2, 2, 2, 369, 2228, 3, 2, 2, 2, 371, 2234, 3, 2, 2, 2, 373, 2237, 3, 2, 2, 2, 375, 2246, 3, 2, 2, 2, 377, 2256, 3, 2, 2, 2, 379, 2269, 3, 2, 2, 2, 381, 2276, 3, 2, 2, 2, 383, 2284, 3, 2, 2, 2, 385, 2290, 3, 2, 2, 2, 387, 2297, 3, 2, 2, 2, 389, 2301, 3, 2, 2, 2, 391, 2306, 3, 2, 2, 2, 393, 2311, 3, 2, 2, 2, 395, 2317, 3, 2, 2, 2, 397, 2324, 3, 2, 2, 2, 399, 2331, 3, 2, 2, 2, 401, 2341, 3, 2, 2, 2, 403, 2351, 3, 2, 2, 2, 405, 2360, 3, 2, 2, 2, 407, 2366, 3, 2, 2, 2, 409, 2371, 3, 2, 2, 2, 411, 2377, 3, 2, 2, 2, 413, 2383, 3, 2, 2, 2, 415, 2389, 3, 2, 2, 2, 417, 2397, 3, 2, 2, 2, 419, 2404, 3, 2, 2, 2, 421, 2412, 3, 2, 2, 2, 423, 2417, 3, 2, 2, 2, 425, 2424, 3, 2, 2, 2, 427, 2430, 3, 2, 2, 2, 429, 2439, 3, 2, 2, 2, 431, 2446, 3, 2, 2, 2, 433, 2454, 3, 2, 2, 2, 435, 2467, 3, 2, 2, 2, 437, 2480, 3, 2, 2, 2, 439, 2485, 3, 2, 2, 2, 441, 2493, 3, 2, 2, 2, 443, 2499, 3, 2, 2, 2, 445, 2507, 3, 2, 2, 2, 447, 2517, 3, 2, 2, 2, 449, 2525, 3, 2, 2, 2, 451, 2536, 3, 2, 2, 2, 453, 2540, 3, 2, 2, 2, 455, 2548, 3, 2, 2, 2, 457, 2555, 3, 2, 2, 2, 459, 2567, 3, 2, 2, 2, 461, 2575, 3, 2, 2, 2, 463, 2589, 3, 2, 2, 2, 465, 2596, 3, 2, 2, 2, 467, 2605, 3, 2, 2, 2, 469, 2613, 3, 2, 2, 2, 471, 2620, 3, 2, 2, 2, 473, 2627, 3, 2, 2, 2, 475, 2632, 3, 2, 2, 2, 477, 2644, 3, 2, 2, 2, 479, 2648, 3, 2, 2, 2, 481, 2655, 3, 2, 2, 2, 483, 2665, 3, 2, 2, 2, 485, 2675, 3, 2, 2, 2, 487, 2685, 3, 2, 2, 2, 489, 2693, 3, 2, 2, 2, 491, 2706, 3, 2, 2, 2, 493, 2724, 3, 2, 2, 2, 495, 2729, 3, 2, 2, 2, 497, 2734, 3, 2, 2, 2, 499, 2739, 3, 2, 2, 2, 501, 2748, 3, 2, 2, 2, 503, 2753, 3, 2, 2, 2, 505, 2762, 3, 2, 2, 2, 507, 2769, 3, 2, 2, 2, 509, 2774, 3, 2, 2, 2, 511, 2779, 3, 2, 2, 2, 513, 2785, 3, 2, 2, 2, 515, 2791, 3, 2, 2, 2, 517, 2800, 3, 2, 2, 2, 519, 2804, 3, 2, 2, 2, 521, 2811, 3, 2, 2, 2, 523, 2817, 3, 2, 2, 2, 525, 2823, 3, 2, 2, 2, 527, 2834, 3, 2, 2, 2, 529, 2842, 3, 2, 2, 2, 531, 2854, 3, 2, 2, 2, 533, 2867, 3, 2, 2, 2, 535, 2875, 3, 2, 2, 2, 537, 2889, 3, 2, 2, 2, 539, 2904, 3, 2, 2, 2, 541, 2909, 3, 2, 2, 2, 543, 2916, 3, 2, 2, 2, 545, 2934, 3, 2, 2, 2, 547, 2936, 3, 2, 2, 2, 549, 2942, 3, 2, 2, 2, 551, 2963, 3, 2, 2, 2, 553, 2976, 3, 2, 2, 2, 555, 2987, 3, 2, 2, 2, 557, 2989, 3, 2, 2, 2, 559, 3004, 3, 2, 2, 2, 561, 3021, 3, 2, 2, 2, 563, 3038, 3, 2, 2, 2, 565, 3040, 3, 2, 2, 2, 567, 3046, 3, 2, 2, 2, 569, 3058, 3, 2, 2, 2, 571, 3065, 3, 2, 2, 2, 573, 3074, 3, 2, 2, 2, 575, 3079, 3, 2, 2, 2, 577, 3084, 3, 2, 2, 2, 579, 3090, 3, 2, 2, 2, 581, 3100, 3, 2, 2, 2, 583, 3106, 3, 2, 2, 2, 585, 3115, 3, 2, 2, 2, 587, 3126, 3, 2, 2, 2, 589, 3132, 3, 2, 2, 2, 591, 3140, 3, 2, 2, 2, 593, 3148, 3, 2, 2, 2, 595, 3159, 3, 2, 2, 2, 597, 3170, 3, 2, 2, 2, 599, 3179, 3, 2, 2, 2, 601, 3188, 3, 2, 2, 2, 603, 3199, 3, 2, 2, 2, 605, 3204, 3, 2, 2, 2, 607, 3211, 3, 2, 2, 2, 609, 3218, 3, 2, 2, 2, 611, 3222, 3, 2, 2, 2, 613, 3228, 3, 2, 2, 2, 615, 3236, 3, 2, 2, 2, 617, 3242, 3, 2, 2, 2, 619, 3248, 3, 2, 2, 2, 621, 3256, 3, 2, 2, 2, 623, 3261, 3, 2, 2, 2, 625, 3266, 3, 2, 2, 2, 627, 3273, 3, 2, 2, 2, 629, 3287, 3, 2, 2, 2, 631, 3295, 3, 2, 2, 2, 633, 3304, 3, 2, 2, 2, 635, 3315, 3, 2, 2, 2, 637, 3322, 3, 2, 2, 2, 639, 3327, 3, 2, 2, 2, 641, 3336, 3, 2, 2, 2, 643, 3341, 3, 2, 2, 2, 645, 3359, 3, 2, 2, 2, 647, 3365, 3, 2, 2, 2, 649, 3374, 3, 2, 2, 2, 651, 3382, 3, 2, 2, 2, 653, 3388, 3, 2, 2, 2, 655, 3393, 3, 2, 2, 2, 657, 3398, 3, 2, 2, 2, 659, 3401, 3, 2, 2, 2, 661, 3416, 3, 2, 2, 2, 663, 3434, 3, 2, 2, 2, 665, 3439, 3, 2, 2, 2, 667, 3447, 3, 2, 2, 2, 669, 3456, 3, 2, 2, 2, 671, 3467, 3, 2, 2, 2, 673, 3474, 3, 2, 2, 2, 675, 3482, 3, 2, 2, 2, 677, 3492, 3, 2, 2, 2, 679, 3504, 3, 2, 2, 2, 681, 3509, 3, 2, 2, 2, 683, 3522, 3, 2, 2, 2, 685, 3531, 3, 2, 2, 2, 687, 3538, 3, 2, 2, 2, 689, 3542, 3, 2, 2, 2, 691, 3550, 3, 2, 2, 2, 693, 3556, 3, 2, 2, 2, 695, 3561, 3, 2, 2, 2, 697, 3565, 3, 2, 2, 2, 699, 3570, 3, 2, 2, 2, 701, 3579, 3, 2, 2, 2, 703, 3591, 3, 2, 2, 2, 705, 3601, 3, 2, 2, 2, 707, 3608, 3, 2, 2, 2, 709, 3617, 3, 2, 2, 2, 711, 3627, 3, 2, 2, 2, 713, 3636, 3, 2, 2, 2, 715, 3644, 3, 2, 2, 2, 717, 3650, 3, 2, 2, 2, 719, 3655, 3, 2, 2, 2, 721, 3658, 3, 2, 2, 2, 723, 3665, 3, 2, 2, 2, 725, 3672, 3, 2, 2, 2, 727, 3682, 3, 2, 2, 2, 729, 3687, 3, 2, 2, 2, 731, 3694, 3, 2, 2, 2, 733, 3704, 3, 2, 2, 2, 735, 3709, 3, 2, 2, 2, 737, 3711, 3, 2, 2, 2, 739, 3713, 3, 2, 2, 2, 741, 3715, 3, 2, 2, 2, 743, 3717, 3, 2, 2, 2, 745, 3719, 3, 2, 2, 2, 747, 3721, 3, 2, 2, 2, 749, 3723, 3, 2, 2, 2, 751, 3725, 3, 2, 2, 2, 753, 3727, 3, 2, 2, 2, 755, 3732, 3, 2, 2, 2, 757, 3734, 3, 2, 2, 2, 759, 3742, 3, 2, 2, 2, 761, 3744, 3, 2, 2, 2, 763, 3747, 3, 2, 2, 2, 765, 3749, 3, 2, 2, 2, 767, 3752, 3, 2, 2, 2, 769, 3754, 3, 2, 2, 2, 771, 3757, 3, 2, 2, 2, 773, 3759, 3, 2, 2, 2, 775, 3761, 3, 2, 2, 2, 777, 3763, 3, 2, 2, 2, 779, 3765, 3, 2, 2, 2, 781, 3767, 3, 2, 2, 2, 783, 3771, 3, 2, 2, 2, 785, 3773, 3, 2, 2, 2, 787, 3775, 3, 2, 2, 2, 789, 3777, 3, 2, 2, 2, 791, 3780, 3, 2, 2, 2, 793, 3782, 3, 2, 2, 2, 795, 3784, 3, 2, 2, 2, 797, 3786, 3, 2, 2, 2, 799, 3788, 3, 2, 2, 2, 801, 3790, 3, 2, 2, 2, 803, 3792, 3, 2, 2, 2, 805, 3818, 3, 2, 2, 2, 807, 3820, 3, 2, 2, 2, 809, 3822, 3, 2, 2, 2, 811, 3824, 3, 2, 2, 2, 813, 3826, 3, 2, 2, 2, 815, 3828, 3, 2, 2, 2, 817, 3830, 3, 2, 2, 2, 819, 3832, 3, 2, 2, 2, 821, 3834, 3, 2, 2, 2, 823, 3836, 3, 2, 2, 2, 825, 3838, 3, 2, 2, 2, 827, 3840, 3, 2, 2, 2, 829, 3842, 3, 2, 2, 2, 831, 3844, 3, 2, 2, 2, 833, 3846, 3, 2, 2, 2, 835, 3848, 3, 2, 2, 2, 837, 3850, 3, 2, 2, 2, 839, 3852, 3, 2, 2, 2, 841, 3854, 3, 2, 2, 2, 843, 3856, 3, 2, 2, 2, 845, 3858, 3, 2, 2, 2, 847, 3860, 3, 2, 2, 2, 849, 3862, 3, 2, 2, 2, 851, 3864, 3, 2, 2, 2, 853, 3866, 3, 2, 2, 2, 855, 3868, 3, 2, 2, 2, 857, 3870, 3, 2, 2, 2, 859, 3892, 3, 2, 2, 2, 861, 3905, 3, 2, 2, 2, 863, 3908, 3, 2, 2, 2, 865, 3914, 3, 2, 2, 2, 867, 3921, 3, 2, 2, 2, 869, 3928, 3, 2, 2, 2, 871, 3961, 3, 2, 2, 2, 873, 3963, 3, 2, 2, 2, 875, 3974, 3, 2, 2, 2, 877, 3982, 3, 2, 2, 2, 879, 3986, 3, 2, 2, 2, 881, 3999, 3, 2, 2, 2, 883, 4001, 3, 2, 2, 2, 885, 4017, 3, 2, 2, 2, 887, 888, 5, 845, 423, 2, 888, 889, 5, 841, 421, 2, 889, 890, 5, 847, 424, 2, 890, 891, 5, 815, 408, 2, 891, 4, 3, 2, 2, 2, 892, 893, 5, 817, 409, 2, 893, 894, 5, 807, 404, 2, 894, 895, 5, 829, 415, 2, 895, 896, 5, 843, 422, 2, 896, 897, 5, 815, 408, 2, 897, 6, 3, 2, 2, 2, 898, 899, 5, 807, 404, 2, 899, 900, 5, 829, 415, 2, 900, 901, 5, 829, 415, 2, 901, 8, 3, 2, 2, 2, 902, 903, 5, 807, 404, 2, 903, 904, 5, 847, 424, 2, 904, 905, 5, 845, 423, 2, 905, 906, 5, 835, 418, 2, 906, 10, 3, 2, 2, 2, 907, 908, 5, 833, 417, 2, 908, 909, 5, 835, 418, 2, 909, 910, 5, 833, 417, 2, 910, 911, 5, 815, 408, 2, 911, 12, 3, 2, 2, 2, 912, 913, 5, 807, 404, 2, 913, 914, 5, 833, 417, 2, 914, 915, 5, 813, 407, 2, 915, 14, 3, 2, 2, 2, 916, 917, 5, 835, 418, 2, 917, 918, 5, 841, 421, 2, 918, 16, 3, 2, 2, 2, 919, 920, 5, 833, 417, 2, 920, 921, 5, 835, 418, 2, 921, 922, 5, 845, 423, 2, 922, 925, 3, 2, 2, 2, 923, 925, 7, 35, 2, 2, 924, 919, 3, 2, 2, 2, 924, 923, 3, 2, 2, 2, 925, 18, 3, 2, 2, 2, 926, 927, 5, 829, 415, 2, 927, 928, 5, 823, 412, 2, 928, 929, 5, 827, 414, 2, 929, 930, 5, 815, 408, 2, 930, 20, 3, 2, 2, 2, 931, 932, 5, 807, 404, 2, 932, 933, 5, 833, 417, 2, 933, 934, 5, 855, 428, 2, 934, 22, 3, 2, 2, 2, 935, 936, 5, 823, 412, 2, 936, 937, 5, 817, 409, 2, 937, 24, 3, 2, 2, 2, 938, 939, 5, 815, 408, 2, 939, 940, 5, 853, 427, 2, 940, 941, 5, 823, 412, 2, 941, 942, 5, 843, 422, 2, 942, 943, 5, 845, 423, 2, 943, 944, 5, 843, 422, 2, 944, 26, 3, 2, 2, 2, 945, 946, 5, 807, 404, 2, 946, 947, 5, 843, 422, 2, 947, 948, 5, 811, 406, 2, 948, 28, 3, 2, 2, 2, 949, 950, 5, 813, 407, 2, 950, 951, 5, 815, 408, 2, 951, 952, 5, 843, 422, 2, 952, 953, 5, 811, 406, 2, 953, 30, 3, 2, 2, 2, 954, 955, 5, 833, 417, 2, 955, 956, 5, 847, 424, 2, 956, 957, 5, 829, 415, 2, 957, 958, 5, 829, 415, 2, 958, 959, 5, 843, 422, 2, 959, 32, 3, 2, 2, 2, 960, 961, 5, 829, 415, 2, 961, 962, 5, 807, 404, 2, 962, 963, 5, 843, 422, 2, 963, 964, 5, 845, 423, 2, 964, 34, 3, 2, 2, 2, 965, 966, 5, 835, 418, 2, 966, 967, 5, 841, 421, 2, 967, 968, 5, 813, 407, 2, 968, 969, 5, 815, 408, 2, 969, 970, 5, 841, 421, 2, 970, 36, 3, 2, 2, 2, 971, 972, 5, 819, 410, 2, 972, 973, 5, 841, 421, 2, 973, 974, 5, 835, 418, 2, 974, 975, 5, 847, 424, 2, 975, 976, 5, 837, 419, 2, 976, 38, 3, 2, 2, 2, 977, 978, 5, 809, 405, 2, 978, 979, 5, 855, 428, 2, 979, 40, 3, 2, 2, 2, 980, 981, 5, 821, 411, 2, 981, 982, 5, 807, 404, 2, 982, 983, 5, 849, 425, 2, 983, 984, 5, 823, 412, 2, 984, 985, 5, 833, 417, 2, 985, 986, 5, 819, 410, 2, 986, 42, 3, 2, 2, 2, 987, 988, 5, 851, 426, 2, 988, 989, 5, 821, 411, 2, 989, 990, 5, 815, 408, 2, 990, 991, 5, 841, 421, 2, 991, 992, 5, 815, 408, 2, 992, 44, 3, 2, 2, 2, 993, 994, 5, 817, 409, 2, 994, 995, 5, 841, 421, 2, 995, 996, 5, 835, 418, 2, 996, 997, 5, 831, 416, 2, 997, 46, 3, 2, 2, 2, 998, 999, 5, 807, 404, 2, 999, 1000, 5, 843, 422, 2, 1000, 48, 3, 2, 2, 2, 1001, 1002, 5, 843, 422, 2, 1002, 1003, 5, 815, 408, 2, 1003, 1004, 5, 829, 415, 2, 1004, 1005, 5, 815, 408, 2, 1005, 1006, 5, 811, 406, 2, 1006, 1007, 5, 845, 423, 2, 1007, 50, 3, 2, 2, 2, 1008, 1009, 5, 813, 407, 2, 1009, 1010, 5, 823, 412, 2, 1010, 1011, 5, 843, 422, 2, 1011, 1012, 5, 845, 423, 2, 1012, 1013, 5, 823, 412, 2, 1013, 1014, 5, 833, 417, 2, 1014, 1015, 5, 811, 406, 2, 1015, 1016, 5, 845, 423, 2, 1016, 52, 3, 2, 2, 2, 1017, 1018, 5, 823, 412, 2, 1018, 1019, 5, 833, 417, 2, 1019, 1020, 5, 843, 422, 2, 1020, 1021, 5, 815, 408, 2, 1021, 1022, 5, 841, 421, 2, 1022, 1023, 5, 845, 423, 2, 1023, 54, 3, 2, 2, 2, 1024, 1025, 5, 835, 418, 2, 1025, 1026, 5, 849, 425, 2, 1026, 1027, 5, 815, 408, 2, 1027, 1028, 5, 841, 421, 2, 1028, 1029, 5, 851, 426, 2, 1029, 1030, 5, 841, 421, 2, 1030, 1031, 5, 823, 412, 2, 1031, 1032, 5, 845, 423, 2, 1032, 1033, 5, 815, 408, 2, 1033, 56, 3, 2, 2, 2, 1034, 1035, 5, 835, 418, 2, 1035, 1036, 5, 847, 424, 2, 1036, 1037, 5, 845, 423, 2, 1037, 1038, 5, 815, 408, 2, 1038, 1039, 5, 841, 421, 2, 1039, 58, 3, 2, 2, 2, 1040, 1041, 5, 847, 424, 2, 1041, 1042, 5, 833, 417, 2, 1042, 1043, 5, 823, 412, 2, 1043, 1044, 5, 839, 420, 2, 1044, 1045, 5, 847, 424, 2, 1045, 1046, 5, 815, 408, 2, 1046, 1047, 5, 825, 413, 2, 1047, 1048, 5, 835, 418, 2, 1048, 1049, 5, 823, 412, 2, 1049, 1050, 5, 833, 417, 2, 1050, 60, 3, 2, 2, 2, 1051, 1052, 5, 837, 419, 2, 1052, 1053, 5, 841, 421, 2, 1053, 1054, 5, 815, 408, 2, 1054, 1055, 5, 843, 422, 2, 1055, 1056, 5, 815, 408, 2, 1056, 1057, 5, 841, 421, 2, 1057, 1058, 5, 849, 425, 2, 1058, 1059, 5, 815, 408, 2, 1059, 62, 3, 2, 2, 2, 1060, 1061, 5, 825, 413, 2, 1061, 1062, 5, 835, 418, 2, 1062, 1063, 5, 823, 412, 2, 1063, 1064, 5, 833, 417, 2, 1064, 64, 3, 2, 2, 2, 1065, 1066, 5, 829, 415, 2, 1066, 1067, 5, 815, 408, 2, 1067, 1068, 5, 817, 409, 2, 1068, 1069, 5, 845, 423, 2, 1069, 66, 3, 2, 2, 2, 1070, 1071, 5, 841, 421, 2, 1071, 1072, 5, 823, 412, 2, 1072, 1073, 5, 819, 410, 2, 1073, 1074, 5, 821, 411, 2, 1074, 1075, 5, 845, 423, 2, 1075, 68, 3, 2, 2, 2, 1076, 1077, 5, 817, 409, 2, 1077, 1078, 5, 847, 424, 2, 1078, 1079, 5, 829, 415, 2, 1079, 1080, 5, 829, 415, 2, 1080, 70, 3, 2, 2, 2, 1081, 1082, 5, 835, 418, 2, 1082, 1083, 5, 833, 417, 2, 1083, 72, 3, 2, 2, 2, 1084, 1085, 5, 837, 419, 2, 1085, 1086, 5, 807, 404, 2, 1086, 1087, 5, 841, 421, 2, 1087, 1088, 5, 845, 423, 2, 1088, 1089, 5, 823, 412, 2, 1089, 1090, 5, 845, 423, 2, 1090, 1091, 5, 823, 412, 2, 1091, 1092, 5, 835, 418, 2, 1092, 1093, 5, 833, 417, 2, 1093, 74, 3, 2, 2, 2, 1094, 1095, 5, 837, 419, 2, 1095, 1096, 5, 807, 404, 2, 1096, 1097, 5, 841, 421, 2, 1097, 1098, 5, 845, 423, 2, 1098, 1099, 5, 823, 412, 2, 1099, 1100, 5, 845, 423, 2, 1100, 1101, 5, 823, 412, 2, 1101, 1102, 5, 835, 418, 2, 1102, 1103, 5, 833, 417, 2, 1103, 1104, 5, 843, 422, 2, 1104, 76, 3, 2, 2, 2, 1105, 1106, 5, 845, 423, 2, 1106, 1107, 5, 807, 404, 2, 1107, 1108, 5, 809, 405, 2, 1108, 1109, 5, 829, 415, 2, 1109, 1110, 5, 815, 408, 2, 1110, 78, 3, 2, 2, 2, 1111, 1112, 5, 845, 423, 2, 1112, 1113, 5, 807, 404, 2, 1113, 1114, 5, 809, 405, 2, 1114, 1115, 5, 829, 415, 2, 1115, 1116, 5, 815, 408, 2, 1116, 1117, 5, 843, 422, 2, 1117, 80, 3, 2, 2, 2, 1118, 1119, 5, 845, 423, 2, 1119, 1120, 5, 807, 404, 2, 1120, 1121, 5, 819, 410, 2, 1121, 1122, 5, 843, 422, 2, 1122, 82, 3, 2, 2, 2, 1123, 1124, 5, 811, 406, 2, 1124, 1125, 5, 835, 418, 2, 1125, 1126, 5, 829, 415, 2, 1126, 1127, 5, 847, 424, 2, 1127, 1128, 5, 831, 416, 2, 1128, 1129, 5, 833, 417, 2, 1129, 1130, 5, 843, 422, 2, 1130, 84, 3, 2, 2, 2, 1131, 1132, 5, 823, 412, 2, 1132, 1133, 5, 833, 417, 2, 1133, 1134, 5, 813, 407, 2, 1134, 1135, 5, 815, 408, 2, 1135, 1136, 5, 853, 427, 2, 1136, 86, 3, 2, 2, 2, 1137, 1138, 5, 823, 412, 2, 1138, 1139, 5, 833, 417, 2, 1139, 1140, 5, 813, 407, 2, 1140, 1141, 5, 815, 408, 2, 1141, 1142, 5, 853, 427, 2, 1142, 1143, 5, 815, 408, 2, 1143, 1144, 5, 843, 422, 2, 1144, 88, 3, 2, 2, 2, 1145, 1146, 5, 841, 421, 2, 1146, 1147, 5, 815, 408, 2, 1147, 1148, 5, 809, 405, 2, 1148, 1149, 5, 847, 424, 2, 1149, 1150, 5, 823, 412, 2, 1150, 1151, 5, 829, 415, 2, 1151, 1152, 5, 813, 407, 2, 1152, 90, 3, 2, 2, 2, 1153, 1154, 5, 817, 409, 2, 1154, 1155, 5, 847, 424, 2, 1155, 1156, 5, 833, 417, 2, 1156, 1157, 5, 811, 406, 2, 1157, 1158, 5, 845, 423, 2, 1158, 1159, 5, 823, 412, 2, 1159, 1160, 5, 835, 418, 2, 1160, 1161, 5, 833, 417, 2, 1161, 1162, 5, 843, 422, 2, 1162, 92, 3, 2, 2, 2, 1163, 1164, 5, 843, 422, 2, 1164, 1165, 5, 821, 411, 2, 1165, 1166, 5, 835, 418, 2, 1166, 1167, 5, 851, 426, 2, 1167, 94, 3, 2, 2, 2, 1168, 1169, 5, 831, 416, 2, 1169, 1170, 5, 843, 422, 2, 1170, 1171, 5, 811, 406, 2, 1171, 1172, 5, 827, 414, 2, 1172, 96, 3, 2, 2, 2, 1173, 1174, 5, 841, 421, 2, 1174, 1175, 5, 815, 408, 2, 1175, 1176, 5, 837, 419, 2, 1176, 1177, 5, 807, 404, 2, 1177, 1178, 5, 823, 412, 2, 1178, 1179, 5, 841, 421, 2, 1179, 98, 3, 2, 2, 2, 1180, 1181, 5, 813, 407, 2, 1181, 1182, 5, 823, 412, 2, 1182, 1183, 5, 841, 421, 2, 1183, 1184, 5, 815, 408, 2, 1184, 1185, 5, 811, 406, 2, 1185, 1186, 5, 845, 423, 2, 1186, 1187, 5, 835, 418, 2, 1187, 1188, 5, 841, 421, 2, 1188, 1189, 5, 855, 428, 2, 1189, 100, 3, 2, 2, 2, 1190, 1191, 5, 829, 415, 2, 1191, 1192, 5, 835, 418, 2, 1192, 1193, 5, 811, 406, 2, 1193, 1194, 5, 807, 404, 2, 1194, 1195, 5, 829, 415, 2, 1195, 102, 3, 2, 2, 2, 1196, 1197, 5, 845, 423, 2, 1197, 1198, 5, 841, 421, 2, 1198, 1199, 5, 807, 404, 2, 1199, 1200, 5, 833, 417, 2, 1200, 1201, 5, 843, 422, 2, 1201, 1202, 5, 817, 409, 2, 1202, 1203, 5, 835, 418, 2, 1203, 1204, 5, 841, 421, 2, 1204, 1205, 5, 831, 416, 2, 1205, 104, 3, 2, 2, 2, 1206, 1207, 5, 847, 424, 2, 1207, 1208, 5, 843, 422, 2, 1208, 1209, 5, 823, 412, 2, 1209, 1210, 5, 833, 417, 2, 1210, 1211, 5, 819, 410, 2, 1211, 106, 3, 2, 2, 2, 1212, 1213, 5, 811, 406, 2, 1213, 1214, 5, 829, 415, 2, 1214, 1215, 5, 847, 424, 2, 1215, 1216, 5, 843, 422, 2, 1216, 1217, 5, 845, 423, 2, 1217, 1218, 5, 815, 408, 2, 1218, 1219, 5, 841, 421, 2, 1219, 108, 3, 2, 2, 2, 1220, 1221, 5, 813, 407, 2, 1221, 1222, 5, 823, 412, 2, 1222, 1223, 5, 843, 422, 2, 1223, 1224, 5, 845, 423, 2, 1224, 1225, 5, 841, 421, 2, 1225, 1226, 5, 823, 412, 2, 1226, 1227, 5, 809, 405, 2, 1227, 1228, 5, 847, 424, 2, 1228, 1229, 5, 845, 423, 2, 1229, 1230, 5, 815, 408, 2, 1230, 110, 3, 2, 2, 2, 1231, 1232, 5, 843, 422, 2, 1232, 1233, 5, 835, 418, 2, 1233, 1234, 5, 841, 421, 2, 1234, 1235, 5, 845, 423, 2, 1235, 112, 3, 2, 2, 2, 1236, 1237, 5, 847, 424, 2, 1237, 1238, 5, 833, 417, 2, 1238, 1239, 5, 823, 412, 2, 1239, 1240, 5, 835, 418, 2, 1240, 1241, 5, 833, 417, 2, 1241, 114, 3, 2, 2, 2, 1242, 1243, 5, 815, 408, 2, 1243, 1244, 5, 853, 427, 2, 1244, 1245, 5, 811, 406, 2, 1245, 1246, 5, 815, 408, 2, 1246, 1247, 5, 837, 419, 2, 1247, 1248, 5, 845, 423, 2, 1248, 116, 3, 2, 2, 2, 1249, 1250, 5, 829, 415, 2, 1250, 1251, 5, 835, 418, 2, 1251, 1252, 5, 807, 404, 2, 1252, 1253, 5, 813, 407, 2, 1253, 118, 3, 2, 2, 2, 1254, 1255, 5, 815, 408, 2, 1255, 1256, 5, 853, 427, 2, 1256, 1257, 5, 837, 419, 2, 1257, 1258, 5, 835, 418, 2, 1258, 1259, 5, 841, 421, 2, 1259, 1260, 5, 845, 423, 2, 1260, 120, 3, 2, 2, 2, 1261, 1262, 5, 823, 412, 2, 1262, 1263, 5, 831, 416, 2, 1263, 1264, 5, 837, 419, 2, 1264, 1265, 5, 835, 418, 2, 1265, 1266, 5, 841, 421, 2, 1266, 1267, 5, 845, 423, 2, 1267, 122, 3, 2, 2, 2, 1268, 1269, 5, 841, 421, 2, 1269, 1270, 5, 815, 408, 2, 1270, 1271, 5, 837, 419, 2, 1271, 1272, 5, 829, 415, 2, 1272, 1273, 5, 823, 412, 2, 1273, 1274, 5, 811, 406, 2, 1274, 1275, 5, 807, 404, 2, 1275, 1276, 5, 845, 423, 2, 1276, 1277, 5, 823, 412, 2, 1277, 1278, 5, 835, 418, 2, 1278, 1279, 5, 833, 417, 2, 1279, 124, 3, 2, 2, 2, 1280, 1281, 5, 831, 416, 2, 1281, 1282, 5, 815, 408, 2, 1282, 1283, 5, 845, 423, 2, 1283, 1284, 5, 807, 404, 2, 1284, 1285, 5, 813, 407, 2, 1285, 1286, 5, 807, 404, 2, 1286, 1287, 5, 845, 423, 2, 1287, 1288, 5, 807, 404, 2, 1288, 126, 3, 2, 2, 2, 1289, 1290, 5, 813, 407, 2, 1290, 1291, 5, 807, 404, 2, 1291, 1292, 5, 845, 423, 2, 1292, 1293, 5, 807, 404, 2, 1293, 128, 3, 2, 2, 2, 1294, 1295, 5, 823, 412, 2, 1295, 1296, 5, 833, 417, 2, 1296, 1297, 5, 837, 419, 2, 1297, 1298, 5, 807, 404, 2, 1298, 1299, 5, 845, 423, 2, 1299, 1300, 5, 821, 411, 2, 1300, 130, 3, 2, 2, 2, 1301, 1302, 5, 823, 412, 2, 1302, 1303, 5, 843, 422, 2, 1303, 132, 3, 2, 2, 2, 1304, 1305, 5, 833, 417, 2, 1305, 1306, 5, 847, 424, 2, 1306, 1307, 5, 829, 415, 2, 1307, 1308, 5, 829, 415, 2, 1308, 134, 3, 2, 2, 2, 1309, 1310, 5, 811, 406, 2, 1310, 1311, 5, 841, 421, 2, 1311, 1312, 5, 815, 408, 2, 1312, 1313, 5, 807, 404, 2, 1313, 1314, 5, 845, 423, 2, 1314, 1315, 5, 815, 408, 2, 1315, 136, 3, 2, 2, 2, 1316, 1317, 5, 815, 408, 2, 1317, 1318, 5, 853, 427, 2, 1318, 1319, 5, 845, 423, 2, 1319, 1320, 5, 815, 408, 2, 1320, 1321, 5, 841, 421, 2, 1321, 1322, 5, 833, 417, 2, 1322, 1323, 5, 807, 404, 2, 1323, 1324, 5, 829, 415, 2, 1324, 138, 3, 2, 2, 2, 1325, 1326, 5, 807, 404, 2, 1326, 1327, 5, 829, 415, 2, 1327, 1328, 5, 845, 423, 2, 1328, 1329, 5, 815, 408, 2, 1329, 1330, 5, 841, 421, 2, 1330, 140, 3, 2, 2, 2, 1331, 1332, 5, 811, 406, 2, 1332, 1333, 5, 821, 411, 2, 1333, 1334, 5, 807, 404, 2, 1334, 1335, 5, 833, 417, 2, 1335, 1336, 5, 819, 410, 2, 1336, 1337, 5, 815, 408, 2, 1337, 142, 3, 2, 2, 2, 1338, 1339, 5, 811, 406, 2, 1339, 1340, 5, 835, 418, 2, 1340, 1341, 5, 829, 415, 2, 1341, 1342, 5, 847, 424, 2, 1342, 1343, 5, 831, 416, 2, 1343, 1344, 5, 833, 417, 2, 1344, 144, 3, 2, 2, 2, 1345, 1346, 5, 817, 409, 2, 1346, 1347, 5, 823, 412, 2, 1347, 1348, 5, 841, 421, 2, 1348, 1349, 5, 843, 422, 2, 1349, 1350, 5, 845, 423, 2, 1350, 146, 3, 2, 2, 2, 1351, 1352, 5, 807, 404, 2, 1352, 1353, 5, 817, 409, 2, 1353, 1354, 5, 845, 423, 2, 1354, 1355, 5, 815, 408, 2, 1355, 1356, 5, 841, 421, 2, 1356, 148, 3, 2, 2, 2, 1357, 1358, 5, 813, 407, 2, 1358, 1359, 5, 815, 408, 2, 1359, 1360, 5, 843, 422, 2, 1360, 1361, 5, 811, 406, 2, 1361, 1362, 5, 841, 421, 2, 1362, 1363, 5, 823, 412, 2, 1363, 1364, 5, 809, 405, 2, 1364, 1365, 5, 815, 408, 2, 1365, 150, 3, 2, 2, 2, 1366, 1367, 5, 813, 407, 2, 1367, 1368, 5, 841, 421, 2, 1368, 1369, 5, 835, 418, 2, 1369, 1370, 5, 837, 419, 2, 1370, 152, 3, 2, 2, 2, 1371, 1372, 5, 841, 421, 2, 1372, 1373, 5, 815, 408, 2, 1373, 1374, 5, 833, 417, 2, 1374, 1375, 5, 807, 404, 2, 1375, 1376, 5, 831, 416, 2, 1376, 1377, 5, 815, 408, 2, 1377, 154, 3, 2, 2, 2, 1378, 1379, 5, 845, 423, 2, 1379, 1380, 5, 835, 418, 2, 1380, 156, 3, 2, 2, 2, 1381, 1382, 5, 811, 406, 2, 1382, 1383, 5, 835, 418, 2, 1383, 1384, 5, 831, 416, 2, 1384, 1385, 5, 831, 416, 2, 1385, 1386, 5, 815, 408, 2, 1386, 1387, 5, 833, 417, 2, 1387, 1388, 5, 845, 423, 2, 1388, 158, 3, 2, 2, 2, 1389, 1390, 5, 809, 405, 2, 1390, 1391, 5, 835, 418, 2, 1391, 1392, 5, 835, 418, 2, 1392, 1393, 5, 829, 415, 2, 1393, 1394, 5, 815, 408, 2, 1394, 1395, 5, 807, 404, 2, 1395, 1396, 5, 833, 417, 2, 1396, 160, 3, 2, 2, 2, 1397, 1398, 5, 845, 423, 2, 1398, 1399, 5, 823, 412, 2, 1399, 1400, 5, 833, 417, 2, 1400, 1401, 5, 855, 428, 2, 1401, 1402, 5, 823, 412, 2, 1402, 1403, 5, 833, 417, 2, 1403, 1404, 5, 845, 423, 2, 1404, 162, 3, 2, 2, 2, 1405, 1406, 5, 843, 422, 2, 1406, 1407, 5, 831, 416, 2, 1407, 1408, 5, 807, 404, 2, 1408, 1409, 5, 829, 415, 2, 1409, 1410, 5, 829, 415, 2, 1410, 1411, 5, 823, 412, 2, 1411, 1412, 5, 833, 417, 2, 1412, 1413, 5, 845, 423, 2, 1413, 164, 3, 2, 2, 2, 1414, 1415, 5, 823, 412, 2, 1415, 1416, 5, 833, 417, 2, 1416, 1417, 5, 845, 423, 2, 1417, 1427, 3, 2, 2, 2, 1418, 1419, 5, 823, 412, 2, 1419, 1420, 5, 833, 417, 2, 1420, 1421, 5, 845, 423, 2, 1421, 1422, 5, 815, 408, 2, 1422, 1423, 5, 819, 410, 2, 1423, 1424, 5, 815, 408, 2, 1424, 1425, 5, 841, 421, 2, 1425, 1427, 3, 2, 2, 2, 1426, 1414, 3, 2, 2, 2, 1426, 1418, 3, 2, 2, 2, 1427, 166, 3, 2, 2, 2, 1428, 1429, 5, 809, 405, 2, 1429, 1430, 5, 823, 412, 2, 1430, 1431, 5, 819, 410, 2, 1431, 1432, 5, 823, 412, 2, 1432, 1433, 5, 833, 417, 2, 1433, 1434, 5, 845, 423, 2, 1434, 168, 3, 2, 2, 2, 1435, 1436, 5, 817, 409, 2, 1436, 1437, 5, 829, 415, 2, 1437, 1438, 5, 835, 418, 2, 1438, 1439, 5, 807, 404, 2, 1439, 1440, 5, 845, 423, 2, 1440, 170, 3, 2, 2, 2, 1441, 1442, 5, 813, 407, 2, 1442, 1443, 5, 835, 418, 2, 1443, 1444, 5, 847, 424, 2, 1444, 1445, 5, 809, 405, 2, 1445, 1446, 5, 829, 415, 2, 1446, 1447, 5, 815, 408, 2, 1447, 172, 3, 2, 2, 2, 1448, 1449, 5, 837, 419, 2, 1449, 1450, 5, 841, 421, 2, 1450, 1451, 5, 815, 408, 2, 1451, 1452, 5, 811, 406, 2, 1452, 1453, 5, 823, 412, 2, 1453, 1454, 5, 843, 422, 2, 1454, 1455, 5, 823, 412, 2, 1455, 1456, 5, 835, 418, 2, 1456, 1457, 5, 833, 417, 2, 1457, 174, 3, 2, 2, 2, 1458, 1459, 5, 813, 407, 2, 1459, 1460, 5, 807, 404, 2, 1460, 1461, 5, 845, 423, 2, 1461, 1462, 5, 815, 408, 2, 1462, 176, 3, 2, 2, 2, 1463, 1464, 5, 813, 407, 2, 1464, 1465, 5, 807, 404, 2, 1465, 1466, 5, 845, 423, 2, 1466, 1467, 5, 815, 408, 2, 1467, 1468, 5, 845, 423, 2, 1468, 1469, 5, 823, 412, 2, 1469, 1470, 5, 831, 416, 2, 1470, 1471, 5, 815, 408, 2, 1471, 178, 3, 2, 2, 2, 1472, 1473, 5, 845, 423, 2, 1473, 1474, 5, 823, 412, 2, 1474, 1475, 5, 831, 416, 2, 1475, 1476, 5, 815, 408, 2, 1476, 1477, 5, 843, 422, 2, 1477, 1478, 5, 845, 423, 2, 1478, 1479, 5, 807, 404, 2, 1479, 1480, 5, 831, 416, 2, 1480, 1481, 5, 837, 419, 2, 1481, 180, 3, 2, 2, 2, 1482, 1483, 5, 845, 423, 2, 1483, 1484, 5, 823, 412, 2, 1484, 1485, 5, 831, 416, 2, 1485, 1486, 5, 815, 408, 2, 1486, 1487, 5, 843, 422, 2, 1487, 1488, 5, 845, 423, 2, 1488, 1489, 5, 807, 404, 2, 1489, 1490, 5, 831, 416, 2, 1490, 1491, 5, 837, 419, 2, 1491, 1492, 7, 97, 2, 2, 1492, 1493, 5, 833, 417, 2, 1493, 1494, 5, 845, 423, 2, 1494, 1495, 5, 857, 429, 2, 1495, 182, 3, 2, 2, 2, 1496, 1497, 5, 845, 423, 2, 1497, 1498, 5, 823, 412, 2, 1498, 1499, 5, 831, 416, 2, 1499, 1500, 5, 815, 408, 2, 1500, 1501, 5, 843, 422, 2, 1501, 1502, 5, 845, 423, 2, 1502, 1503, 5, 807, 404, 2, 1503, 1504, 5, 831, 416, 2, 1504, 1505, 5, 837, 419, 2, 1505, 1506, 5, 829, 415, 2, 1506, 1507, 5, 835, 418, 2, 1507, 1508, 5, 811, 406, 2, 1508, 1509, 5, 807, 404, 2, 1509, 1510, 5, 829, 415, 2, 1510, 1511, 5, 845, 423, 2, 1511, 1512, 5, 857, 429, 2, 1512, 184, 3, 2, 2, 2, 1513, 1514, 5, 845, 423, 2, 1514, 1515, 5, 823, 412, 2, 1515, 1516, 5, 831, 416, 2, 1516, 1517, 5, 815, 408, 2, 1517, 186, 3, 2, 2, 2, 1518, 1519, 5, 857, 429, 2, 1519, 1520, 5, 835, 418, 2, 1520, 1521, 5, 833, 417, 2, 1521, 1522, 5, 815, 408, 2, 1522, 188, 3, 2, 2, 2, 1523, 1524, 5, 823, 412, 2, 1524, 1525, 5, 833, 417, 2, 1525, 1526, 5, 845, 423, 2, 1526, 1527, 5, 815, 408, 2, 1527, 1528, 5, 841, 421, 2, 1528, 1529, 5, 849, 425, 2, 1529, 1530, 5, 807, 404, 2, 1530, 1531, 5, 829, 415, 2, 1531, 190, 3, 2, 2, 2, 1532, 1533, 5, 813, 407, 2, 1533, 1534, 5, 815, 408, 2, 1534, 1535, 5, 811, 406, 2, 1535, 1536, 5, 823, 412, 2, 1536, 1537, 5, 831, 416, 2, 1537, 1538, 5, 807, 404, 2, 1538, 1539, 5, 829, 415, 2, 1539, 1549, 3, 2, 2, 2, 1540, 1541, 5, 833, 417, 2, 1541, 1542, 5, 847, 424, 2, 1542, 1543, 5, 831, 416, 2, 1543, 1544, 5, 815, 408, 2, 1544, 1545, 5, 841, 421, 2, 1545, 1546, 5, 823, 412, 2, 1546, 1547, 5, 811, 406, 2, 1547, 1549, 3, 2, 2, 2, 1548, 1532, 3, 2, 2, 2, 1548, 1540, 3, 2, 2, 2, 1549, 192, 3, 2, 2, 2, 1550, 1551, 5, 843, 422, 2, 1551, 1552, 5, 845, 423, 2, 1552, 1553, 5, 841, 421, 2, 1553, 1554, 5, 823, 412, 2, 1554, 1555, 5, 833, 417, 2, 1555, 1556, 5, 819, 410, 2, 1556, 194, 3, 2, 2, 2, 1557, 1558, 5, 811, 406, 2, 1558, 1559, 5, 821, 411, 2, 1559, 1560, 5, 807, 404, 2, 1560, 1561, 5, 841, 421, 2, 1561, 196, 3, 2, 2, 2, 1562, 1563, 5, 849, 425, 2, 1563, 1564, 5, 807, 404, 2, 1564, 1565, 5, 841, 421, 2, 1565, 1566, 5, 811, 406, 2, 1566, 1567, 5, 821, 411, 2, 1567, 1568, 5, 807, 404, 2, 1568, 1569, 5, 841, 421, 2, 1569, 198, 3, 2, 2, 2, 1570, 1571, 5, 807, 404, 2, 1571, 1572, 5, 841, 421, 2, 1572, 1573, 5, 841, 421, 2, 1573, 1574, 5, 807, 404, 2, 1574, 1575, 5, 855, 428, 2, 1575, 200, 3, 2, 2, 2, 1576, 1577, 5, 843, 422, 2, 1577, 1578, 5, 845, 423, 2, 1578, 1579, 5, 841, 421, 2, 1579, 1580, 5, 847, 424, 2, 1580, 1581, 5, 811, 406, 2, 1581, 1582, 5, 845, 423, 2, 1582, 202, 3, 2, 2, 2, 1583, 1584, 5, 831, 416, 2, 1584, 1585, 5, 807, 404, 2, 1585, 1586, 5, 837, 419, 2, 1586, 204, 3, 2, 2, 2, 1587, 1588, 5, 831, 416, 2, 1588, 1589, 5, 807, 404, 2, 1589, 1590, 5, 843, 422, 2, 1590, 1591, 5, 827, 414, 2, 1591, 206, 3, 2, 2, 2, 1592, 1593, 5, 849, 425, 2, 1593, 1594, 5, 807, 404, 2, 1594, 1595, 5, 841, 421, 2, 1595, 1596, 5, 823, 412, 2, 1596, 1597, 5, 807, 404, 2, 1597, 1598, 5, 833, 417, 2, 1598, 1599, 5, 845, 423, 2, 1599, 208, 3, 2, 2, 2, 1600, 1601, 5, 847, 424, 2, 1601, 1602, 5, 833, 417, 2, 1602, 1603, 5, 823, 412, 2, 1603, 1604, 5, 835, 418, 2, 1604, 1605, 5, 833, 417, 2, 1605, 1606, 5, 845, 423, 2, 1606, 1607, 5, 855, 428, 2, 1607, 1608, 5, 837, 419, 2, 1608, 1609, 5, 815, 408, 2, 1609, 210, 3, 2, 2, 2, 1610, 1611, 5, 841, 421, 2, 1611, 1612, 5, 815, 408, 2, 1612, 1613, 5, 813, 407, 2, 1613, 1614, 5, 847, 424, 2, 1614, 1615, 5, 811, 406, 2, 1615, 1616, 5, 815, 408, 2, 1616, 212, 3, 2, 2, 2, 1617, 1618, 5, 837, 419, 2, 1618, 1619, 5, 807, 404, 2, 1619, 1620, 5, 841, 421, 2, 1620, 1621, 5, 845, 423, 2, 1621, 1622, 5, 823, 412, 2, 1622, 1623, 5, 845, 423, 2, 1623, 1624, 5, 823, 412, 2, 1624, 1625, 5, 835, 418, 2, 1625, 1626, 5, 833, 417, 2, 1626, 1627, 5, 815, 408, 2, 1627, 1628, 5, 813, 407, 2, 1628, 214, 3, 2, 2, 2, 1629, 1630, 5, 811, 406, 2, 1630, 1631, 5, 829, 415, 2, 1631, 1632, 5, 847, 424, 2, 1632, 1633, 5, 843, 422, 2, 1633, 1634, 5, 845, 423, 2, 1634, 1635, 5, 815, 408, 2, 1635, 1636, 5, 841, 421, 2, 1636, 1637, 5, 815, 408, 2, 1637, 1638, 5, 813, 407, 2, 1638, 216, 3, 2, 2, 2, 1639, 1640, 5, 843, 422, 2, 1640, 1641, 5, 835, 418, 2, 1641, 1642, 5, 841, 421, 2, 1642, 1643, 5, 845, 423, 2, 1643, 1644, 5, 815, 408, 2, 1644, 1645, 5, 813, 407, 2, 1645, 218, 3, 2, 2, 2, 1646, 1647, 5, 823, 412, 2, 1647, 1648, 5, 833, 417, 2, 1648, 1649, 5, 845, 423, 2, 1649, 1650, 5, 835, 418, 2, 1650, 220, 3, 2, 2, 2, 1651, 1652, 5, 809, 405, 2, 1652, 1653, 5, 847, 424, 2, 1653, 1654, 5, 811, 406, 2, 1654, 1655, 5, 827, 414, 2, 1655, 1656, 5, 815, 408, 2, 1656, 1657, 5, 845, 423, 2, 1657, 1658, 5, 843, 422, 2, 1658, 222, 3, 2, 2, 2, 1659, 1660, 5, 841, 421, 2, 1660, 1661, 5, 835, 418, 2, 1661, 1662, 5, 851, 426, 2, 1662, 224, 3, 2, 2, 2, 1663, 1664, 5, 841, 421, 2, 1664, 1665, 5, 835, 418, 2, 1665, 1666, 5, 851, 426, 2, 1666, 1667, 5, 843, 422, 2, 1667, 226, 3, 2, 2, 2, 1668, 1669, 5, 817, 409, 2, 1669, 1670, 5, 835, 418, 2, 1670, 1671, 5, 841, 421, 2, 1671, 1672, 5, 831, 416, 2, 1672, 1673, 5, 807, 404, 2, 1673, 1674, 5, 845, 423, 2, 1674, 228, 3, 2, 2, 2, 1675, 1676, 5, 813, 407, 2, 1676, 1677, 5, 815, 408, 2, 1677, 1678, 5, 829, 415, 2, 1678, 1679, 5, 823, 412, 2, 1679, 1680, 5, 831, 416, 2, 1680, 1681, 5, 823, 412, 2, 1681, 1682, 5, 845, 423, 2, 1682, 1683, 5, 815, 408, 2, 1683, 1684, 5, 813, 407, 2, 1684, 230, 3, 2, 2, 2, 1685, 1686, 5, 817, 409, 2, 1686, 1687, 5, 823, 412, 2, 1687, 1688, 5, 815, 408, 2, 1688, 1689, 5, 829, 415, 2, 1689, 1690, 5, 813, 407, 2, 1690, 1691, 5, 843, 422, 2, 1691, 232, 3, 2, 2, 2, 1692, 1693, 5, 845, 423, 2, 1693, 1694, 5, 815, 408, 2, 1694, 1695, 5, 841, 421, 2, 1695, 1696, 5, 831, 416, 2, 1696, 1697, 5, 823, 412, 2, 1697, 1698, 5, 833, 417, 2, 1698, 1699, 5, 807, 404, 2, 1699, 1700, 5, 845, 423, 2, 1700, 1701, 5, 815, 408, 2, 1701, 1702, 5, 813, 407, 2, 1702, 234, 3, 2, 2, 2, 1703, 1704, 5, 815, 408, 2, 1704, 1705, 5, 843, 422, 2, 1705, 1706, 5, 811, 406, 2, 1706, 1707, 5, 807, 404, 2, 1707, 1708, 5, 837, 419, 2, 1708, 1709, 5, 815, 408, 2, 1709, 1710, 5, 813, 407, 2, 1710, 236, 3, 2, 2, 2, 1711, 1712, 5, 811, 406, 2, 1712, 1713, 5, 835, 418, 2, 1713, 1714, 5, 829, 415, 2, 1714, 1715, 5, 829, 415, 2, 1715, 1716, 5, 815, 408, 2, 1716, 1717, 5, 811, 406, 2, 1717, 1718, 5, 845, 423, 2, 1718, 1719, 5, 823, 412, 2, 1719, 1720, 5, 835, 418, 2, 1720, 1721, 5, 833, 417, 2, 1721, 238, 3, 2, 2, 2, 1722, 1723, 5, 823, 412, 2, 1723, 1724, 5, 845, 423, 2, 1724, 1725, 5, 815, 408, 2, 1725, 1726, 5, 831, 416, 2, 1726, 1727, 5, 843, 422, 2, 1727, 240, 3, 2, 2, 2, 1728, 1729, 5, 827, 414, 2, 1729, 1730, 5, 815, 408, 2, 1730, 1731, 5, 855, 428, 2, 1731, 1732, 5, 843, 422, 2, 1732, 242, 3, 2, 2, 2, 1733, 1734, 7, 38, 2, 2, 1734, 1735, 5, 827, 414, 2, 1735, 1736, 5, 815, 408, 2, 1736, 1737, 5, 855, 428, 2, 1737, 1738, 7, 38, 2, 2, 1738, 244, 3, 2, 2, 2, 1739, 1740, 5, 827, 414, 2, 1740, 1741, 5, 823, 412, 2, 1741, 1742, 5, 829, 415, 2, 1742, 1743, 5, 829, 415, 2, 1743, 246, 3, 2, 2, 2, 1744, 1745, 5, 829, 415, 2, 1745, 1746, 5, 823, 412, 2, 1746, 1747, 5, 833, 417, 2, 1747, 1748, 5, 815, 408, 2, 1748, 1749, 5, 843, 422, 2, 1749, 248, 3, 2, 2, 2, 1750, 1751, 5, 843, 422, 2, 1751, 1752, 5, 845, 423, 2, 1752, 1753, 5, 835, 418, 2, 1753, 1754, 5, 841, 421, 2, 1754, 1755, 5, 815, 408, 2, 1755, 1756, 5, 813, 407, 2, 1756, 250, 3, 2, 2, 2, 1757, 1758, 5, 817, 409, 2, 1758, 1759, 5, 823, 412, 2, 1759, 1760, 5, 829, 415, 2, 1760, 1761, 5, 815, 408, 2, 1761, 1762, 5, 817, 409, 2, 1762, 1763, 5, 835, 418, 2, 1763, 1764, 5, 841, 421, 2, 1764, 1765, 5, 831, 416, 2, 1765, 1766, 5, 807, 404, 2, 1766, 1767, 5, 845, 423, 2, 1767, 252, 3, 2, 2, 2, 1768, 1769, 5, 823, 412, 2, 1769, 1770, 5, 833, 417, 2, 1770, 1771, 5, 837, 419, 2, 1771, 1772, 5, 847, 424, 2, 1772, 1773, 5, 845, 423, 2, 1773, 1774, 5, 817, 409, 2, 1774, 1775, 5, 835, 418, 2, 1775, 1776, 5, 841, 421, 2, 1776, 1777, 5, 831, 416, 2, 1777, 1778, 5, 807, 404, 2, 1778, 1779, 5, 845, 423, 2, 1779, 254, 3, 2, 2, 2, 1780, 1781, 5, 835, 418, 2, 1781, 1782, 5, 847, 424, 2, 1782, 1783, 5, 845, 423, 2, 1783, 1784, 5, 837, 419, 2, 1784, 1785, 5, 847, 424, 2, 1785, 1786, 5, 845, 423, 2, 1786, 1787, 5, 817, 409, 2, 1787, 1788, 5, 835, 418, 2, 1788, 1789, 5, 841, 421, 2, 1789, 1790, 5, 831, 416, 2, 1790, 1791, 5, 807, 404, 2, 1791, 1792, 5, 845, 423, 2, 1792, 256, 3, 2, 2, 2, 1793, 1794, 5, 823, 412, 2, 1794, 1795, 5, 833, 417, 2, 1795, 1796, 5, 837, 419, 2, 1796, 1797, 5, 847, 424, 2, 1797, 1798, 5, 845, 423, 2, 1798, 1799, 5, 813, 407, 2, 1799, 1800, 5, 841, 421, 2, 1800, 1801, 5, 823, 412, 2, 1801, 1802, 5, 849, 425, 2, 1802, 1803, 5, 815, 408, 2, 1803, 1804, 5, 841, 421, 2, 1804, 258, 3, 2, 2, 2, 1805, 1806, 5, 835, 418, 2, 1806, 1807, 5, 847, 424, 2, 1807, 1808, 5, 845, 423, 2, 1808, 1809, 5, 837, 419, 2, 1809, 1810, 5, 847, 424, 2, 1810, 1811, 5, 845, 423, 2, 1811, 1812, 5, 813, 407, 2, 1812, 1813, 5, 841, 421, 2, 1813, 1814, 5, 823, 412, 2, 1814, 1815, 5, 849, 425, 2, 1815, 1816, 5, 815, 408, 2, 1816, 1817, 5, 841, 421, 2, 1817, 260, 3, 2, 2, 2, 1818, 1819, 5, 815, 408, 2, 1819, 1820, 5, 833, 417, 2, 1820, 1821, 5, 807, 404, 2, 1821, 1822, 5, 809, 405, 2, 1822, 1823, 5, 829, 415, 2, 1823, 1824, 5, 815, 408, 2, 1824, 262, 3, 2, 2, 2, 1825, 1826, 5, 813, 407, 2, 1826, 1827, 5, 823, 412, 2, 1827, 1828, 5, 843, 422, 2, 1828, 1829, 5, 807, 404, 2, 1829, 1830, 5, 809, 405, 2, 1830, 1831, 5, 829, 415, 2, 1831, 1832, 5, 815, 408, 2, 1832, 264, 3, 2, 2, 2, 1833, 1834, 5, 829, 415, 2, 1834, 1835, 5, 835, 418, 2, 1835, 1836, 5, 811, 406, 2, 1836, 1837, 5, 807, 404, 2, 1837, 1838, 5, 845, 423, 2, 1838, 1839, 5, 823, 412, 2, 1839, 1840, 5, 835, 418, 2, 1840, 1841, 5, 833, 417, 2, 1841, 266, 3, 2, 2, 2, 1842, 1843, 5, 845, 423, 2, 1843, 1844, 5, 807, 404, 2, 1844, 1845, 5, 809, 405, 2, 1845, 1846, 5, 829, 415, 2, 1846, 1847, 5, 815, 408, 2, 1847, 1848, 5, 843, 422, 2, 1848, 1849, 5, 807, 404, 2, 1849, 1850, 5, 831, 416, 2, 1850, 1851, 5, 837, 419, 2, 1851, 1852, 5, 829, 415, 2, 1852, 1853, 5, 815, 408, 2, 1853, 268, 3, 2, 2, 2, 1854, 1855, 5, 809, 405, 2, 1855, 1856, 5, 847, 424, 2, 1856, 1857, 5, 811, 406, 2, 1857, 1858, 5, 827, 414, 2, 1858, 1859, 5, 815, 408, 2, 1859, 1860, 5, 845, 423, 2, 1860, 270, 3, 2, 2, 2, 1861, 1862, 5, 835, 418, 2, 1862, 1863, 5, 847, 424, 2, 1863, 1864, 5, 845, 423, 2, 1864, 272, 3, 2, 2, 2, 1865, 1866, 5, 835, 418, 2, 1866, 1867, 5, 817, 409, 2, 1867, 274, 3, 2, 2, 2, 1868, 1869, 5, 837, 419, 2, 1869, 1870, 5, 815, 408, 2, 1870, 1871, 5, 841, 421, 2, 1871, 1872, 5, 811, 406, 2, 1872, 1873, 5, 815, 408, 2, 1873, 1874, 5, 833, 417, 2, 1874, 1875, 5, 845, 423, 2, 1875, 276, 3, 2, 2, 2, 1876, 1877, 5, 811, 406, 2, 1877, 1878, 5, 807, 404, 2, 1878, 1879, 5, 843, 422, 2, 1879, 1880, 5, 845, 423, 2, 1880, 278, 3, 2, 2, 2, 1881, 1882, 5, 807, 404, 2, 1882, 1883, 5, 813, 407, 2, 1883, 1884, 5, 813, 407, 2, 1884, 280, 3, 2, 2, 2, 1885, 1886, 5, 841, 421, 2, 1886, 1887, 5, 815, 408, 2, 1887, 1888, 5, 837, 419, 2, 1888, 1889, 5, 829, 415, 2, 1889, 1890, 5, 807, 404, 2, 1890, 1891, 5, 811, 406, 2, 1891, 1892, 5, 815, 408, 2, 1892, 282, 3, 2, 2, 2, 1893, 1894, 5, 841, 421, 2, 1894, 1895, 5, 829, 415, 2, 1895, 1896, 5, 823, 412, 2, 1896, 1897, 5, 827, 414, 2, 1897, 1898, 5, 815, 408, 2, 1898, 284, 3, 2, 2, 2, 1899, 1900, 5, 841, 421, 2, 1900, 1901, 5, 815, 408, 2, 1901, 1902, 5, 819, 410, 2, 1902, 1903, 5, 815, 408, 2, 1903, 1904, 5, 853, 427, 2, 1904, 1905, 5, 837, 419, 2, 1905, 286, 3, 2, 2, 2, 1906, 1907, 5, 845, 423, 2, 1907, 1908, 5, 815, 408, 2, 1908, 1909, 5, 831, 416, 2, 1909, 1910, 5, 837, 419, 2, 1910, 1911, 5, 835, 418, 2, 1911, 1912, 5, 841, 421, 2, 1912, 1913, 5, 807, 404, 2, 1913, 1914, 5, 841, 421, 2, 1914, 1915, 5, 855, 428, 2, 1915, 288, 3, 2, 2, 2, 1916, 1917, 5, 817, 409, 2, 1917, 1918, 5, 847, 424, 2, 1918, 1919, 5, 833, 417, 2, 1919, 1920, 5, 811, 406, 2, 1920, 1921, 5, 845, 423, 2, 1921, 1922, 5, 823, 412, 2, 1922, 1923, 5, 835, 418, 2, 1923, 1924, 5, 833, 417, 2, 1924, 290, 3, 2, 2, 2, 1925, 1926, 5, 831, 416, 2, 1926, 1927, 5, 807, 404, 2, 1927, 1928, 5, 811, 406, 2, 1928, 1929, 5, 841, 421, 2, 1929, 1930, 5, 835, 418, 2, 1930, 292, 3, 2, 2, 2, 1931, 1932, 5, 817, 409, 2, 1932, 1933, 5, 823, 412, 2, 1933, 1934, 5, 829, 415, 2, 1934, 1935, 5, 815, 408, 2, 1935, 294, 3, 2, 2, 2, 1936, 1937, 5, 825, 413, 2, 1937, 1938, 5, 807, 404, 2, 1938, 1939, 5, 841, 421, 2, 1939, 296, 3, 2, 2, 2, 1940, 1941, 5, 815, 408, 2, 1941, 1942, 5, 853, 427, 2, 1942, 1943, 5, 837, 419, 2, 1943, 1944, 5, 829, 415, 2, 1944, 1945, 5, 807, 404, 2, 1945, 1946, 5, 823, 412, 2, 1946, 1947, 5, 833, 417, 2, 1947, 298, 3, 2, 2, 2, 1948, 1949, 5, 815, 408, 2, 1949, 1950, 5, 853, 427, 2, 1950, 1951, 5, 845, 423, 2, 1951, 1952, 5, 815, 408, 2, 1952, 1953, 5, 833, 417, 2, 1953, 1954, 5, 813, 407, 2, 1954, 1955, 5, 815, 408, 2, 1955, 1956, 5, 813, 407, 2, 1956, 300, 3, 2, 2, 2, 1957, 1958, 5, 817, 409, 2, 1958, 1959, 5, 835, 418, 2, 1959, 1960, 5, 841, 421, 2, 1960, 1961, 5, 831, 416, 2, 1961, 1962, 5, 807, 404, 2, 1962, 1963, 5, 845, 423, 2, 1963, 1964, 5, 845, 423, 2, 1964, 1965, 5, 815, 408, 2, 1965, 1966, 5, 813, 407, 2, 1966, 302, 3, 2, 2, 2, 1967, 1968, 5, 813, 407, 2, 1968, 1969, 5, 815, 408, 2, 1969, 1970, 5, 837, 419, 2, 1970, 1971, 5, 815, 408, 2, 1971, 1972, 5, 833, 417, 2, 1972, 1973, 5, 813, 407, 2, 1973, 1974, 5, 815, 408, 2, 1974, 1975, 5, 833, 417, 2, 1975, 1976, 5, 811, 406, 2, 1976, 1977, 5, 855, 428, 2, 1977, 304, 3, 2, 2, 2, 1978, 1979, 5, 829, 415, 2, 1979, 1980, 5, 835, 418, 2, 1980, 1981, 5, 819, 410, 2, 1981, 1982, 5, 823, 412, 2, 1982, 1983, 5, 811, 406, 2, 1983, 1984, 5, 807, 404, 2, 1984, 1985, 5, 829, 415, 2, 1985, 306, 3, 2, 2, 2, 1986, 1987, 5, 843, 422, 2, 1987, 1988, 5, 815, 408, 2, 1988, 1989, 5, 841, 421, 2, 1989, 1990, 5, 813, 407, 2, 1990, 1991, 5, 815, 408, 2, 1991, 308, 3, 2, 2, 2, 1992, 1993, 5, 851, 426, 2, 1993, 1994, 5, 823, 412, 2, 1994, 1995, 5, 845, 423, 2, 1995, 1996, 5, 821, 411, 2, 1996, 310, 3, 2, 2, 2, 1997, 1998, 5, 813, 407, 2, 1998, 1999, 5, 815, 408, 2, 1999, 2000, 5, 817, 409, 2, 2000, 2001, 5, 815, 408, 2, 2001, 2002, 5, 841, 421, 2, 2002, 2003, 5, 841, 421, 2, 2003, 2004, 5, 815, 408, 2, 2004, 2005, 5, 813, 407, 2, 2005, 312, 3, 2, 2, 2, 2006, 2007, 5, 843, 422, 2, 2007, 2008, 5, 815, 408, 2, 2008, 2009, 5, 841, 421, 2, 2009, 2010, 5, 813, 407, 2, 2010, 2011, 5, 815, 408, 2, 2011, 2012, 5, 837, 419, 2, 2012, 2013, 5, 841, 421, 2, 2013, 2014, 5, 835, 418, 2, 2014, 2015, 5, 837, 419, 2, 2015, 2016, 5, 815, 408, 2, 2016, 2017, 5, 841, 421, 2, 2017, 2018, 5, 845, 423, 2, 2018, 2019, 5, 823, 412, 2, 2019, 2020, 5, 815, 408, 2, 2020, 2021, 5, 843, 422, 2, 2021, 314, 3, 2, 2, 2, 2022, 2023, 5, 813, 407, 2, 2023, 2024, 5, 809, 405, 2, 2024, 2025, 5, 837, 419, 2, 2025, 2026, 5, 841, 421, 2, 2026, 2027, 5, 835, 418, 2, 2027, 2028, 5, 837, 419, 2, 2028, 2029, 5, 815, 408, 2, 2029, 2030, 5, 841, 421, 2, 2030, 2031, 5, 845, 423, 2, 2031, 2032, 5, 823, 412, 2, 2032, 2033, 5, 815, 408, 2, 2033, 2034, 5, 843, 422, 2, 2034, 316, 3, 2, 2, 2, 2035, 2036, 5, 829, 415, 2, 2036, 2037, 5, 823, 412, 2, 2037, 2038, 5, 831, 416, 2, 2038, 2039, 5, 823, 412, 2, 2039, 2040, 5, 845, 423, 2, 2040, 318, 3, 2, 2, 2, 2041, 2042, 5, 835, 418, 2, 2042, 2043, 5, 817, 409, 2, 2043, 2044, 5, 817, 409, 2, 2044, 2045, 5, 843, 422, 2, 2045, 2046, 5, 815, 408, 2, 2046, 2047, 5, 845, 423, 2, 2047, 320, 3, 2, 2, 2, 2048, 2049, 5, 843, 422, 2, 2049, 2050, 5, 815, 408, 2, 2050, 2051, 5, 845, 423, 2, 2051, 322, 3, 2, 2, 2, 2052, 2053, 5, 847, 424, 2, 2053, 2054, 5, 833, 417, 2, 2054, 2055, 5, 843, 422, 2, 2055, 2056, 5, 815, 408, 2, 2056, 2057, 5, 845, 423, 2, 2057, 324, 3, 2, 2, 2, 2058, 2059, 5, 845, 423, 2, 2059, 2060, 5, 809, 405, 2, 2060, 2061, 5, 829, 415, 2, 2061, 2062, 5, 837, 419, 2, 2062, 2063, 5, 841, 421, 2, 2063, 2064, 5, 835, 418, 2, 2064, 2065, 5, 837, 419, 2, 2065, 2066, 5, 815, 408, 2, 2066, 2067, 5, 841, 421, 2, 2067, 2068, 5, 845, 423, 2, 2068, 2069, 5, 823, 412, 2, 2069, 2070, 5, 815, 408, 2, 2070, 2071, 5, 843, 422, 2, 2071, 326, 3, 2, 2, 2, 2072, 2073, 5, 823, 412, 2, 2073, 2074, 5, 813, 407, 2, 2074, 2075, 5, 853, 427, 2, 2075, 2076, 5, 837, 419, 2, 2076, 2077, 5, 841, 421, 2, 2077, 2078, 5, 835, 418, 2, 2078, 2079, 5, 837, 419, 2, 2079, 2080, 5, 815, 408, 2, 2080, 2081, 5, 841, 421, 2, 2081, 2082, 5, 845, 423, 2, 2082, 2083, 5, 823, 412, 2, 2083, 2084, 5, 815, 408, 2, 2084, 2085, 5, 843, 422, 2, 2085, 328, 3, 2, 2, 2, 2086, 2087, 7, 38, 2, 2, 2087, 2088, 5, 849, 425, 2, 2088, 2089, 5, 807, 404, 2, 2089, 2090, 5, 829, 415, 2, 2090, 2091, 5, 847, 424, 2, 2091, 2092, 5, 815, 408, 2, 2092, 2093, 7, 38, 2, 2, 2093, 330, 3, 2, 2, 2, 2094, 2095, 7, 38, 2, 2, 2095, 2096, 5, 815, 408, 2, 2096, 2097, 5, 829, 415, 2, 2097, 2098, 5, 815, 408, 2, 2098, 2099, 5, 831, 416, 2, 2099, 2100, 7, 38, 2, 2, 2100, 332, 3, 2, 2, 2, 2101, 2102, 5, 813, 407, 2, 2102, 2103, 5, 815, 408, 2, 2103, 2104, 5, 817, 409, 2, 2104, 2105, 5, 823, 412, 2, 2105, 2106, 5, 833, 417, 2, 2106, 2107, 5, 815, 408, 2, 2107, 2108, 5, 813, 407, 2, 2108, 334, 3, 2, 2, 2, 2109, 2110, 5, 811, 406, 2, 2110, 2111, 5, 807, 404, 2, 2111, 2112, 5, 843, 422, 2, 2112, 2113, 5, 815, 408, 2, 2113, 336, 3, 2, 2, 2, 2114, 2115, 5, 851, 426, 2, 2115, 2116, 5, 821, 411, 2, 2116, 2117, 5, 815, 408, 2, 2117, 2118, 5, 833, 417, 2, 2118, 338, 3, 2, 2, 2, 2119, 2120, 5, 845, 423, 2, 2120, 2121, 5, 821, 411, 2, 2121, 2122, 5, 815, 408, 2, 2122, 2123, 5, 833, 417, 2, 2123, 340, 3, 2, 2, 2, 2124, 2125, 5, 815, 408, 2, 2125, 2126, 5, 829, 415, 2, 2126, 2127, 5, 843, 422, 2, 2127, 2128, 5, 815, 408, 2, 2128, 342, 3, 2, 2, 2, 2129, 2130, 5, 815, 408, 2, 2130, 2131, 5, 833, 417, 2, 2131, 2132, 5, 813, 407, 2, 2132, 344, 3, 2, 2, 2, 2133, 2134, 5, 831, 416, 2, 2134, 2135, 5, 807, 404, 2, 2135, 2136, 5, 837, 419, 2, 2136, 2137, 5, 825, 413, 2, 2137, 2138, 5, 835, 418, 2, 2138, 2139, 5, 823, 412, 2, 2139, 2140, 5, 833, 417, 2, 2140, 346, 3, 2, 2, 2, 2141, 2142, 5, 843, 422, 2, 2142, 2143, 5, 845, 423, 2, 2143, 2144, 5, 841, 421, 2, 2144, 2145, 5, 815, 408, 2, 2145, 2146, 5, 807, 404, 2, 2146, 2147, 5, 831, 416, 2, 2147, 2148, 5, 845, 423, 2, 2148, 2149, 5, 807, 404, 2, 2149, 2150, 5, 809, 405, 2, 2150, 2151, 5, 829, 415, 2, 2151, 2152, 5, 815, 408, 2, 2152, 348, 3, 2, 2, 2, 2153, 2154, 5, 811, 406, 2, 2154, 2155, 5, 829, 415, 2, 2155, 2156, 5, 847, 424, 2, 2156, 2157, 5, 843, 422, 2, 2157, 2158, 5, 845, 423, 2, 2158, 2159, 5, 815, 408, 2, 2159, 2160, 5, 841, 421, 2, 2160, 2161, 5, 843, 422, 2, 2161, 2162, 5, 845, 423, 2, 2162, 2163, 5, 807, 404, 2, 2163, 2164, 5, 845, 423, 2, 2164, 2165, 5, 847, 424, 2, 2165, 2166, 5, 843, 422, 2, 2166, 350, 3, 2, 2, 2, 2167, 2168, 5, 847, 424, 2, 2168, 2169, 5, 845, 423, 2, 2169, 2170, 5, 811, 406, 2, 2170, 352, 3, 2, 2, 2, 2171, 2172, 5, 847, 424, 2, 2172, 2173, 5, 845, 423, 2, 2173, 2174, 5, 811, 406, 2, 2174, 2175, 5, 845, 423, 2, 2175, 2176, 5, 823, 412, 2, 2176, 2177, 5, 831, 416, 2, 2177, 2178, 5, 815, 408, 2, 2178, 2179, 5, 843, 422, 2, 2179, 2180, 5, 845, 423, 2, 2180, 2181, 5, 807, 404, 2, 2181, 2182, 5, 831, 416, 2, 2182, 2183, 5, 837, 419, 2, 2183, 354, 3, 2, 2, 2, 2184, 2185, 5, 829, 415, 2, 2185, 2186, 5, 835, 418, 2, 2186, 2187, 5, 833, 417, 2, 2187, 2188, 5, 819, 410, 2, 2188, 356, 3, 2, 2, 2, 2189, 2190, 5, 813, 407, 2, 2190, 2191, 5, 815, 408, 2, 2191, 2192, 5, 829, 415, 2, 2192, 2193, 5, 815, 408, 2, 2193, 2194, 5, 845, 423, 2, 2194, 2195, 5, 815, 408, 2, 2195, 358, 3, 2, 2, 2, 2196, 2197, 5, 837, 419, 2, 2197, 2198, 5, 829, 415, 2, 2198, 2199, 5, 847, 424, 2, 2199, 2200, 5, 843, 422, 2, 2200, 360, 3, 2, 2, 2, 2201, 2202, 5, 831, 416, 2, 2202, 2203, 5, 823, 412, 2, 2203, 2204, 5, 833, 417, 2, 2204, 2205, 5, 847, 424, 2, 2205, 2206, 5, 843, 422, 2, 2206, 362, 3, 2, 2, 2, 2207, 2208, 5, 817, 409, 2, 2208, 2209, 5, 815, 408, 2, 2209, 2210, 5, 845, 423, 2, 2210, 2211, 5, 811, 406, 2, 2211, 2212, 5, 821, 411, 2, 2212, 364, 3, 2, 2, 2, 2213, 2214, 5, 823, 412, 2, 2214, 2215, 5, 833, 417, 2, 2215, 2216, 5, 845, 423, 2, 2216, 2217, 5, 815, 408, 2, 2217, 2218, 5, 841, 421, 2, 2218, 2219, 5, 843, 422, 2, 2219, 2220, 5, 815, 408, 2, 2220, 2221, 5, 811, 406, 2, 2221, 2222, 5, 845, 423, 2, 2222, 366, 3, 2, 2, 2, 2223, 2224, 5, 849, 425, 2, 2224, 2225, 5, 823, 412, 2, 2225, 2226, 5, 815, 408, 2, 2226, 2227, 5, 851, 426, 2, 2227, 368, 3, 2, 2, 2, 2228, 2229, 5, 849, 425, 2, 2229, 2230, 5, 823, 412, 2, 2230, 2231, 5, 815, 408, 2, 2231, 2232, 5, 851, 426, 2, 2232, 2233, 5, 843, 422, 2, 2233, 370, 3, 2, 2, 2, 2234, 2235, 5, 823, 412, 2, 2235, 2236, 5, 833, 417, 2, 2236, 372, 3, 2, 2, 2, 2237, 2238, 5, 813, 407, 2, 2238, 2239, 5, 807, 404, 2, 2239, 2240, 5, 845, 423, 2, 2240, 2241, 5, 807, 404, 2, 2241, 2242, 5, 809, 405, 2, 2242, 2243, 5, 807, 404, 2, 2243, 2244, 5, 843, 422, 2, 2244, 2245, 5, 815, 408, 2, 2245, 374, 3, 2, 2, 2, 2246, 2247, 5, 813, 407, 2, 2247, 2248, 5, 807, 404, 2, 2248, 2249, 5, 845, 423, 2, 2249, 2250, 5, 807, 404, 2, 2250, 2251, 5, 809, 405, 2, 2251, 2252, 5, 807, 404, 2, 2252, 2253, 5, 843, 422, 2, 2253, 2254, 5, 815, 408, 2, 2254, 2255, 5, 843, 422, 2, 2255, 376, 3, 2, 2, 2, 2256, 2257, 5, 831, 416, 2, 2257, 2258, 5, 807, 404, 2, 2258, 2259, 5, 845, 423, 2, 2259, 2260, 5, 815, 408, 2, 2260, 2261, 5, 841, 421, 2, 2261, 2262, 5, 823, 412, 2, 2262, 2263, 5, 807, 404, 2, 2263, 2264, 5, 829, 415, 2, 2264, 2265, 5, 823, 412, 2, 2265, 2266, 5, 857, 429, 2, 2266, 2267, 5, 815, 408, 2, 2267, 2268, 5, 813, 407, 2, 2268, 378, 3, 2, 2, 2, 2269, 2270, 5, 843, 422, 2, 2270, 2271, 5, 811, 406, 2, 2271, 2272, 5, 821, 411, 2, 2272, 2273, 5, 815, 408, 2, 2273, 2274, 5, 831, 416, 2, 2274, 2275, 5, 807, 404, 2, 2275, 380, 3, 2, 2, 2, 2276, 2277, 5, 843, 422, 2, 2277, 2278, 5, 811, 406, 2, 2278, 2279, 5, 821, 411, 2, 2279, 2280, 5, 815, 408, 2, 2280, 2281, 5, 831, 416, 2, 2281, 2282, 5, 807, 404, 2, 2282, 2283, 5, 843, 422, 2, 2283, 382, 3, 2, 2, 2, 2284, 2285, 5, 819, 410, 2, 2285, 2286, 5, 841, 421, 2, 2286, 2287, 5, 807, 404, 2, 2287, 2288, 5, 833, 417, 2, 2288, 2289, 5, 845, 423, 2, 2289, 384, 3, 2, 2, 2, 2290, 2291, 5, 841, 421, 2, 2291, 2292, 5, 815, 408, 2, 2292, 2293, 5, 849, 425, 2, 2293, 2294, 5, 835, 418, 2, 2294, 2295, 5, 827, 414, 2, 2295, 2296, 5, 815, 408, 2, 2296, 386, 3, 2, 2, 2, 2297, 2298, 5, 843, 422, 2, 2298, 2299, 5, 843, 422, 2, 2299, 2300, 5, 829, 415, 2, 2300, 388, 3, 2, 2, 2, 2301, 2302, 5, 847, 424, 2, 2302, 2303, 5, 833, 417, 2, 2303, 2304, 5, 813, 407, 2, 2304, 2305, 5, 835, 418, 2, 2305, 390, 3, 2, 2, 2, 2306, 2307, 5, 829, 415, 2, 2307, 2308, 5, 835, 418, 2, 2308, 2309, 5, 811, 406, 2, 2309, 2310, 5, 827, 414, 2, 2310, 392, 3, 2, 2, 2, 2311, 2312, 5, 829, 415, 2, 2312, 2313, 5, 835, 418, 2, 2313, 2314, 5, 811, 406, 2, 2314, 2315, 5, 827, 414, 2, 2315, 2316, 5, 843, 422, 2, 2316, 394, 3, 2, 2, 2, 2317, 2318, 5, 847, 424, 2, 2318, 2319, 5, 833, 417, 2, 2319, 2320, 5, 829, 415, 2, 2320, 2321, 5, 835, 418, 2, 2321, 2322, 5, 811, 406, 2, 2322, 2323, 5, 827, 414, 2, 2323, 396, 3, 2, 2, 2, 2324, 2325, 5, 843, 422, 2, 2325, 2326, 5, 821, 411, 2, 2326, 2327, 5, 807, 404, 2, 2327, 2328, 5, 841, 421, 2, 2328, 2329, 5, 815, 408, 2, 2329, 2330, 5, 813, 407, 2, 2330, 398, 3, 2, 2, 2, 2331, 2332, 5, 815, 408, 2, 2332, 2333, 5, 853, 427, 2, 2333, 2334, 5, 811, 406, 2, 2334, 2335, 5, 829, 415, 2, 2335, 2336, 5, 847, 424, 2, 2336, 2337, 5, 843, 422, 2, 2337, 2338, 5, 823, 412, 2, 2338, 2339, 5, 849, 425, 2, 2339, 2340, 5, 815, 408, 2, 2340, 400, 3, 2, 2, 2, 2341, 2342, 5, 837, 419, 2, 2342, 2343, 5, 841, 421, 2, 2343, 2344, 5, 835, 418, 2, 2344, 2345, 5, 811, 406, 2, 2345, 2346, 5, 815, 408, 2, 2346, 2347, 5, 813, 407, 2, 2347, 2348, 5, 847, 424, 2, 2348, 2349, 5, 841, 421, 2, 2349, 2350, 5, 815, 408, 2, 2350, 402, 3, 2, 2, 2, 2351, 2352, 5, 847, 424, 2, 2352, 2353, 5, 833, 417, 2, 2353, 2354, 5, 843, 422, 2, 2354, 2355, 5, 823, 412, 2, 2355, 2356, 5, 819, 410, 2, 2356, 2357, 5, 833, 417, 2, 2357, 2358, 5, 815, 408, 2, 2358, 2359, 5, 813, 407, 2, 2359, 404, 3, 2, 2, 2, 2360, 2361, 5, 851, 426, 2, 2361, 2362, 5, 821, 411, 2, 2362, 2363, 5, 823, 412, 2, 2363, 2364, 5, 829, 415, 2, 2364, 2365, 5, 815, 408, 2, 2365, 406, 3, 2, 2, 2, 2366, 2367, 5, 841, 421, 2, 2367, 2368, 5, 815, 408, 2, 2368, 2369, 5, 807, 404, 2, 2369, 2370, 5, 813, 407, 2, 2370, 408, 3, 2, 2, 2, 2371, 2372, 5, 841, 421, 2, 2372, 2373, 5, 815, 408, 2, 2373, 2374, 5, 807, 404, 2, 2374, 2375, 5, 813, 407, 2, 2375, 2376, 5, 843, 422, 2, 2376, 410, 3, 2, 2, 2, 2377, 2378, 5, 837, 419, 2, 2378, 2379, 5, 847, 424, 2, 2379, 2380, 5, 841, 421, 2, 2380, 2381, 5, 819, 410, 2, 2381, 2382, 5, 815, 408, 2, 2382, 412, 3, 2, 2, 2, 2383, 2384, 5, 841, 421, 2, 2384, 2385, 5, 807, 404, 2, 2385, 2386, 5, 833, 417, 2, 2386, 2387, 5, 819, 410, 2, 2387, 2388, 5, 815, 408, 2, 2388, 414, 3, 2, 2, 2, 2389, 2390, 5, 807, 404, 2, 2390, 2391, 5, 833, 417, 2, 2391, 2392, 5, 807, 404, 2, 2392, 2393, 5, 829, 415, 2, 2393, 2394, 5, 855, 428, 2, 2394, 2395, 5, 857, 429, 2, 2395, 2396, 5, 815, 408, 2, 2396, 416, 3, 2, 2, 2, 2397, 2398, 5, 809, 405, 2, 2398, 2399, 5, 815, 408, 2, 2399, 2400, 5, 817, 409, 2, 2400, 2401, 5, 835, 418, 2, 2401, 2402, 5, 841, 421, 2, 2402, 2403, 5, 815, 408, 2, 2403, 418, 3, 2, 2, 2, 2404, 2405, 5, 809, 405, 2, 2405, 2406, 5, 815, 408, 2, 2406, 2407, 5, 845, 423, 2, 2407, 2408, 5, 851, 426, 2, 2408, 2409, 5, 815, 408, 2, 2409, 2410, 5, 815, 408, 2, 2410, 2411, 5, 833, 417, 2, 2411, 420, 3, 2, 2, 2, 2412, 2413, 5, 809, 405, 2, 2413, 2414, 5, 835, 418, 2, 2414, 2415, 5, 845, 423, 2, 2415, 2416, 5, 821, 411, 2, 2416, 422, 3, 2, 2, 2, 2417, 2418, 5, 809, 405, 2, 2418, 2419, 5, 823, 412, 2, 2419, 2420, 5, 833, 417, 2, 2420, 2421, 5, 807, 404, 2, 2421, 2422, 5, 841, 421, 2, 2422, 2423, 5, 855, 428, 2, 2423, 424, 3, 2, 2, 2, 2424, 2425, 5, 811, 406, 2, 2425, 2426, 5, 841, 421, 2, 2426, 2427, 5, 835, 418, 2, 2427, 2428, 5, 843, 422, 2, 2428, 2429, 5, 843, 422, 2, 2429, 426, 3, 2, 2, 2, 2430, 2431, 5, 811, 406, 2, 2431, 2432, 5, 835, 418, 2, 2432, 2433, 5, 833, 417, 2, 2433, 2434, 5, 845, 423, 2, 2434, 2435, 5, 823, 412, 2, 2435, 2436, 5, 833, 417, 2, 2436, 2437, 5, 847, 424, 2, 2437, 2438, 5, 815, 408, 2, 2438, 428, 3, 2, 2, 2, 2439, 2440, 5, 811, 406, 2, 2440, 2441, 5, 847, 424, 2, 2441, 2442, 5, 841, 421, 2, 2442, 2443, 5, 843, 422, 2, 2443, 2444, 5, 835, 418, 2, 2444, 2445, 5, 841, 421, 2, 2445, 430, 3, 2, 2, 2, 2446, 2447, 5, 845, 423, 2, 2447, 2448, 5, 841, 421, 2, 2448, 2449, 5, 823, 412, 2, 2449, 2450, 5, 819, 410, 2, 2450, 2451, 5, 819, 410, 2, 2451, 2452, 5, 815, 408, 2, 2452, 2453, 5, 841, 421, 2, 2453, 432, 3, 2, 2, 2, 2454, 2455, 5, 841, 421, 2, 2455, 2456, 5, 815, 408, 2, 2456, 2457, 5, 811, 406, 2, 2457, 2458, 5, 835, 418, 2, 2458, 2459, 5, 841, 421, 2, 2459, 2460, 5, 813, 407, 2, 2460, 2461, 5, 841, 421, 2, 2461, 2462, 5, 815, 408, 2, 2462, 2463, 5, 807, 404, 2, 2463, 2464, 5, 813, 407, 2, 2464, 2465, 5, 815, 408, 2, 2465, 2466, 5, 841, 421, 2, 2466, 434, 3, 2, 2, 2, 2467, 2468, 5, 841, 421, 2, 2468, 2469, 5, 815, 408, 2, 2469, 2470, 5, 811, 406, 2, 2470, 2471, 5, 835, 418, 2, 2471, 2472, 5, 841, 421, 2, 2472, 2473, 5, 813, 407, 2, 2473, 2474, 5, 851, 426, 2, 2474, 2475, 5, 841, 421, 2, 2475, 2476, 5, 823, 412, 2, 2476, 2477, 5, 845, 423, 2, 2477, 2478, 5, 815, 408, 2, 2478, 2479, 5, 841, 421, 2, 2479, 436, 3, 2, 2, 2, 2480, 2481, 5, 843, 422, 2, 2481, 2482, 5, 815, 408, 2, 2482, 2483, 5, 831, 416, 2, 2483, 2484, 5, 823, 412, 2, 2484, 438, 3, 2, 2, 2, 2485, 2486, 5, 829, 415, 2, 2486, 2487, 5, 807, 404, 2, 2487, 2488, 5, 845, 423, 2, 2488, 2489, 5, 815, 408, 2, 2489, 2490, 5, 841, 421, 2, 2490, 2491, 5, 807, 404, 2, 2491, 2492, 5, 829, 415, 2, 2492, 440, 3, 2, 2, 2, 2493, 2494, 5, 845, 423, 2, 2494, 2495, 5, 835, 418, 2, 2495, 2496, 5, 847, 424, 2, 2496, 2497, 5, 811, 406, 2, 2497, 2498, 5, 821, 411, 2, 2498, 442, 3, 2, 2, 2, 2499, 2500, 5, 807, 404, 2, 2500, 2501, 5, 841, 421, 2, 2501, 2502, 5, 811, 406, 2, 2502, 2503, 5, 821, 411, 2, 2503, 2504, 5, 823, 412, 2, 2504, 2505, 5, 849, 425, 2, 2505, 2506, 5, 815, 408, 2, 2506, 444, 3, 2, 2, 2, 2507, 2508, 5, 847, 424, 2, 2508, 2509, 5, 833, 417, 2, 2509, 2510, 5, 807, 404, 2, 2510, 2511, 5, 841, 421, 2, 2511, 2512, 5, 811, 406, 2, 2512, 2513, 5, 821, 411, 2, 2513, 2514, 5, 823, 412, 2, 2514, 2515, 5, 849, 425, 2, 2515, 2516, 5, 815, 408, 2, 2516, 446, 3, 2, 2, 2, 2517, 2518, 5, 811, 406, 2, 2518, 2519, 5, 835, 418, 2, 2519, 2520, 5, 831, 416, 2, 2520, 2521, 5, 837, 419, 2, 2521, 2522, 5, 847, 424, 2, 2522, 2523, 5, 845, 423, 2, 2523, 2524, 5, 815, 408, 2, 2524, 448, 3, 2, 2, 2, 2525, 2526, 5, 843, 422, 2, 2526, 2527, 5, 845, 423, 2, 2527, 2528, 5, 807, 404, 2, 2528, 2529, 5, 845, 423, 2, 2529, 2530, 5, 823, 412, 2, 2530, 2531, 5, 843, 422, 2, 2531, 2532, 5, 845, 423, 2, 2532, 2533, 5, 823, 412, 2, 2533, 2534, 5, 811, 406, 2, 2534, 2535, 5, 843, 422, 2, 2535, 450, 3, 2, 2, 2, 2536, 2537, 5, 847, 424, 2, 2537, 2538, 5, 843, 422, 2, 2538, 2539, 5, 815, 408, 2, 2539, 452, 3, 2, 2, 2, 2540, 2541, 5, 835, 418, 2, 2541, 2542, 5, 837, 419, 2, 2542, 2543, 5, 845, 423, 2, 2543, 2544, 5, 823, 412, 2, 2544, 2545, 5, 835, 418, 2, 2545, 2546, 5, 833, 417, 2, 2546, 2547, 5, 843, 422, 2, 2547, 454, 3, 2, 2, 2, 2548, 2549, 5, 835, 418, 2, 2549, 2550, 5, 837, 419, 2, 2550, 2551, 5, 845, 423, 2, 2551, 2552, 5, 823, 412, 2, 2552, 2553, 5, 835, 418, 2, 2553, 2554, 5, 833, 417, 2, 2554, 456, 3, 2, 2, 2, 2555, 2556, 5, 811, 406, 2, 2556, 2557, 5, 835, 418, 2, 2557, 2558, 5, 833, 417, 2, 2558, 2559, 5, 811, 406, 2, 2559, 2560, 5, 807, 404, 2, 2560, 2561, 5, 845, 423, 2, 2561, 2562, 5, 815, 408, 2, 2562, 2563, 5, 833, 417, 2, 2563, 2564, 5, 807, 404, 2, 2564, 2565, 5, 845, 423, 2, 2565, 2566, 5, 815, 408, 2, 2566, 458, 3, 2, 2, 2, 2567, 2568, 5, 811, 406, 2, 2568, 2569, 5, 807, 404, 2, 2569, 2570, 5, 845, 423, 2, 2570, 2571, 5, 807, 404, 2, 2571, 2572, 5, 829, 415, 2, 2572, 2573, 5, 835, 418, 2, 2573, 2574, 5, 819, 410, 2, 2574, 460, 3, 2, 2, 2, 2575, 2576, 5, 843, 422, 2, 2576, 2577, 5, 821, 411, 2, 2577, 2578, 5, 835, 418, 2, 2578, 2579, 5, 851, 426, 2, 2579, 2580, 7, 97, 2, 2, 2580, 2581, 5, 813, 407, 2, 2581, 2582, 5, 807, 404, 2, 2582, 2583, 5, 845, 423, 2, 2583, 2584, 5, 807, 404, 2, 2584, 2585, 5, 809, 405, 2, 2585, 2586, 5, 807, 404, 2, 2586, 2587, 5, 843, 422, 2, 2587, 2588, 5, 815, 408, 2, 2588, 462, 3, 2, 2, 2, 2589, 2590, 5, 847, 424, 2, 2590, 2591, 5, 837, 419, 2, 2591, 2592, 5, 813, 407, 2, 2592, 2593, 5, 807, 404, 2, 2593, 2594, 5, 845, 423, 2, 2594, 2595, 5, 815, 408, 2, 2595, 464, 3, 2, 2, 2, 2596, 2597, 5, 841, 421, 2, 2597, 2598, 5, 815, 408, 2, 2598, 2599, 5, 843, 422, 2, 2599, 2600, 5, 845, 423, 2, 2600, 2601, 5, 841, 421, 2, 2601, 2602, 5, 823, 412, 2, 2602, 2603, 5, 811, 406, 2, 2603, 2604, 5, 845, 423, 2, 2604, 466, 3, 2, 2, 2, 2605, 2606, 5, 811, 406, 2, 2606, 2607, 5, 807, 404, 2, 2607, 2608, 5, 843, 422, 2, 2608, 2609, 5, 811, 406, 2, 2609, 2610, 5, 807, 404, 2, 2610, 2611, 5, 813, 407, 2, 2611, 2612, 5, 815, 408, 2, 2612, 468, 3, 2, 2, 2, 2613, 2614, 5, 843, 422, 2, 2614, 2615, 5, 827, 414, 2, 2615, 2616, 5, 815, 408, 2, 2616, 2617, 5, 851, 426, 2, 2617, 2618, 5, 815, 408, 2, 2618, 2619, 5, 813, 407, 2, 2619, 470, 3, 2, 2, 2, 2620, 2621, 5, 841, 421, 2, 2621, 2622, 5, 835, 418, 2, 2622, 2623, 5, 829, 415, 2, 2623, 2624, 5, 829, 415, 2, 2624, 2625, 5, 847, 424, 2, 2625, 2626, 5, 837, 419, 2, 2626, 472, 3, 2, 2, 2, 2627, 2628, 5, 811, 406, 2, 2628, 2629, 5, 847, 424, 2, 2629, 2630, 5, 809, 405, 2, 2630, 2631, 5, 815, 408, 2, 2631, 474, 3, 2, 2, 2, 2632, 2633, 5, 813, 407, 2, 2633, 2634, 5, 823, 412, 2, 2634, 2635, 5, 841, 421, 2, 2635, 2636, 5, 815, 408, 2, 2636, 2637, 5, 811, 406, 2, 2637, 2638, 5, 845, 423, 2, 2638, 2639, 5, 835, 418, 2, 2639, 2640, 5, 841, 421, 2, 2640, 2641, 5, 823, 412, 2, 2641, 2642, 5, 815, 408, 2, 2642, 2643, 5, 843, 422, 2, 2643, 476, 3, 2, 2, 2, 2644, 2645, 5, 817, 409, 2, 2645, 2646, 5, 835, 418, 2, 2646, 2647, 5, 841, 421, 2, 2647, 478, 3, 2, 2, 2, 2648, 2649, 5, 851, 426, 2, 2649, 2650, 5, 823, 412, 2, 2650, 2651, 5, 833, 417, 2, 2651, 2652, 5, 813, 407, 2, 2652, 2653, 5, 835, 418, 2, 2653, 2654, 5, 851, 426, 2, 2654, 480, 3, 2, 2, 2, 2655, 2656, 5, 847, 424, 2, 2656, 2657, 5, 833, 417, 2, 2657, 2658, 5, 809, 405, 2, 2658, 2659, 5, 835, 418, 2, 2659, 2660, 5, 847, 424, 2, 2660, 2661, 5, 833, 417, 2, 2661, 2662, 5, 813, 407, 2, 2662, 2663, 5, 815, 408, 2, 2663, 2664, 5, 813, 407, 2, 2664, 482, 3, 2, 2, 2, 2665, 2666, 5, 837, 419, 2, 2666, 2667, 5, 841, 421, 2, 2667, 2668, 5, 815, 408, 2, 2668, 2669, 5, 811, 406, 2, 2669, 2670, 5, 815, 408, 2, 2670, 2671, 5, 813, 407, 2, 2671, 2672, 5, 823, 412, 2, 2672, 2673, 5, 833, 417, 2, 2673, 2674, 5, 819, 410, 2, 2674, 484, 3, 2, 2, 2, 2675, 2676, 5, 817, 409, 2, 2676, 2677, 5, 835, 418, 2, 2677, 2678, 5, 829, 415, 2, 2678, 2679, 5, 829, 415, 2, 2679, 2680, 5, 835, 418, 2, 2680, 2681, 5, 851, 426, 2, 2681, 2682, 5, 823, 412, 2, 2682, 2683, 5, 833, 417, 2, 2683, 2684, 5, 819, 410, 2, 2684, 486, 3, 2, 2, 2, 2685, 2686, 5, 811, 406, 2, 2686, 2687, 5, 847, 424, 2, 2687, 2688, 5, 841, 421, 2, 2688, 2689, 5, 841, 421, 2, 2689, 2690, 5, 815, 408, 2, 2690, 2691, 5, 833, 417, 2, 2691, 2692, 5, 845, 423, 2, 2692, 488, 3, 2, 2, 2, 2693, 2694, 5, 811, 406, 2, 2694, 2695, 5, 847, 424, 2, 2695, 2696, 5, 841, 421, 2, 2696, 2697, 5, 841, 421, 2, 2697, 2698, 5, 815, 408, 2, 2698, 2699, 5, 833, 417, 2, 2699, 2700, 5, 845, 423, 2, 2700, 2701, 7, 97, 2, 2, 2701, 2702, 5, 813, 407, 2, 2702, 2703, 5, 807, 404, 2, 2703, 2704, 5, 845, 423, 2, 2704, 2705, 5, 815, 408, 2, 2705, 490, 3, 2, 2, 2, 2706, 2707, 5, 811, 406, 2, 2707, 2708, 5, 847, 424, 2, 2708, 2709, 5, 841, 421, 2, 2709, 2710, 5, 841, 421, 2, 2710, 2711, 5, 815, 408, 2, 2711, 2712, 5, 833, 417, 2, 2712, 2713, 5, 845, 423, 2, 2713, 2714, 7, 97, 2, 2, 2714, 2715, 5, 845, 423, 2, 2715, 2716, 5, 823, 412, 2, 2716, 2717, 5, 831, 416, 2, 2717, 2718, 5, 815, 408, 2, 2718, 2719, 5, 843, 422, 2, 2719, 2720, 5, 845, 423, 2, 2720, 2721, 5, 807, 404, 2, 2721, 2722, 5, 831, 416, 2, 2722, 2723, 5, 837, 419, 2, 2723, 492, 3, 2, 2, 2, 2724, 2725, 5, 829, 415, 2, 2725, 2726, 5, 815, 408, 2, 2726, 2727, 5, 843, 422, 2, 2727, 2728, 5, 843, 422, 2, 2728, 494, 3, 2, 2, 2, 2729, 2730, 5, 831, 416, 2, 2730, 2731, 5, 835, 418, 2, 2731, 2732, 5, 841, 421, 2, 2732, 2733, 5, 815, 408, 2, 2733, 496, 3, 2, 2, 2, 2734, 2735, 5, 835, 418, 2, 2735, 2736, 5, 849, 425, 2, 2736, 2737, 5, 815, 408, 2, 2737, 2738, 5, 841, 421, 2, 2738, 498, 3, 2, 2, 2, 2739, 2740, 5, 819, 410, 2, 2740, 2741, 5, 841, 421, 2, 2741, 2742, 5, 835, 418, 2, 2742, 2743, 5, 847, 424, 2, 2743, 2744, 5, 837, 419, 2, 2744, 2745, 5, 823, 412, 2, 2745, 2746, 5, 833, 417, 2, 2746, 2747, 5, 819, 410, 2, 2747, 500, 3, 2, 2, 2, 2748, 2749, 5, 843, 422, 2, 2749, 2750, 5, 815, 408, 2, 2750, 2751, 5, 845, 423, 2, 2751, 2752, 5, 843, 422, 2, 2752, 502, 3, 2, 2, 2, 2753, 2754, 5, 845, 423, 2, 2754, 2755, 5, 841, 421, 2, 2755, 2756, 5, 847, 424, 2, 2756, 2757, 5, 833, 417, 2, 2757, 2758, 5, 811, 406, 2, 2758, 2759, 5, 807, 404, 2, 2759, 2760, 5, 845, 423, 2, 2760, 2761, 5, 815, 408, 2, 2761, 504, 3, 2, 2, 2, 2762, 2763, 5, 833, 417, 2, 2763, 2764, 5, 835, 418, 2, 2764, 2765, 5, 843, 422, 2, 2765, 2766, 5, 811, 406, 2, 2766, 2767, 5, 807, 404, 2, 2767, 2768, 5, 833, 417, 2, 2768, 506, 3, 2, 2, 2, 2769, 2770, 5, 847, 424, 2, 2770, 2771, 5, 843, 422, 2, 2771, 2772, 5, 815, 408, 2, 2772, 2773, 5, 841, 421, 2, 2773, 508, 3, 2, 2, 2, 2774, 2775, 5, 841, 421, 2, 2775, 2776, 5, 835, 418, 2, 2776, 2777, 5, 829, 415, 2, 2777, 2778, 5, 815, 408, 2, 2778, 510, 3, 2, 2, 2, 2779, 2780, 5, 841, 421, 2, 2780, 2781, 5, 835, 418, 2, 2781, 2782, 5, 829, 415, 2, 2782, 2783, 5, 815, 408, 2, 2783, 2784, 5, 843, 422, 2, 2784, 512, 3, 2, 2, 2, 2785, 2786, 5, 823, 412, 2, 2786, 2787, 5, 833, 417, 2, 2787, 2788, 5, 833, 417, 2, 2788, 2789, 5, 815, 408, 2, 2789, 2790, 5, 841, 421, 2, 2790, 514, 3, 2, 2, 2, 2791, 2792, 5, 815, 408, 2, 2792, 2793, 5, 853, 427, 2, 2793, 2794, 5, 811, 406, 2, 2794, 2795, 5, 821, 411, 2, 2795, 2796, 5, 807, 404, 2, 2796, 2797, 5, 833, 417, 2, 2797, 2798, 5, 819, 410, 2, 2798, 2799, 5, 815, 408, 2, 2799, 516, 3, 2, 2, 2, 2800, 2801, 5, 847, 424, 2, 2801, 2802, 5, 841, 421, 2, 2802, 2803, 5, 823, 412, 2, 2803, 518, 3, 2, 2, 2, 2804, 2805, 5, 843, 422, 2, 2805, 2806, 5, 815, 408, 2, 2806, 2807, 5, 841, 421, 2, 2807, 2808, 5, 849, 425, 2, 2808, 2809, 5, 815, 408, 2, 2809, 2810, 5, 841, 421, 2, 2810, 520, 3, 2, 2, 2, 2811, 2812, 5, 807, 404, 2, 2812, 2813, 5, 813, 407, 2, 2813, 2814, 5, 831, 416, 2, 2814, 2815, 5, 823, 412, 2, 2815, 2816, 5, 833, 417, 2, 2816, 522, 3, 2, 2, 2, 2817, 2818, 5, 835, 418, 2, 2818, 2819, 5, 851, 426, 2, 2819, 2820, 5, 833, 417, 2, 2820, 2821, 5, 815, 408, 2, 2821, 2822, 5, 841, 421, 2, 2822, 524, 3, 2, 2, 2, 2823, 2824, 5, 837, 419, 2, 2824, 2825, 5, 841, 421, 2, 2825, 2826, 5, 823, 412, 2, 2826, 2827, 5, 833, 417, 2, 2827, 2828, 5, 811, 406, 2, 2828, 2829, 5, 823, 412, 2, 2829, 2830, 5, 837, 419, 2, 2830, 2831, 5, 807, 404, 2, 2831, 2832, 5, 829, 415, 2, 2832, 2833, 5, 843, 422, 2, 2833, 526, 3, 2, 2, 2, 2834, 2835, 5, 811, 406, 2, 2835, 2836, 5, 835, 418, 2, 2836, 2837, 5, 831, 416, 2, 2837, 2838, 5, 837, 419, 2, 2838, 2839, 5, 807, 404, 2, 2839, 2840, 5, 811, 406, 2, 2840, 2841, 5, 845, 423, 2, 2841, 528, 3, 2, 2, 2, 2842, 2843, 5, 811, 406, 2, 2843, 2844, 5, 835, 418, 2, 2844, 2845, 5, 831, 416, 2, 2845, 2846, 5, 837, 419, 2, 2846, 2847, 5, 807, 404, 2, 2847, 2848, 5, 811, 406, 2, 2848, 2849, 5, 845, 423, 2, 2849, 2850, 5, 823, 412, 2, 2850, 2851, 5, 835, 418, 2, 2851, 2852, 5, 833, 417, 2, 2852, 2853, 5, 843, 422, 2, 2853, 530, 3, 2, 2, 2, 2854, 2855, 5, 845, 423, 2, 2855, 2856, 5, 841, 421, 2, 2856, 2857, 5, 807, 404, 2, 2857, 2858, 5, 833, 417, 2, 2858, 2859, 5, 843, 422, 2, 2859, 2860, 5, 807, 404, 2, 2860, 2861, 5, 811, 406, 2, 2861, 2862, 5, 845, 423, 2, 2862, 2863, 5, 823, 412, 2, 2863, 2864, 5, 835, 418, 2, 2864, 2865, 5, 833, 417, 2, 2865, 2866, 5, 843, 422, 2, 2866, 532, 3, 2, 2, 2, 2867, 2868, 5, 841, 421, 2, 2868, 2869, 5, 815, 408, 2, 2869, 2870, 5, 851, 426, 2, 2870, 2871, 5, 841, 421, 2, 2871, 2872, 5, 823, 412, 2, 2872, 2873, 5, 845, 423, 2, 2873, 2874, 5, 815, 408, 2, 2874, 534, 3, 2, 2, 2, 2875, 2876, 5, 807, 404, 2, 2876, 2877, 5, 847, 424, 2, 2877, 2878, 5, 845, 423, 2, 2878, 2879, 5, 821, 411, 2, 2879, 2880, 5, 835, 418, 2, 2880, 2881, 5, 841, 421, 2, 2881, 2882, 5, 823, 412, 2, 2882, 2883, 5, 857, 429, 2, 2883, 2884, 5, 807, 404, 2, 2884, 2885, 5, 845, 423, 2, 2885, 2886, 5, 823, 412, 2, 2886, 2887, 5, 835, 418, 2, 2887, 2888, 5, 833, 417, 2, 2888, 536, 3, 2, 2, 2, 2889, 2890, 5, 841, 421, 2, 2890, 2891, 5, 815, 408, 2, 2891, 2892, 5, 835, 418, 2, 2892, 2893, 5, 837, 419, 2, 2893, 2894, 5, 845, 423, 2, 2894, 2895, 5, 823, 412, 2, 2895, 2896, 5, 831, 416, 2, 2896, 2897, 5, 823, 412, 2, 2897, 2898, 5, 857, 429, 2, 2898, 2899, 5, 807, 404, 2, 2899, 2900, 5, 845, 423, 2, 2900, 2901, 5, 823, 412, 2, 2901, 2902, 5, 835, 418, 2, 2902, 2903, 5, 833, 417, 2, 2903, 538, 3, 2, 2, 2, 2904, 2905, 5, 811, 406, 2, 2905, 2906, 5, 835, 418, 2, 2906, 2907, 5, 833, 417, 2, 2907, 2908, 5, 817, 409, 2, 2908, 540, 3, 2, 2, 2, 2909, 2910, 5, 849, 425, 2, 2910, 2911, 5, 807, 404, 2, 2911, 2912, 5, 829, 415, 2, 2912, 2913, 5, 847, 424, 2, 2913, 2914, 5, 815, 408, 2, 2914, 2915, 5, 843, 422, 2, 2915, 542, 3, 2, 2, 2, 2916, 2917, 5, 841, 421, 2, 2917, 2918, 5, 815, 408, 2, 2918, 2919, 5, 829, 415, 2, 2919, 2920, 5, 835, 418, 2, 2920, 2921, 5, 807, 404, 2, 2921, 2922, 5, 813, 407, 2, 2922, 544, 3, 2, 2, 2, 2923, 2924, 5, 855, 428, 2, 2924, 2925, 5, 815, 408, 2, 2925, 2926, 5, 807, 404, 2, 2926, 2927, 5, 841, 421, 2, 2927, 2935, 3, 2, 2, 2, 2928, 2929, 5, 855, 428, 2, 2929, 2930, 5, 815, 408, 2, 2930, 2931, 5, 807, 404, 2, 2931, 2932, 5, 841, 421, 2, 2932, 2933, 5, 843, 422, 2, 2933, 2935, 3, 2, 2, 2, 2934, 2923, 3, 2, 2, 2, 2934, 2928, 3, 2, 2, 2, 2935, 546, 3, 2, 2, 2, 2936, 2937, 5, 839, 420, 2, 2937, 2938, 5, 847, 424, 2, 2938, 2939, 5, 815, 408, 2, 2939, 2940, 5, 841, 421, 2, 2940, 2941, 5, 855, 428, 2, 2941, 548, 3, 2, 2, 2, 2942, 2943, 5, 839, 420, 2, 2943, 2944, 5, 847, 424, 2, 2944, 2945, 5, 807, 404, 2, 2945, 2946, 5, 841, 421, 2, 2946, 2947, 5, 845, 423, 2, 2947, 2948, 5, 815, 408, 2, 2948, 2949, 5, 841, 421, 2, 2949, 550, 3, 2, 2, 2, 2950, 2951, 5, 831, 416, 2, 2951, 2952, 5, 835, 418, 2, 2952, 2953, 5, 833, 417, 2, 2953, 2954, 5, 845, 423, 2, 2954, 2955, 5, 821, 411, 2, 2955, 2964, 3, 2, 2, 2, 2956, 2957, 5, 831, 416, 2, 2957, 2958, 5, 835, 418, 2, 2958, 2959, 5, 833, 417, 2, 2959, 2960, 5, 845, 423, 2, 2960, 2961, 5, 821, 411, 2, 2961, 2962, 5, 843, 422, 2, 2962, 2964, 3, 2, 2, 2, 2963, 2950, 3, 2, 2, 2, 2963, 2956, 3, 2, 2, 2, 2964, 552, 3, 2, 2, 2, 2965, 2966, 5, 851, 426, 2, 2966, 2967, 5, 815, 408, 2, 2967, 2968, 5, 815, 408, 2, 2968, 2969, 5, 827, 414, 2, 2969, 2977, 3, 2, 2, 2, 2970, 2971, 5, 851, 426, 2, 2971, 2972, 5, 815, 408, 2, 2972, 2973, 5, 815, 408, 2, 2973, 2974, 5, 827, 414, 2, 2974, 2975, 5, 843, 422, 2, 2975, 2977, 3, 2, 2, 2, 2976, 2965, 3, 2, 2, 2, 2976, 2970, 3, 2, 2, 2, 2977, 554, 3, 2, 2, 2, 2978, 2979, 5, 813, 407, 2, 2979, 2980, 5, 807, 404, 2, 2980, 2981, 5, 855, 428, 2, 2981, 2988, 3, 2, 2, 2, 2982, 2983, 5, 813, 407, 2, 2983, 2984, 5, 807, 404, 2, 2984, 2985, 5, 855, 428, 2, 2985, 2986, 5, 843, 422, 2, 2986, 2988, 3, 2, 2, 2, 2987, 2978, 3, 2, 2, 2, 2987, 2982, 3, 2, 2, 2, 2988, 556, 3, 2, 2, 2, 2989, 2990, 5, 813, 407, 2, 2990, 2991, 5, 835, 418, 2, 2991, 2992, 5, 851, 426, 2, 2992, 558, 3, 2, 2, 2, 2993, 2994, 5, 821, 411, 2, 2994, 2995, 5, 835, 418, 2, 2995, 2996, 5, 847, 424, 2, 2996, 2997, 5, 841, 421, 2, 2997, 3005, 3, 2, 2, 2, 2998, 2999, 5, 821, 411, 2, 2999, 3000, 5, 835, 418, 2, 3000, 3001, 5, 847, 424, 2, 3001, 3002, 5, 841, 421, 2, 3002, 3003, 5, 843, 422, 2, 3003, 3005, 3, 2, 2, 2, 3004, 2993, 3, 2, 2, 2, 3004, 2998, 3, 2, 2, 2, 3005, 560, 3, 2, 2, 2, 3006, 3007, 5, 831, 416, 2, 3007, 3008, 5, 823, 412, 2, 3008, 3009, 5, 833, 417, 2, 3009, 3010, 5, 847, 424, 2, 3010, 3011, 5, 845, 423, 2, 3011, 3012, 5, 815, 408, 2, 3012, 3022, 3, 2, 2, 2, 3013, 3014, 5, 831, 416, 2, 3014, 3015, 5, 823, 412, 2, 3015, 3016, 5, 833, 417, 2, 3016, 3017, 5, 847, 424, 2, 3017, 3018, 5, 845, 423, 2, 3018, 3019, 5, 815, 408, 2, 3019, 3020, 5, 843, 422, 2, 3020, 3022, 3, 2, 2, 2, 3021, 3006, 3, 2, 2, 2, 3021, 3013, 3, 2, 2, 2, 3022, 562, 3, 2, 2, 2, 3023, 3024, 5, 843, 422, 2, 3024, 3025, 5, 815, 408, 2, 3025, 3026, 5, 811, 406, 2, 3026, 3027, 5, 835, 418, 2, 3027, 3028, 5, 833, 417, 2, 3028, 3029, 5, 813, 407, 2, 3029, 3039, 3, 2, 2, 2, 3030, 3031, 5, 843, 422, 2, 3031, 3032, 5, 815, 408, 2, 3032, 3033, 5, 811, 406, 2, 3033, 3034, 5, 835, 418, 2, 3034, 3035, 5, 833, 417, 2, 3035, 3036, 5, 813, 407, 2, 3036, 3037, 5, 843, 422, 2, 3037, 3039, 3, 2, 2, 2, 3038, 3023, 3, 2, 2, 2, 3038, 3030, 3, 2, 2, 2, 3039, 564, 3, 2, 2, 2, 3040, 3041, 5, 843, 422, 2, 3041, 3042, 5, 845, 423, 2, 3042, 3043, 5, 807, 404, 2, 3043, 3044, 5, 841, 421, 2, 3044, 3045, 5, 845, 423, 2, 3045, 566, 3, 2, 2, 2, 3046, 3047, 5, 845, 423, 2, 3047, 3048, 5, 841, 421, 2, 3048, 3049, 5, 807, 404, 2, 3049, 3050, 5, 833, 417, 2, 3050, 3051, 5, 843, 422, 2, 3051, 3052, 5, 807, 404, 2, 3052, 3053, 5, 811, 406, 2, 3053, 3054, 5, 845, 423, 2, 3054, 3055, 5, 823, 412, 2, 3055, 3056, 5, 835, 418, 2, 3056, 3057, 5, 833, 417, 2, 3057, 568, 3, 2, 2, 2, 3058, 3059, 5, 811, 406, 2, 3059, 3060, 5, 835, 418, 2, 3060, 3061, 5, 831, 416, 2, 3061, 3062, 5, 831, 416, 2, 3062, 3063, 5, 823, 412, 2, 3063, 3064, 5, 845, 423, 2, 3064, 570, 3, 2, 2, 2, 3065, 3066, 5, 841, 421, 2, 3066, 3067, 5, 835, 418, 2, 3067, 3068, 5, 829, 415, 2, 3068, 3069, 5, 829, 415, 2, 3069, 3070, 5, 809, 405, 2, 3070, 3071, 5, 807, 404, 2, 3071, 3072, 5, 811, 406, 2, 3072, 3073, 5, 827, 414, 2, 3073, 572, 3, 2, 2, 2, 3074, 3075, 5, 851, 426, 2, 3075, 3076, 5, 835, 418, 2, 3076, 3077, 5, 841, 421, 2, 3077, 3078, 5, 827, 414, 2, 3078, 574, 3, 2, 2, 2, 3079, 3080, 5, 835, 418, 2, 3080, 3081, 5, 833, 417, 2, 3081, 3082, 5, 829, 415, 2, 3082, 3083, 5, 855, 428, 2, 3083, 576, 3, 2, 2, 2, 3084, 3085, 5, 851, 426, 2, 3085, 3086, 5, 841, 421, 2, 3086, 3087, 5, 823, 412, 2, 3087, 3088, 5, 845, 423, 2, 3088, 3089, 5, 815, 408, 2, 3089, 578, 3, 2, 2, 2, 3090, 3091, 5, 823, 412, 2, 3091, 3092, 5, 843, 422, 2, 3092, 3093, 5, 835, 418, 2, 3093, 3094, 5, 829, 415, 2, 3094, 3095, 5, 807, 404, 2, 3095, 3096, 5, 845, 423, 2, 3096, 3097, 5, 823, 412, 2, 3097, 3098, 5, 835, 418, 2, 3098, 3099, 5, 833, 417, 2, 3099, 580, 3, 2, 2, 2, 3100, 3101, 5, 829, 415, 2, 3101, 3102, 5, 815, 408, 2, 3102, 3103, 5, 849, 425, 2, 3103, 3104, 5, 815, 408, 2, 3104, 3105, 5, 829, 415, 2, 3105, 582, 3, 2, 2, 2, 3106, 3107, 5, 843, 422, 2, 3107, 3108, 5, 833, 417, 2, 3108, 3109, 5, 807, 404, 2, 3109, 3110, 5, 837, 419, 2, 3110, 3111, 5, 843, 422, 2, 3111, 3112, 5, 821, 411, 2, 3112, 3113, 5, 835, 418, 2, 3113, 3114, 5, 845, 423, 2, 3114, 584, 3, 2, 2, 2, 3115, 3116, 5, 807, 404, 2, 3116, 3117, 5, 847, 424, 2, 3117, 3118, 5, 845, 423, 2, 3118, 3119, 5, 835, 418, 2, 3119, 3120, 5, 811, 406, 2, 3120, 3121, 5, 835, 418, 2, 3121, 3122, 5, 831, 416, 2, 3122, 3123, 5, 831, 416, 2, 3123, 3124, 5, 823, 412, 2, 3124, 3125, 5, 845, 423, 2, 3125, 586, 3, 2, 2, 2, 3126, 3127, 5, 811, 406, 2, 3127, 3128, 5, 807, 404, 2, 3128, 3129, 5, 811, 406, 2, 3129, 3130, 5, 821, 411, 2, 3130, 3131, 5, 815, 408, 2, 3131, 588, 3, 2, 2, 2, 3132, 3133, 5, 837, 419, 2, 3133, 3134, 5, 841, 421, 2, 3134, 3135, 5, 823, 412, 2, 3135, 3136, 5, 831, 416, 2, 3136, 3137, 5, 807, 404, 2, 3137, 3138, 5, 841, 421, 2, 3138, 3139, 5, 855, 428, 2, 3139, 590, 3, 2, 2, 2, 3140, 3141, 5, 817, 409, 2, 3141, 3142, 5, 835, 418, 2, 3142, 3143, 5, 841, 421, 2, 3143, 3144, 5, 815, 408, 2, 3144, 3145, 5, 823, 412, 2, 3145, 3146, 5, 819, 410, 2, 3146, 3147, 5, 833, 417, 2, 3147, 592, 3, 2, 2, 2, 3148, 3149, 5, 841, 421, 2, 3149, 3150, 5, 815, 408, 2, 3150, 3151, 5, 817, 409, 2, 3151, 3152, 5, 815, 408, 2, 3152, 3153, 5, 841, 421, 2, 3153, 3154, 5, 815, 408, 2, 3154, 3155, 5, 833, 417, 2, 3155, 3156, 5, 811, 406, 2, 3156, 3157, 5, 815, 408, 2, 3157, 3158, 5, 843, 422, 2, 3158, 594, 3, 2, 2, 2, 3159, 3160, 5, 811, 406, 2, 3160, 3161, 5, 835, 418, 2, 3161, 3162, 5, 833, 417, 2, 3162, 3163, 5, 843, 422, 2, 3163, 3164, 5, 845, 423, 2, 3164, 3165, 5, 841, 421, 2, 3165, 3166, 5, 807, 404, 2, 3166, 3167, 5, 823, 412, 2, 3167, 3168, 5, 833, 417, 2, 3168, 3169, 5, 845, 423, 2, 3169, 596, 3, 2, 2, 2, 3170, 3171, 5, 815, 408, 2, 3171, 3172, 5, 833, 417, 2, 3172, 3173, 5, 817, 409, 2, 3173, 3174, 5, 835, 418, 2, 3174, 3175, 5, 841, 421, 2, 3175, 3176, 5, 811, 406, 2, 3176, 3177, 5, 815, 408, 2, 3177, 3178, 5, 813, 407, 2, 3178, 598, 3, 2, 2, 2, 3179, 3180, 5, 849, 425, 2, 3180, 3181, 5, 807, 404, 2, 3181, 3182, 5, 829, 415, 2, 3182, 3183, 5, 823, 412, 2, 3183, 3184, 5, 813, 407, 2, 3184, 3185, 5, 807, 404, 2, 3185, 3186, 5, 845, 423, 2, 3186, 3187, 5, 815, 408, 2, 3187, 600, 3, 2, 2, 2, 3188, 3189, 5, 833, 417, 2, 3189, 3190, 5, 835, 418, 2, 3190, 3191, 5, 849, 425, 2, 3191, 3192, 5, 807, 404, 2, 3192, 3193, 5, 829, 415, 2, 3193, 3194, 5, 823, 412, 2, 3194, 3195, 5, 813, 407, 2, 3195, 3196, 5, 807, 404, 2, 3196, 3197, 5, 845, 423, 2, 3197, 3198, 5, 815, 408, 2, 3198, 602, 3, 2, 2, 2, 3199, 3200, 5, 841, 421, 2, 3200, 3201, 5, 815, 408, 2, 3201, 3202, 5, 829, 415, 2, 3202, 3203, 5, 855, 428, 2, 3203, 604, 3, 2, 2, 2, 3204, 3205, 5, 833, 417, 2, 3205, 3206, 5, 835, 418, 2, 3206, 3207, 5, 841, 421, 2, 3207, 3208, 5, 815, 408, 2, 3208, 3209, 5, 829, 415, 2, 3209, 3210, 5, 855, 428, 2, 3210, 606, 3, 2, 2, 2, 3211, 3212, 5, 847, 424, 2, 3212, 3213, 5, 833, 417, 2, 3213, 3214, 5, 823, 412, 2, 3214, 3215, 5, 839, 420, 2, 3215, 3216, 5, 847, 424, 2, 3216, 3217, 5, 815, 408, 2, 3217, 608, 3, 2, 2, 2, 3218, 3219, 5, 827, 414, 2, 3219, 3220, 5, 815, 408, 2, 3220, 3221, 5, 855, 428, 2, 3221, 610, 3, 2, 2, 2, 3222, 3223, 5, 807, 404, 2, 3223, 3224, 5, 809, 405, 2, 3224, 3225, 5, 835, 418, 2, 3225, 3226, 5, 841, 421, 2, 3226, 3227, 5, 845, 423, 2, 3227, 612, 3, 2, 2, 2, 3228, 3229, 5, 815, 408, 2, 3229, 3230, 5, 853, 427, 2, 3230, 3231, 5, 845, 423, 2, 3231, 3232, 5, 841, 421, 2, 3232, 3233, 5, 807, 404, 2, 3233, 3234, 5, 811, 406, 2, 3234, 3235, 5, 845, 423, 2, 3235, 614, 3, 2, 2, 2, 3236, 3237, 5, 817, 409, 2, 3237, 3238, 5, 829, 415, 2, 3238, 3239, 5, 835, 418, 2, 3239, 3240, 5, 835, 418, 2, 3240, 3241, 5, 841, 421, 2, 3241, 616, 3, 2, 2, 2, 3242, 3243, 5, 831, 416, 2, 3243, 3244, 5, 815, 408, 2, 3244, 3245, 5, 841, 421, 2, 3245, 3246, 5, 819, 410, 2, 3246, 3247, 5, 815, 408, 2, 3247, 618, 3, 2, 2, 2, 3248, 3249, 5, 831, 416, 2, 3249, 3250, 5, 807, 404, 2, 3250, 3251, 5, 845, 423, 2, 3251, 3252, 5, 811, 406, 2, 3252, 3253, 5, 821, 411, 2, 3253, 3254, 5, 815, 408, 2, 3254, 3255, 5, 813, 407, 2, 3255, 620, 3, 2, 2, 2, 3256, 3257, 5, 841, 421, 2, 3257, 3258, 5, 815, 408, 2, 3258, 3259, 5, 837, 419, 2, 3259, 3260, 5, 829, 415, 2, 3260, 622, 3, 2, 2, 2, 3261, 3262, 5, 813, 407, 2, 3262, 3263, 5, 847, 424, 2, 3263, 3264, 5, 831, 416, 2, 3264, 3265, 5, 837, 419, 2, 3265, 624, 3, 2, 2, 2, 3266, 3267, 5, 843, 422, 2, 3267, 3268, 5, 845, 423, 2, 3268, 3269, 5, 807, 404, 2, 3269, 3270, 5, 845, 423, 2, 3270, 3271, 5, 847, 424, 2, 3271, 3272, 5, 843, 422, 2, 3272, 626, 3, 2, 2, 2, 3273, 3274, 5, 849, 425, 2, 3274, 3275, 5, 815, 408, 2, 3275, 3276, 5, 811, 406, 2, 3276, 3277, 5, 845, 423, 2, 3277, 3278, 5, 835, 418, 2, 3278, 3279, 5, 841, 421, 2, 3279, 3280, 5, 823, 412, 2, 3280, 3281, 5, 857, 429, 2, 3281, 3282, 5, 807, 404, 2, 3282, 3283, 5, 845, 423, 2, 3283, 3284, 5, 823, 412, 2, 3284, 3285, 5, 835, 418, 2, 3285, 3286, 5, 833, 417, 2, 3286, 628, 3, 2, 2, 2, 3287, 3288, 5, 843, 422, 2, 3288, 3289, 5, 847, 424, 2, 3289, 3290, 5, 831, 416, 2, 3290, 3291, 5, 831, 416, 2, 3291, 3292, 5, 807, 404, 2, 3292, 3293, 5, 841, 421, 2, 3293, 3294, 5, 855, 428, 2, 3294, 630, 3, 2, 2, 2, 3295, 3296, 5, 835, 418, 2, 3296, 3297, 5, 837, 419, 2, 3297, 3298, 5, 815, 408, 2, 3298, 3299, 5, 841, 421, 2, 3299, 3300, 5, 807, 404, 2, 3300, 3301, 5, 845, 423, 2, 3301, 3302, 5, 835, 418, 2, 3302, 3303, 5, 841, 421, 2, 3303, 632, 3, 2, 2, 2, 3304, 3305, 5, 815, 408, 2, 3305, 3306, 5, 853, 427, 2, 3306, 3307, 5, 837, 419, 2, 3307, 3308, 5, 841, 421, 2, 3308, 3309, 5, 815, 408, 2, 3309, 3310, 5, 843, 422, 2, 3310, 3311, 5, 843, 422, 2, 3311, 3312, 5, 823, 412, 2, 3312, 3313, 5, 835, 418, 2, 3313, 3314, 5, 833, 417, 2, 3314, 634, 3, 2, 2, 2, 3315, 3316, 5, 813, 407, 2, 3316, 3317, 5, 815, 408, 2, 3317, 3318, 5, 845, 423, 2, 3318, 3319, 5, 807, 404, 2, 3319, 3320, 5, 823, 412, 2, 3320, 3321, 5, 829, 415, 2, 3321, 636, 3, 2, 2, 2, 3322, 3323, 5, 851, 426, 2, 3323, 3324, 5, 807, 404, 2, 3324, 3325, 5, 823, 412, 2, 3325, 3326, 5, 845, 423, 2, 3326, 638, 3, 2, 2, 2, 3327, 3328, 5, 841, 421, 2, 3328, 3329, 5, 815, 408, 2, 3329, 3330, 5, 843, 422, 2, 3330, 3331, 5, 835, 418, 2, 3331, 3332, 5, 847, 424, 2, 3332, 3333, 5, 841, 421, 2, 3333, 3334, 5, 811, 406, 2, 3334, 3335, 5, 815, 408, 2, 3335, 640, 3, 2, 2, 2, 3336, 3337, 5, 837, 419, 2, 3337, 3338, 5, 829, 415, 2, 3338, 3339, 5, 807, 404, 2, 3339, 3340, 5, 833, 417, 2, 3340, 642, 3, 2, 2, 2, 3341, 3342, 5, 839, 420, 2, 3342, 3343, 5, 847, 424, 2, 3343, 3344, 5, 815, 408, 2, 3344, 3345, 5, 841, 421, 2, 3345, 3346, 5, 855, 428, 2, 3346, 3347, 7, 97, 2, 2, 3347, 3348, 5, 837, 419, 2, 3348, 3349, 5, 807, 404, 2, 3349, 3350, 5, 841, 421, 2, 3350, 3351, 5, 807, 404, 2, 3351, 3352, 5, 829, 415, 2, 3352, 3353, 5, 829, 415, 2, 3353, 3354, 5, 815, 408, 2, 3354, 3355, 5, 829, 415, 2, 3355, 3356, 5, 823, 412, 2, 3356, 3357, 5, 843, 422, 2, 3357, 3358, 5, 831, 416, 2, 3358, 644, 3, 2, 2, 2, 3359, 3360, 5, 837, 419, 2, 3360, 3361, 5, 829, 415, 2, 3361, 3362, 5, 807, 404, 2, 3362, 3363, 5, 833, 417, 2, 3363, 3364, 5, 843, 422, 2, 3364, 646, 3, 2, 2, 2, 3365, 3366, 5, 807, 404, 2, 3366, 3367, 5, 811, 406, 2, 3367, 3368, 5, 845, 423, 2, 3368, 3369, 5, 823, 412, 2, 3369, 3370, 5, 849, 425, 2, 3370, 3371, 5, 807, 404, 2, 3371, 3372, 5, 845, 423, 2, 3372, 3373, 5, 815, 408, 2, 3373, 648, 3, 2, 2, 2, 3374, 3375, 5, 813, 407, 2, 3375, 3376, 5, 815, 408, 2, 3376, 3377, 5, 817, 409, 2, 3377, 3378, 5, 807, 404, 2, 3378, 3379, 5, 847, 424, 2, 3379, 3380, 5, 829, 415, 2, 3380, 3381, 5, 845, 423, 2, 3381, 650, 3, 2, 2, 2, 3382, 3383, 5, 811, 406, 2, 3383, 3384, 5, 821, 411, 2, 3384, 3385, 5, 815, 408, 2, 3385, 3386, 5, 811, 406, 2, 3386, 3387, 5, 827, 414, 2, 3387, 652, 3, 2, 2, 2, 3388, 3389, 5, 837, 419, 2, 3389, 3390, 5, 835, 418, 2, 3390, 3391, 5, 835, 418, 2, 3391, 3392, 5, 829, 415, 2, 3392, 654, 3, 2, 2, 2, 3393, 3394, 5, 831, 416, 2, 3394, 3395, 5, 835, 418, 2, 3395, 3396, 5, 849, 425, 2, 3396, 3397, 5, 815, 408, 2, 3397, 656, 3, 2, 2, 2, 3398, 3399, 5, 813, 407, 2, 3399, 3400, 5, 835, 418, 2, 3400, 658, 3, 2, 2, 2, 3401, 3402, 5, 807, 404, 2, 3402, 3403, 5, 829, 415, 2, 3403, 3404, 5, 829, 415, 2, 3404, 3405, 5, 835, 418, 2, 3405, 3406, 5, 811, 406, 2, 3406, 3407, 7, 97, 2, 2, 3407, 3408, 5, 817, 409, 2, 3408, 3409, 5, 841, 421, 2, 3409, 3410, 5, 807, 404, 2, 3410, 3411, 5, 811, 406, 2, 3411, 3412, 5, 845, 423, 2, 3412, 3413, 5, 823, 412, 2, 3413, 3414, 5, 835, 418, 2, 3414, 3415, 5, 833, 417, 2, 3415, 660, 3, 2, 2, 2, 3416, 3417, 5, 843, 422, 2, 3417, 3418, 5, 811, 406, 2, 3418, 3419, 5, 821, 411, 2, 3419, 3420, 5, 815, 408, 2, 3420, 3421, 5, 813, 407, 2, 3421, 3422, 5, 847, 424, 2, 3422, 3423, 5, 829, 415, 2, 3423, 3424, 5, 823, 412, 2, 3424, 3425, 5, 833, 417, 2, 3425, 3426, 5, 819, 410, 2, 3426, 3427, 7, 97, 2, 2, 3427, 3428, 5, 837, 419, 2, 3428, 3429, 5, 835, 418, 2, 3429, 3430, 5, 829, 415, 2, 3430, 3431, 5, 823, 412, 2, 3431, 3432, 5, 811, 406, 2, 3432, 3433, 5, 855, 428, 2, 3433, 662, 3, 2, 2, 2, 3434, 3435, 5, 837, 419, 2, 3435, 3436, 5, 807, 404, 2, 3436, 3437, 5, 845, 423, 2, 3437, 3438, 5, 821, 411, 2, 3438, 664, 3, 2, 2, 2, 3439, 3440, 5, 831, 416, 2, 3440, 3441, 5, 807, 404, 2, 3441, 3442, 5, 837, 419, 2, 3442, 3443, 5, 837, 419, 2, 3443, 3444, 5, 823, 412, 2, 3444, 3445, 5, 833, 417, 2, 3445, 3446, 5, 819, 410, 2, 3446, 666, 3, 2, 2, 2, 3447, 3448, 5, 851, 426, 2, 3448, 3449, 5, 835, 418, 2, 3449, 3450, 5, 841, 421, 2, 3450, 3451, 5, 827, 414, 2, 3451, 3452, 5, 829, 415, 2, 3452, 3453, 5, 835, 418, 2, 3453, 3454, 5, 807, 404, 2, 3454, 3455, 5, 813, 407, 2, 3455, 668, 3, 2, 2, 2, 3456, 3457, 5, 831, 416, 2, 3457, 3458, 5, 807, 404, 2, 3458, 3459, 5, 833, 417, 2, 3459, 3460, 5, 807, 404, 2, 3460, 3461, 5, 819, 410, 2, 3461, 3462, 5, 815, 408, 2, 3462, 3463, 5, 831, 416, 2, 3463, 3464, 5, 815, 408, 2, 3464, 3465, 5, 833, 417, 2, 3465, 3466, 5, 845, 423, 2, 3466, 670, 3, 2, 2, 2, 3467, 3468, 5, 807, 404, 2, 3468, 3469, 5, 811, 406, 2, 3469, 3470, 5, 845, 423, 2, 3470, 3471, 5, 823, 412, 2, 3471, 3472, 5, 849, 425, 2, 3472, 3473, 5, 815, 408, 2, 3473, 672, 3, 2, 2, 2, 3474, 3475, 5, 831, 416, 2, 3475, 3476, 5, 807, 404, 2, 3476, 3477, 5, 833, 417, 2, 3477, 3478, 5, 807, 404, 2, 3478, 3479, 5, 819, 410, 2, 3479, 3480, 5, 815, 408, 2, 3480, 3481, 5, 813, 407, 2, 3481, 674, 3, 2, 2, 2, 3482, 3483, 5, 847, 424, 2, 3483, 3484, 5, 833, 417, 2, 3484, 3485, 5, 831, 416, 2, 3485, 3486, 5, 807, 404, 2, 3486, 3487, 5, 833, 417, 2, 3487, 3488, 5, 807, 404, 2, 3488, 3489, 5, 819, 410, 2, 3489, 3490, 5, 815, 408, 2, 3490, 3491, 5, 813, 407, 2, 3491, 676, 3, 2, 2, 2, 3492, 3493, 5, 807, 404, 2, 3493, 3494, 5, 837, 419, 2, 3494, 3495, 5, 837, 419, 2, 3495, 3496, 5, 829, 415, 2, 3496, 3497, 5, 823, 412, 2, 3497, 3498, 5, 811, 406, 2, 3498, 3499, 5, 807, 404, 2, 3499, 3500, 5, 845, 423, 2, 3500, 3501, 5, 823, 412, 2, 3501, 3502, 5, 835, 418, 2, 3502, 3503, 5, 833, 417, 2, 3503, 678, 3, 2, 2, 2, 3504, 3505, 5, 843, 422, 2, 3505, 3506, 5, 855, 428, 2, 3506, 3507, 5, 833, 417, 2, 3507, 3508, 5, 811, 406, 2, 3508, 680, 3, 2, 2, 2, 3509, 3510, 5, 843, 422, 2, 3510, 3511, 5, 815, 408, 2, 3511, 3512, 5, 839, 420, 2, 3512, 3513, 5, 847, 424, 2, 3513, 3514, 5, 815, 408, 2, 3514, 3515, 5, 833, 417, 2, 3515, 3516, 5, 811, 406, 2, 3516, 3517, 5, 815, 408, 2, 3517, 3518, 5, 817, 409, 2, 3518, 3519, 5, 823, 412, 2, 3519, 3520, 5, 829, 415, 2, 3520, 3521, 5, 815, 408, 2, 3521, 682, 3, 2, 2, 2, 3522, 3523, 5, 845, 423, 2, 3523, 3524, 5, 815, 408, 2, 3524, 3525, 5, 853, 427, 2, 3525, 3526, 5, 845, 423, 2, 3526, 3527, 5, 817, 409, 2, 3527, 3528, 5, 823, 412, 2, 3528, 3529, 5, 829, 415, 2, 3529, 3530, 5, 815, 408, 2, 3530, 684, 3, 2, 2, 2, 3531, 3532, 5, 841, 421, 2, 3532, 3533, 5, 811, 406, 2, 3533, 3534, 5, 817, 409, 2, 3534, 3535, 5, 823, 412, 2, 3535, 3536, 5, 829, 415, 2, 3536, 3537, 5, 815, 408, 2, 3537, 686, 3, 2, 2, 2, 3538, 3539, 5, 835, 418, 2, 3539, 3540, 5, 841, 421, 2, 3540, 3541, 5, 811, 406, 2, 3541, 688, 3, 2, 2, 2, 3542, 3543, 5, 837, 419, 2, 3543, 3544, 5, 807, 404, 2, 3544, 3545, 5, 841, 421, 2, 3545, 3546, 5, 839, 420, 2, 3546, 3547, 5, 847, 424, 2, 3547, 3548, 5, 815, 408, 2, 3548, 3549, 5, 845, 423, 2, 3549, 690, 3, 2, 2, 2, 3550, 3551, 5, 813, 407, 2, 3551, 3552, 5, 815, 408, 2, 3552, 3553, 5, 829, 415, 2, 3553, 3554, 5, 845, 423, 2, 3554, 3555, 5, 807, 404, 2, 3555, 692, 3, 2, 2, 2, 3556, 3557, 5, 807, 404, 2, 3557, 3558, 5, 849, 425, 2, 3558, 3559, 5, 841, 421, 2, 3559, 3560, 5, 835, 418, 2, 3560, 694, 3, 2, 2, 2, 3561, 3562, 5, 811, 406, 2, 3562, 3563, 5, 843, 422, 2, 3563, 3564, 5, 849, 425, 2, 3564, 696, 3, 2, 2, 2, 3565, 3566, 5, 825, 413, 2, 3566, 3567, 5, 843, 422, 2, 3567, 3568, 5, 835, 418, 2, 3568, 3569, 5, 833, 417, 2, 3569, 698, 3, 2, 2, 2, 3570, 3571, 5, 825, 413, 2, 3571, 3572, 5, 843, 422, 2, 3572, 3573, 5, 835, 418, 2, 3573, 3574, 5, 833, 417, 2, 3574, 3575, 5, 817, 409, 2, 3575, 3576, 5, 823, 412, 2, 3576, 3577, 5, 829, 415, 2, 3577, 3578, 5, 815, 408, 2, 3578, 700, 3, 2, 2, 2, 3579, 3580, 5, 809, 405, 2, 3580, 3581, 5, 829, 415, 2, 3581, 3582, 5, 835, 418, 2, 3582, 3583, 5, 835, 418, 2, 3583, 3584, 5, 831, 416, 2, 3584, 3585, 5, 817, 409, 2, 3585, 3586, 5, 823, 412, 2, 3586, 3587, 5, 829, 415, 2, 3587, 3588, 5, 845, 423, 2, 3588, 3589, 5, 815, 408, 2, 3589, 3590, 5, 841, 421, 2, 3590, 702, 3, 2, 2, 2, 3591, 3592, 5, 819, 410, 2, 3592, 3593, 5, 815, 408, 2, 3593, 3594, 5, 833, 417, 2, 3594, 3595, 5, 815, 408, 2, 3595, 3596, 5, 841, 421, 2, 3596, 3597, 5, 807, 404, 2, 3597, 3598, 5, 845, 423, 2, 3598, 3599, 5, 815, 408, 2, 3599, 3600, 5, 813, 407, 2, 3600, 704, 3, 2, 2, 2, 3601, 3602, 5, 807, 404, 2, 3602, 3603, 5, 829, 415, 2, 3603, 3604, 5, 851, 426, 2, 3604, 3605, 5, 807, 404, 2, 3605, 3606, 5, 855, 428, 2, 3606, 3607, 5, 843, 422, 2, 3607, 706, 3, 2, 2, 2, 3608, 3609, 5, 823, 412, 2, 3609, 3610, 5, 813, 407, 2, 3610, 3611, 5, 815, 408, 2, 3611, 3612, 5, 833, 417, 2, 3612, 3613, 5, 845, 423, 2, 3613, 3614, 5, 823, 412, 2, 3614, 3615, 5, 845, 423, 2, 3615, 3616, 5, 855, 428, 2, 3616, 708, 3, 2, 2, 2, 3617, 3618, 5, 823, 412, 2, 3618, 3619, 5, 833, 417, 2, 3619, 3620, 5, 811, 406, 2, 3620, 3621, 5, 841, 421, 2, 3621, 3622, 5, 815, 408, 2, 3622, 3623, 5, 831, 416, 2, 3623, 3624, 5, 815, 408, 2, 3624, 3625, 5, 833, 417, 2, 3625, 3626, 5, 845, 423, 2, 3626, 710, 3, 2, 2, 2, 3627, 3628, 5, 843, 422, 2, 3628, 3629, 5, 811, 406, 2, 3629, 3630, 5, 821, 411, 2, 3630, 3631, 5, 815, 408, 2, 3631, 3632, 5, 813, 407, 2, 3632, 3633, 5, 847, 424, 2, 3633, 3634, 5, 829, 415, 2, 3634, 3635, 5, 815, 408, 2, 3635, 712, 3, 2, 2, 2, 3636, 3637, 5, 841, 421, 2, 3637, 3638, 5, 815, 408, 2, 3638, 3639, 5, 817, 409, 2, 3639, 3640, 5, 841, 421, 2, 3640, 3641, 5, 815, 408, 2, 3641, 3642, 5, 843, 422, 2, 3642, 3643, 5, 821, 411, 2, 3643, 714, 3, 2, 2, 2, 3644, 3645, 5, 815, 408, 2, 3645, 3646, 5, 849, 425, 2, 3646, 3647, 5, 815, 408, 2, 3647, 3648, 5, 841, 421, 2, 3648, 3649, 5, 855, 428, 2, 3649, 716, 3, 2, 2, 2, 3650, 3651, 5, 811, 406, 2, 3651, 3652, 5, 841, 421, 2, 3652, 3653, 5, 835, 418, 2, 3653, 3654, 5, 833, 417, 2, 3654, 718, 3, 2, 2, 2, 3655, 3656, 5, 807, 404, 2, 3656, 3657, 5, 845, 423, 2, 3657, 720, 3, 2, 2, 2, 3658, 3659, 5, 817, 409, 2, 3659, 3660, 5, 823, 412, 2, 3660, 3661, 5, 829, 415, 2, 3661, 3662, 5, 845, 423, 2, 3662, 3663, 5, 815, 408, 2, 3663, 3664, 5, 841, 421, 2, 3664, 722, 3, 2, 2, 2, 3665, 3666, 5, 843, 422, 2, 3666, 3667, 5, 845, 423, 2, 3667, 3668, 5, 841, 421, 2, 3668, 3669, 5, 815, 408, 2, 3669, 3670, 5, 807, 404, 2, 3670, 3671, 5, 831, 416, 2, 3671, 724, 3, 2, 2, 2, 3672, 3673, 5, 843, 422, 2, 3673, 3674, 5, 845, 423, 2, 3674, 3675, 5, 841, 421, 2, 3675, 3676, 5, 815, 408, 2, 3676, 3677, 5, 807, 404, 2, 3677, 3678, 5, 831, 416, 2, 3678, 3679, 5, 823, 412, 2, 3679, 3680, 5, 833, 417, 2, 3680, 3681, 5, 819, 410, 2, 3681, 726, 3, 2, 2, 2, 3682, 3683, 5, 831, 416, 2, 3683, 3684, 5, 835, 418, 2, 3684, 3685, 5, 843, 422, 2, 3685, 3686, 5, 845, 423, 2, 3686, 728, 3, 2, 2, 2, 3687, 3688, 5, 815, 408, 2, 3688, 3689, 5, 853, 427, 2, 3689, 3690, 5, 837, 419, 2, 3690, 3691, 5, 815, 408, 2, 3691, 3692, 5, 811, 406, 2, 3692, 3693, 5, 845, 423, 2, 3693, 730, 3, 2, 2, 2, 3694, 3695, 5, 849, 425, 2, 3695, 3696, 5, 823, 412, 2, 3696, 3697, 5, 835, 418, 2, 3697, 3698, 5, 829, 415, 2, 3698, 3699, 5, 807, 404, 2, 3699, 3700, 5, 845, 423, 2, 3700, 3701, 5, 823, 412, 2, 3701, 3702, 5, 835, 418, 2, 3702, 3703, 5, 833, 417, 2, 3703, 732, 3, 2, 2, 2, 3704, 3705, 5, 817, 409, 2, 3705, 3706, 5, 807, 404, 2, 3706, 3707, 5, 823, 412, 2, 3707, 3708, 5, 829, 415, 2, 3708, 734, 3, 2, 2, 2, 3709, 3710, 7, 48, 2, 2, 3710, 736, 3, 2, 2, 2, 3711, 3712, 7, 60, 2, 2, 3712, 738, 3, 2, 2, 2, 3713, 3714, 7, 46, 2, 2, 3714, 740, 3, 2, 2, 2, 3715, 3716, 7, 61, 2, 2, 3716, 742, 3, 2, 2, 2, 3717, 3718, 7, 42, 2, 2, 3718, 744, 3, 2, 2, 2, 3719, 3720, 7, 43, 2, 2, 3720, 746, 3, 2, 2, 2, 3721, 3722, 7, 93, 2, 2, 3722, 748, 3, 2, 2, 2, 3723, 3724, 7, 95, 2, 2, 3724, 750, 3, 2, 2, 2, 3725, 3726, 7, 125, 2, 2, 3726, 752, 3, 2, 2, 2, 3727, 3728, 7, 127, 2, 2, 3728, 754, 3, 2, 2, 2, 3729, 3733, 7, 63, 2, 2, 3730, 3731, 7, 63, 2, 2, 3731, 3733, 7, 63, 2, 2, 3732, 3729, 3, 2, 2, 2, 3732, 3730, 3, 2, 2, 2, 3733, 756, 3, 2, 2, 2, 3734, 3735, 7, 62, 2, 2, 3735, 3736, 7, 63, 2, 2, 3736, 3737, 7, 64, 2, 2, 3737, 758, 3, 2, 2, 2, 3738, 3739, 7, 62, 2, 2, 3739, 3743, 7, 64, 2, 2, 3740, 3741, 7, 35, 2, 2, 3741, 3743, 7, 63, 2, 2, 3742, 3738, 3, 2, 2, 2, 3742, 3740, 3, 2, 2, 2, 3743, 760, 3, 2, 2, 2, 3744, 3745, 7, 62, 2, 2, 3745, 3746, 7, 63, 2, 2, 3746, 762, 3, 2, 2, 2, 3747, 3748, 7, 62, 2, 2, 3748, 764, 3, 2, 2, 2, 3749, 3750, 7, 64, 2, 2, 3750, 3751, 7, 63, 2, 2, 3751, 766, 3, 2, 2, 2, 3752, 3753, 7, 64, 2, 2, 3753, 768, 3, 2, 2, 2, 3754, 3755, 7, 63, 2, 2, 3755, 3756, 7, 64, 2, 2, 3756, 770, 3, 2, 2, 2, 3757, 3758, 7, 49, 2, 2, 3758, 772, 3, 2, 2, 2, 3759, 3760, 7, 45, 2, 2, 3760, 774, 3, 2, 2, 2, 3761, 3762, 7, 47, 2, 2, 3762, 776, 3, 2, 2, 2, 3763, 3764, 7, 44, 2, 2, 3764, 778, 3, 2, 2, 2, 3765, 3766, 7, 39, 2, 2, 3766, 780, 3, 2, 2, 2, 3767, 3768, 7, 70, 2, 2, 3768, 3769, 7, 75, 2, 2, 3769, 3770, 7, 88, 2, 2, 3770, 782, 3, 2, 2, 2, 3771, 3772, 7, 40, 2, 2, 3772, 784, 3, 2, 2, 2, 3773, 3774, 7, 128, 2, 2, 3774, 786, 3, 2, 2, 2, 3775, 3776, 7, 126, 2, 2, 3776, 788, 3, 2, 2, 2, 3777, 3778, 7, 126, 2, 2, 3778, 3779, 7, 126, 2, 2, 3779, 790, 3, 2, 2, 2, 3780, 3781, 7, 96, 2, 2, 3781, 792, 3, 2, 2, 2, 3782, 3783, 7, 65, 2, 2, 3783, 794, 3, 2, 2, 2, 3784, 3785, 7, 38, 2, 2, 3785, 796, 3, 2, 2, 2, 3786, 3787, 9, 2, 2, 2, 3787, 798, 3, 2, 2, 2, 3788, 3789, 9, 3, 2, 2, 3789, 800, 3, 2, 2, 2, 3790, 3791, 4, 50, 59, 2, 3791, 802, 3, 2, 2, 2, 3792, 3795, 9, 4, 2, 2, 3793, 3796, 5, 773, 387, 2, 3794, 3796, 5, 775, 388, 2, 3795, 3793, 3, 2, 2, 2, 3795, 3794, 3, 2, 2, 2, 3795, 3796, 3, 2, 2, 2, 3796, 3798, 3, 2, 2, 2, 3797, 3799, 5, 801, 401, 2, 3798, 3797, 3, 2, 2, 2, 3799, 3800, 3, 2, 2, 2, 3800, 3798, 3, 2, 2, 2, 3800, 3801, 3, 2, 2, 2, 3801, 804, 3, 2, 2, 2, 3802, 3819, 9, 5, 2, 2, 3803, 3819, 5, 773, 387, 2, 3804, 3819, 5, 777, 389, 2, 3805, 3819, 5, 793, 397, 2, 3806, 3819, 5, 775, 388, 2, 3807, 3819, 5, 735, 368, 2, 3808, 3819, 5, 743, 372, 2, 3809, 3819, 5, 745, 373, 2, 3810, 3819, 5, 747, 374, 2, 3811, 3819, 5, 749, 375, 2, 3812, 3819, 5, 751, 376, 2, 3813, 3819, 5, 753, 377, 2, 3814, 3819, 5, 791, 396, 2, 3815, 3819, 5, 787, 394, 2, 3816, 3819, 5, 795, 398, 2, 3817, 3819, 7, 35, 2, 2, 3818, 3802, 3, 2, 2, 2, 3818, 3803, 3, 2, 2, 2, 3818, 3804, 3, 2, 2, 2, 3818, 3805, 3, 2, 2, 2, 3818, 3806, 3, 2, 2, 2, 3818, 3807, 3, 2, 2, 2, 3818, 3808, 3, 2, 2, 2, 3818, 3809, 3, 2, 2, 2, 3818, 3810, 3, 2, 2, 2, 3818, 3811, 3, 2, 2, 2, 3818, 3812, 3, 2, 2, 2, 3818, 3813, 3, 2, 2, 2, 3818, 3814, 3, 2, 2, 2, 3818, 3815, 3, 2, 2, 2, 3818, 3816, 3, 2, 2, 2, 3818, 3817, 3, 2, 2, 2, 3819, 806, 3, 2, 2, 2, 3820, 3821, 9, 6, 2, 2, 3821, 808, 3, 2, 2, 2, 3822, 3823, 9, 7, 2, 2, 3823, 810, 3, 2, 2, 2, 3824, 3825, 9, 8, 2, 2, 3825, 812, 3, 2, 2, 2, 3826, 3827, 9, 9, 2, 2, 3827, 814, 3, 2, 2, 2, 3828, 3829, 9, 4, 2, 2, 3829, 816, 3, 2, 2, 2, 3830, 3831, 9, 10, 2, 2, 3831, 818, 3, 2, 2, 2, 3832, 3833, 9, 11, 2, 2, 3833, 820, 3, 2, 2, 2, 3834, 3835, 9, 12, 2, 2, 3835, 822, 3, 2, 2, 2, 3836, 3837, 9, 13, 2, 2, 3837, 824, 3, 2, 2, 2, 3838, 3839, 9, 14, 2, 2, 3839, 826, 3, 2, 2, 2, 3840, 3841, 9, 15, 2, 2, 3841, 828, 3, 2, 2, 2, 3842, 3843, 9, 16, 2, 2, 3843, 830, 3, 2, 2, 2, 3844, 3845, 9, 17, 2, 2, 3845, 832, 3, 2, 2, 2, 3846, 3847, 9, 18, 2, 2, 3847, 834, 3, 2, 2, 2, 3848, 3849, 9, 19, 2, 2, 3849, 836, 3, 2, 2, 2, 3850, 3851, 9, 20, 2, 2, 3851, 838, 3, 2, 2, 2, 3852, 3853, 9, 21, 2, 2, 3853, 840, 3, 2, 2, 2, 3854, 3855, 9, 22, 2, 2, 3855, 842, 3, 2, 2, 2, 3856, 3857, 9, 23, 2, 2, 3857, 844, 3, 2, 2, 2, 3858, 3859, 9, 24, 2, 2, 3859, 846, 3, 2, 2, 2, 3860, 3861, 9, 25, 2, 2, 3861, 848, 3, 2, 2, 2, 3862, 3863, 9, 26, 2, 2, 3863, 850, 3, 2, 2, 2, 3864, 3865, 9, 27, 2, 2, 3865, 852, 3, 2, 2, 2, 3866, 3867, 9, 28, 2, 2, 3867, 854, 3, 2, 2, 2, 3868, 3869, 9, 29, 2, 2, 3869, 856, 3, 2, 2, 2, 3870, 3871, 9, 30, 2, 2, 3871, 858, 3, 2, 2, 2, 3872, 3878, 7, 41, 2, 2, 3873, 3877, 10, 31, 2, 2, 3874, 3875, 7, 94, 2, 2, 3875, 3877, 11, 2, 2, 2, 3876, 3873, 3, 2, 2, 2, 3876, 3874, 3, 2, 2, 2, 3877, 3880, 3, 2, 2, 2, 3878, 3876, 3, 2, 2, 2, 3878, 3879, 3, 2, 2, 2, 3879, 3881, 3, 2, 2, 2, 3880, 3878, 3, 2, 2, 2, 3881, 3893, 7, 41, 2, 2, 3882, 3888, 7, 36, 2, 2, 3883, 3887, 10, 32, 2, 2, 3884, 3885, 7, 94, 2, 2, 3885, 3887, 11, 2, 2, 2, 3886, 3883, 3, 2, 2, 2, 3886, 3884, 3, 2, 2, 2, 3887, 3890, 3, 2, 2, 2, 3888, 3886, 3, 2, 2, 2, 3888, 3889, 3, 2, 2, 2, 3889, 3891, 3, 2, 2, 2, 3890, 3888, 3, 2, 2, 2, 3891, 3893, 7, 36, 2, 2, 3892, 3872, 3, 2, 2, 2, 3892, 3882, 3, 2, 2, 2, 3893, 3894, 3, 2, 2, 2, 3894, 3892, 3, 2, 2, 2, 3894, 3895, 3, 2, 2, 2, 3895, 860, 3, 2, 2, 2, 3896, 3906, 5, 859, 430, 2, 3897, 3898, 7, 50, 2, 2, 3898, 3901, 7, 90, 2, 2, 3899, 3902, 5, 799, 400, 2, 3900, 3902, 5, 801, 401, 2, 3901, 3899, 3, 2, 2, 2, 3901, 3900, 3, 2, 2, 2, 3902, 3903, 3, 2, 2, 2, 3903, 3901, 3, 2, 2, 2, 3903, 3904, 3, 2, 2, 2, 3904, 3906, 3, 2, 2, 2, 3905, 3896, 3, 2, 2, 2, 3905, 3897, 3, 2, 2, 2, 3906, 862, 3, 2, 2, 2, 3907, 3909, 5, 801, 401, 2, 3908, 3907, 3, 2, 2, 2, 3909, 3910, 3, 2, 2, 2, 3910, 3908, 3, 2, 2, 2, 3910, 3911, 3, 2, 2, 2, 3911, 3912, 3, 2, 2, 2, 3912, 3913, 9, 33, 2, 2, 3913, 864, 3, 2, 2, 2, 3914, 3918, 5, 869, 435, 2, 3915, 3919, 7, 70, 2, 2, 3916, 3917, 7, 68, 2, 2, 3917, 3919, 7, 70, 2, 2, 3918, 3915, 3, 2, 2, 2, 3918, 3916, 3, 2, 2, 2, 3919, 866, 3, 2, 2, 2, 3920, 3922, 5, 801, 401, 2, 3921, 3920, 3, 2, 2, 2, 3922, 3923, 3, 2, 2, 2, 3923, 3921, 3, 2, 2, 2, 3923, 3924, 3, 2, 2, 2, 3924, 3925, 3, 2, 2, 2, 3925, 3926, 9, 34, 2, 2, 3926, 868, 3, 2, 2, 2, 3927, 3929, 5, 801, 401, 2, 3928, 3927, 3, 2, 2, 2, 3929, 3930, 3, 2, 2, 2, 3930, 3928, 3, 2, 2, 2, 3930, 3931, 3, 2, 2, 2, 3931, 3943, 3, 2, 2, 2, 3932, 3936, 5, 735, 368, 2, 3933, 3935, 5, 801, 401, 2, 3934, 3933, 3, 2, 2, 2, 3935, 3938, 3, 2, 2, 2, 3936, 3934, 3, 2, 2, 2, 3936, 3937, 3, 2, 2, 2, 3937, 3940, 3, 2, 2, 2, 3938, 3936, 3, 2, 2, 2, 3939, 3941, 5, 803, 402, 2, 3940, 3939, 3, 2, 2, 2, 3940, 3941, 3, 2, 2, 2, 3941, 3944, 3, 2, 2, 2, 3942, 3944, 5, 803, 402, 2, 3943, 3932, 3, 2, 2, 2, 3943, 3942, 3, 2, 2, 2, 3943, 3944, 3, 2, 2, 2, 3944, 870, 3, 2, 2, 2, 3945, 3949, 5, 797, 399, 2, 3946, 3949, 5, 801, 401, 2, 3947, 3949, 7, 97, 2, 2, 3948, 3945, 3, 2, 2, 2, 3948, 3946, 3, 2, 2, 2, 3948, 3947, 3, 2, 2, 2, 3949, 3950, 3, 2, 2, 2, 3950, 3948, 3, 2, 2, 2, 3950, 3951, 3, 2, 2, 2, 3951, 3962, 3, 2, 2, 2, 3952, 3962, 5, 873, 437, 2, 3953, 3955, 7, 98, 2, 2, 3954, 3956, 5, 805, 403, 2, 3955, 3954, 3, 2, 2, 2, 3956, 3957, 3, 2, 2, 2, 3957, 3955, 3, 2, 2, 2, 3957, 3958, 3, 2, 2, 2, 3958, 3959, 3, 2, 2, 2, 3959, 3960, 7, 98, 2, 2, 3960, 3962, 3, 2, 2, 2, 3961, 3948, 3, 2, 2, 2, 3961, 3952, 3, 2, 2, 2, 3961, 3953, 3, 2, 2, 2, 3962, 872, 3, 2, 2, 2, 3963, 3969, 7, 98, 2, 2, 3964, 3965, 7, 98, 2, 2, 3965, 3968, 7, 98, 2, 2, 3966, 3968, 10, 35, 2, 2, 3967, 3964, 3, 2, 2, 2, 3967, 3966, 3, 2, 2, 2, 3968, 3971, 3, 2, 2, 2, 3969, 3967, 3, 2, 2, 2, 3969, 3970, 3, 2, 2, 2, 3970, 3972, 3, 2, 2, 2, 3971, 3969, 3, 2, 2, 2, 3972, 3973, 7, 98, 2, 2, 3973, 874, 3, 2, 2, 2, 3974, 3978, 7, 97, 2, 2, 3975, 3979, 5, 797, 399, 2, 3976, 3979, 5, 801, 401, 2, 3977, 3979, 9, 36, 2, 2, 3978, 3975, 3, 2, 2, 2, 3978, 3976, 3, 2, 2, 2, 3978, 3977, 3, 2, 2, 2, 3979, 3980, 3, 2, 2, 2, 3980, 3978, 3, 2, 2, 2, 3980, 3981, 3, 2, 2, 2, 3981, 876, 3, 2, 2, 2, 3982, 3983, 9, 37, 2, 2, 3983, 3984, 3, 2, 2, 2, 3984, 3985, 8, 439, 2, 2, 3985, 878, 3, 2, 2, 2, 3986, 3987, 7, 47, 2, 2, 3987, 3988, 7, 47, 2, 2, 3988, 3992, 3, 2, 2, 2, 3989, 3991, 10, 38, 2, 2, 3990, 3989, 3, 2, 2, 2, 3991, 3994, 3, 2, 2, 2, 3992, 3990, 3, 2, 2, 2, 3992, 3993, 3, 2, 2, 2, 3993, 3995, 3, 2, 2, 2, 3994, 3992, 3, 2, 2, 2, 3995, 3996, 8, 440, 2, 2, 3996, 880, 3, 2, 2, 2, 3997, 4000, 5, 883, 442, 2, 3998, 4000, 5, 885, 443, 2, 3999, 3997, 3, 2, 2, 2, 3999, 3998, 3, 2, 2, 2, 4000, 882, 3, 2, 2, 2, 4001, 4002, 7, 49, 2, 2, 4002, 4003, 7, 44, 2, 2, 4003, 4004, 7, 45, 2, 2, 4004, 4009, 3, 2, 2, 2, 4005, 4008, 5, 881, 441, 2, 4006, 4008, 11, 2, 2, 2, 4007, 4005, 3, 2, 2, 2, 4007, 4006, 3, 2, 2, 2, 4008, 4011, 3, 2, 2, 2, 4009, 4010, 3, 2, 2, 2, 4009, 4007, 3, 2, 2, 2, 4010, 4012, 3, 2, 2, 2, 4011, 4009, 3, 2, 2, 2, 4012, 4013, 7, 44, 2, 2, 4013, 4014, 7, 49, 2, 2, 4014, 4015, 3, 2, 2, 2, 4015, 4016, 8, 442, 2, 2, 4016, 884, 3, 2, 2, 2, 4017, 4018, 7, 49, 2, 2, 4018, 4019, 7, 44, 2, 2, 4019, 4024, 3, 2, 2, 2, 4020, 4023, 5, 881, 441, 2, 4021, 4023, 11, 2, 2, 2, 4022, 4020, 3, 2, 2, 2, 4022, 4021, 3, 2, 2, 2, 4023, 4026, 3, 2, 2, 2, 4024, 4025, 3, 2, 2, 2, 4024, 4022, 3, 2, 2, 2, 4025, 4027, 3, 2, 2, 2, 4026, 4024, 3, 2, 2, 2, 4027, 4028, 7, 44, 2, 2, 4028, 4029, 7, 49, 2, 2, 4029, 4030, 3, 2, 2, 2, 4030, 4031, 8, 443, 2, 2, 4031, 886, 3, 2, 2, 2, 48, 2, 924, 1426, 1548, 2934, 2963, 2976, 2987, 3004, 3021, 3038, 3732, 3742, 3795, 3800, 3818, 3876, 3878, 3886, 3888, 3892, 3894, 3901, 3903, 3905, 3910, 3918, 3923, 3930, 3936, 3940, 3943, 3948, 3950, 3957, 3961, 3967, 3969, 3978, 3980, 3992, 3999, 4007, 4009, 4022, 4024, 3, 2, 3, 2]
\ No newline at end of file
diff --git a/reverse_engineering/parser/Hive/HiveLexer.js b/reverse_engineering/parser/Hive/HiveLexer.js
deleted file mode 100644
index a479d08..0000000
--- a/reverse_engineering/parser/Hive/HiveLexer.js
+++ /dev/null
@@ -1,4394 +0,0 @@
-// Generated from grammars/HiveLexer.g4 by ANTLR 4.9.2
-// jshint ignore: start
-const antlr4 = require('antlr4');
-
-const serializedATN = [
- '\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786',
- '\u5964\u0002\u019d\u0fc0\b\u0001\u0004\u0002\t\u0002\u0004\u0003\t\u0003',
- '\u0004\u0004\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007',
- '\t\u0007\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004',
- '\f\t\f\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010',
- '\t\u0010\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013',
- '\u0004\u0014\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u0017',
- '\t\u0017\u0004\u0018\t\u0018\u0004\u0019\t\u0019\u0004\u001a\t\u001a',
- '\u0004\u001b\t\u001b\u0004\u001c\t\u001c\u0004\u001d\t\u001d\u0004\u001e',
- '\t\u001e\u0004\u001f\t\u001f\u0004 \t \u0004!\t!\u0004"\t"\u0004#',
- "\t#\u0004$\t$\u0004%\t%\u0004&\t&\u0004\'\t\'\u0004(\t(\u0004)\t)\u0004",
- '*\t*\u0004+\t+\u0004,\t,\u0004-\t-\u0004.\t.\u0004/\t/\u00040\t0\u0004',
- '1\t1\u00042\t2\u00043\t3\u00044\t4\u00045\t5\u00046\t6\u00047\t7\u0004',
- '8\t8\u00049\t9\u0004:\t:\u0004;\t;\u0004<\t<\u0004=\t=\u0004>\t>\u0004',
- '?\t?\u0004@\t@\u0004A\tA\u0004B\tB\u0004C\tC\u0004D\tD\u0004E\tE\u0004',
- 'F\tF\u0004G\tG\u0004H\tH\u0004I\tI\u0004J\tJ\u0004K\tK\u0004L\tL\u0004',
- 'M\tM\u0004N\tN\u0004O\tO\u0004P\tP\u0004Q\tQ\u0004R\tR\u0004S\tS\u0004',
- 'T\tT\u0004U\tU\u0004V\tV\u0004W\tW\u0004X\tX\u0004Y\tY\u0004Z\tZ\u0004',
- '[\t[\u0004\\\t\\\u0004]\t]\u0004^\t^\u0004_\t_\u0004`\t`\u0004a\ta\u0004',
- 'b\tb\u0004c\tc\u0004d\td\u0004e\te\u0004f\tf\u0004g\tg\u0004h\th\u0004',
- 'i\ti\u0004j\tj\u0004k\tk\u0004l\tl\u0004m\tm\u0004n\tn\u0004o\to\u0004',
- 'p\tp\u0004q\tq\u0004r\tr\u0004s\ts\u0004t\tt\u0004u\tu\u0004v\tv\u0004',
- 'w\tw\u0004x\tx\u0004y\ty\u0004z\tz\u0004{\t{\u0004|\t|\u0004}\t}\u0004',
- '~\t~\u0004\u007f\t\u007f\u0004\u0080\t\u0080\u0004\u0081\t\u0081\u0004',
- '\u0082\t\u0082\u0004\u0083\t\u0083\u0004\u0084\t\u0084\u0004\u0085\t',
- '\u0085\u0004\u0086\t\u0086\u0004\u0087\t\u0087\u0004\u0088\t\u0088\u0004',
- '\u0089\t\u0089\u0004\u008a\t\u008a\u0004\u008b\t\u008b\u0004\u008c\t',
- '\u008c\u0004\u008d\t\u008d\u0004\u008e\t\u008e\u0004\u008f\t\u008f\u0004',
- '\u0090\t\u0090\u0004\u0091\t\u0091\u0004\u0092\t\u0092\u0004\u0093\t',
- '\u0093\u0004\u0094\t\u0094\u0004\u0095\t\u0095\u0004\u0096\t\u0096\u0004',
- '\u0097\t\u0097\u0004\u0098\t\u0098\u0004\u0099\t\u0099\u0004\u009a\t',
- '\u009a\u0004\u009b\t\u009b\u0004\u009c\t\u009c\u0004\u009d\t\u009d\u0004',
- '\u009e\t\u009e\u0004\u009f\t\u009f\u0004\u00a0\t\u00a0\u0004\u00a1\t',
- '\u00a1\u0004\u00a2\t\u00a2\u0004\u00a3\t\u00a3\u0004\u00a4\t\u00a4\u0004',
- '\u00a5\t\u00a5\u0004\u00a6\t\u00a6\u0004\u00a7\t\u00a7\u0004\u00a8\t',
- '\u00a8\u0004\u00a9\t\u00a9\u0004\u00aa\t\u00aa\u0004\u00ab\t\u00ab\u0004',
- '\u00ac\t\u00ac\u0004\u00ad\t\u00ad\u0004\u00ae\t\u00ae\u0004\u00af\t',
- '\u00af\u0004\u00b0\t\u00b0\u0004\u00b1\t\u00b1\u0004\u00b2\t\u00b2\u0004',
- '\u00b3\t\u00b3\u0004\u00b4\t\u00b4\u0004\u00b5\t\u00b5\u0004\u00b6\t',
- '\u00b6\u0004\u00b7\t\u00b7\u0004\u00b8\t\u00b8\u0004\u00b9\t\u00b9\u0004',
- '\u00ba\t\u00ba\u0004\u00bb\t\u00bb\u0004\u00bc\t\u00bc\u0004\u00bd\t',
- '\u00bd\u0004\u00be\t\u00be\u0004\u00bf\t\u00bf\u0004\u00c0\t\u00c0\u0004',
- '\u00c1\t\u00c1\u0004\u00c2\t\u00c2\u0004\u00c3\t\u00c3\u0004\u00c4\t',
- '\u00c4\u0004\u00c5\t\u00c5\u0004\u00c6\t\u00c6\u0004\u00c7\t\u00c7\u0004',
- '\u00c8\t\u00c8\u0004\u00c9\t\u00c9\u0004\u00ca\t\u00ca\u0004\u00cb\t',
- '\u00cb\u0004\u00cc\t\u00cc\u0004\u00cd\t\u00cd\u0004\u00ce\t\u00ce\u0004',
- '\u00cf\t\u00cf\u0004\u00d0\t\u00d0\u0004\u00d1\t\u00d1\u0004\u00d2\t',
- '\u00d2\u0004\u00d3\t\u00d3\u0004\u00d4\t\u00d4\u0004\u00d5\t\u00d5\u0004',
- '\u00d6\t\u00d6\u0004\u00d7\t\u00d7\u0004\u00d8\t\u00d8\u0004\u00d9\t',
- '\u00d9\u0004\u00da\t\u00da\u0004\u00db\t\u00db\u0004\u00dc\t\u00dc\u0004',
- '\u00dd\t\u00dd\u0004\u00de\t\u00de\u0004\u00df\t\u00df\u0004\u00e0\t',
- '\u00e0\u0004\u00e1\t\u00e1\u0004\u00e2\t\u00e2\u0004\u00e3\t\u00e3\u0004',
- '\u00e4\t\u00e4\u0004\u00e5\t\u00e5\u0004\u00e6\t\u00e6\u0004\u00e7\t',
- '\u00e7\u0004\u00e8\t\u00e8\u0004\u00e9\t\u00e9\u0004\u00ea\t\u00ea\u0004',
- '\u00eb\t\u00eb\u0004\u00ec\t\u00ec\u0004\u00ed\t\u00ed\u0004\u00ee\t',
- '\u00ee\u0004\u00ef\t\u00ef\u0004\u00f0\t\u00f0\u0004\u00f1\t\u00f1\u0004',
- '\u00f2\t\u00f2\u0004\u00f3\t\u00f3\u0004\u00f4\t\u00f4\u0004\u00f5\t',
- '\u00f5\u0004\u00f6\t\u00f6\u0004\u00f7\t\u00f7\u0004\u00f8\t\u00f8\u0004',
- '\u00f9\t\u00f9\u0004\u00fa\t\u00fa\u0004\u00fb\t\u00fb\u0004\u00fc\t',
- '\u00fc\u0004\u00fd\t\u00fd\u0004\u00fe\t\u00fe\u0004\u00ff\t\u00ff\u0004',
- '\u0100\t\u0100\u0004\u0101\t\u0101\u0004\u0102\t\u0102\u0004\u0103\t',
- '\u0103\u0004\u0104\t\u0104\u0004\u0105\t\u0105\u0004\u0106\t\u0106\u0004',
- '\u0107\t\u0107\u0004\u0108\t\u0108\u0004\u0109\t\u0109\u0004\u010a\t',
- '\u010a\u0004\u010b\t\u010b\u0004\u010c\t\u010c\u0004\u010d\t\u010d\u0004',
- '\u010e\t\u010e\u0004\u010f\t\u010f\u0004\u0110\t\u0110\u0004\u0111\t',
- '\u0111\u0004\u0112\t\u0112\u0004\u0113\t\u0113\u0004\u0114\t\u0114\u0004',
- '\u0115\t\u0115\u0004\u0116\t\u0116\u0004\u0117\t\u0117\u0004\u0118\t',
- '\u0118\u0004\u0119\t\u0119\u0004\u011a\t\u011a\u0004\u011b\t\u011b\u0004',
- '\u011c\t\u011c\u0004\u011d\t\u011d\u0004\u011e\t\u011e\u0004\u011f\t',
- '\u011f\u0004\u0120\t\u0120\u0004\u0121\t\u0121\u0004\u0122\t\u0122\u0004',
- '\u0123\t\u0123\u0004\u0124\t\u0124\u0004\u0125\t\u0125\u0004\u0126\t',
- '\u0126\u0004\u0127\t\u0127\u0004\u0128\t\u0128\u0004\u0129\t\u0129\u0004',
- '\u012a\t\u012a\u0004\u012b\t\u012b\u0004\u012c\t\u012c\u0004\u012d\t',
- '\u012d\u0004\u012e\t\u012e\u0004\u012f\t\u012f\u0004\u0130\t\u0130\u0004',
- '\u0131\t\u0131\u0004\u0132\t\u0132\u0004\u0133\t\u0133\u0004\u0134\t',
- '\u0134\u0004\u0135\t\u0135\u0004\u0136\t\u0136\u0004\u0137\t\u0137\u0004',
- '\u0138\t\u0138\u0004\u0139\t\u0139\u0004\u013a\t\u013a\u0004\u013b\t',
- '\u013b\u0004\u013c\t\u013c\u0004\u013d\t\u013d\u0004\u013e\t\u013e\u0004',
- '\u013f\t\u013f\u0004\u0140\t\u0140\u0004\u0141\t\u0141\u0004\u0142\t',
- '\u0142\u0004\u0143\t\u0143\u0004\u0144\t\u0144\u0004\u0145\t\u0145\u0004',
- '\u0146\t\u0146\u0004\u0147\t\u0147\u0004\u0148\t\u0148\u0004\u0149\t',
- '\u0149\u0004\u014a\t\u014a\u0004\u014b\t\u014b\u0004\u014c\t\u014c\u0004',
- '\u014d\t\u014d\u0004\u014e\t\u014e\u0004\u014f\t\u014f\u0004\u0150\t',
- '\u0150\u0004\u0151\t\u0151\u0004\u0152\t\u0152\u0004\u0153\t\u0153\u0004',
- '\u0154\t\u0154\u0004\u0155\t\u0155\u0004\u0156\t\u0156\u0004\u0157\t',
- '\u0157\u0004\u0158\t\u0158\u0004\u0159\t\u0159\u0004\u015a\t\u015a\u0004',
- '\u015b\t\u015b\u0004\u015c\t\u015c\u0004\u015d\t\u015d\u0004\u015e\t',
- '\u015e\u0004\u015f\t\u015f\u0004\u0160\t\u0160\u0004\u0161\t\u0161\u0004',
- '\u0162\t\u0162\u0004\u0163\t\u0163\u0004\u0164\t\u0164\u0004\u0165\t',
- '\u0165\u0004\u0166\t\u0166\u0004\u0167\t\u0167\u0004\u0168\t\u0168\u0004',
- '\u0169\t\u0169\u0004\u016a\t\u016a\u0004\u016b\t\u016b\u0004\u016c\t',
- '\u016c\u0004\u016d\t\u016d\u0004\u016e\t\u016e\u0004\u016f\t\u016f\u0004',
- '\u0170\t\u0170\u0004\u0171\t\u0171\u0004\u0172\t\u0172\u0004\u0173\t',
- '\u0173\u0004\u0174\t\u0174\u0004\u0175\t\u0175\u0004\u0176\t\u0176\u0004',
- '\u0177\t\u0177\u0004\u0178\t\u0178\u0004\u0179\t\u0179\u0004\u017a\t',
- '\u017a\u0004\u017b\t\u017b\u0004\u017c\t\u017c\u0004\u017d\t\u017d\u0004',
- '\u017e\t\u017e\u0004\u017f\t\u017f\u0004\u0180\t\u0180\u0004\u0181\t',
- '\u0181\u0004\u0182\t\u0182\u0004\u0183\t\u0183\u0004\u0184\t\u0184\u0004',
- '\u0185\t\u0185\u0004\u0186\t\u0186\u0004\u0187\t\u0187\u0004\u0188\t',
- '\u0188\u0004\u0189\t\u0189\u0004\u018a\t\u018a\u0004\u018b\t\u018b\u0004',
- '\u018c\t\u018c\u0004\u018d\t\u018d\u0004\u018e\t\u018e\u0004\u018f\t',
- '\u018f\u0004\u0190\t\u0190\u0004\u0191\t\u0191\u0004\u0192\t\u0192\u0004',
- '\u0193\t\u0193\u0004\u0194\t\u0194\u0004\u0195\t\u0195\u0004\u0196\t',
- '\u0196\u0004\u0197\t\u0197\u0004\u0198\t\u0198\u0004\u0199\t\u0199\u0004',
- '\u019a\t\u019a\u0004\u019b\t\u019b\u0004\u019c\t\u019c\u0004\u019d\t',
- '\u019d\u0004\u019e\t\u019e\u0004\u019f\t\u019f\u0004\u01a0\t\u01a0\u0004',
- '\u01a1\t\u01a1\u0004\u01a2\t\u01a2\u0004\u01a3\t\u01a3\u0004\u01a4\t',
- '\u01a4\u0004\u01a5\t\u01a5\u0004\u01a6\t\u01a6\u0004\u01a7\t\u01a7\u0004',
- '\u01a8\t\u01a8\u0004\u01a9\t\u01a9\u0004\u01aa\t\u01aa\u0004\u01ab\t',
- '\u01ab\u0004\u01ac\t\u01ac\u0004\u01ad\t\u01ad\u0004\u01ae\t\u01ae\u0004',
- '\u01af\t\u01af\u0004\u01b0\t\u01b0\u0004\u01b1\t\u01b1\u0004\u01b2\t',
- '\u01b2\u0004\u01b3\t\u01b3\u0004\u01b4\t\u01b4\u0004\u01b5\t\u01b5\u0004',
- '\u01b6\t\u01b6\u0004\u01b7\t\u01b7\u0004\u01b8\t\u01b8\u0004\u01b9\t',
- '\u01b9\u0004\u01ba\t\u01ba\u0004\u01bb\t\u01bb\u0003\u0002\u0003\u0002',
- '\u0003\u0002\u0003\u0002\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0003',
- '\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0004\u0003\u0004\u0003\u0004',
- '\u0003\u0004\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0005',
- '\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0007',
- '\u0003\u0007\u0003\u0007\u0003\u0007\u0003\b\u0003\b\u0003\b\u0003\t',
- '\u0003\t\u0003\t\u0003\t\u0003\t\u0005\t\u039d\n\t\u0003\n\u0003\n\u0003',
- '\n\u0003\n\u0003\n\u0003\u000b\u0003\u000b\u0003\u000b\u0003\u000b\u0003',
- '\f\u0003\f\u0003\f\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003',
- '\r\u0003\u000e\u0003\u000e\u0003\u000e\u0003\u000e\u0003\u000f\u0003',
- '\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u0010\u0003\u0010\u0003',
- '\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0011\u0003\u0011\u0003',
- '\u0011\u0003\u0011\u0003\u0011\u0003\u0012\u0003\u0012\u0003\u0012\u0003',
- '\u0012\u0003\u0012\u0003\u0012\u0003\u0013\u0003\u0013\u0003\u0013\u0003',
- '\u0013\u0003\u0013\u0003\u0013\u0003\u0014\u0003\u0014\u0003\u0014\u0003',
- '\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003',
- '\u0015\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0003',
- '\u0016\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003',
- '\u0018\u0003\u0018\u0003\u0018\u0003\u0019\u0003\u0019\u0003\u0019\u0003',
- '\u0019\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u001a\u0003\u001a\u0003',
- '\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003',
- '\u001a\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0003',
- '\u001b\u0003\u001b\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003',
- '\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003',
- '\u001d\u0003\u001d\u0003\u001d\u0003\u001d\u0003\u001d\u0003\u001d\u0003',
- '\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003',
- '\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001f\u0003',
- '\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003',
- '\u001f\u0003\u001f\u0003 \u0003 \u0003 \u0003 \u0003 \u0003!\u0003!',
- '\u0003!\u0003!\u0003!\u0003"\u0003"\u0003"\u0003"\u0003"\u0003',
- '"\u0003#\u0003#\u0003#\u0003#\u0003#\u0003$\u0003$\u0003$\u0003%\u0003',
- '%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003&\u0003',
- '&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003',
- "\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003(\u0003(\u0003(\u0003",
- '(\u0003(\u0003(\u0003(\u0003)\u0003)\u0003)\u0003)\u0003)\u0003*\u0003',
- '*\u0003*\u0003*\u0003*\u0003*\u0003*\u0003*\u0003+\u0003+\u0003+\u0003',
- '+\u0003+\u0003+\u0003,\u0003,\u0003,\u0003,\u0003,\u0003,\u0003,\u0003',
- ',\u0003-\u0003-\u0003-\u0003-\u0003-\u0003-\u0003-\u0003-\u0003.\u0003',
- '.\u0003.\u0003.\u0003.\u0003.\u0003.\u0003.\u0003.\u0003.\u0003/\u0003',
- '/\u0003/\u0003/\u0003/\u00030\u00030\u00030\u00030\u00030\u00031\u0003',
- '1\u00031\u00031\u00031\u00031\u00031\u00032\u00032\u00032\u00032\u0003',
- '2\u00032\u00032\u00032\u00032\u00032\u00033\u00033\u00033\u00033\u0003',
- '3\u00033\u00034\u00034\u00034\u00034\u00034\u00034\u00034\u00034\u0003',
- '4\u00034\u00035\u00035\u00035\u00035\u00035\u00035\u00036\u00036\u0003',
- '6\u00036\u00036\u00036\u00036\u00036\u00037\u00037\u00037\u00037\u0003',
- '7\u00037\u00037\u00037\u00037\u00037\u00037\u00038\u00038\u00038\u0003',
- '8\u00038\u00039\u00039\u00039\u00039\u00039\u00039\u0003:\u0003:\u0003',
- ':\u0003:\u0003:\u0003:\u0003:\u0003;\u0003;\u0003;\u0003;\u0003;\u0003',
- '<\u0003<\u0003<\u0003<\u0003<\u0003<\u0003<\u0003=\u0003=\u0003=\u0003',
- '=\u0003=\u0003=\u0003=\u0003>\u0003>\u0003>\u0003>\u0003>\u0003>\u0003',
- '>\u0003>\u0003>\u0003>\u0003>\u0003>\u0003?\u0003?\u0003?\u0003?\u0003',
- '?\u0003?\u0003?\u0003?\u0003?\u0003@\u0003@\u0003@\u0003@\u0003@\u0003',
- 'A\u0003A\u0003A\u0003A\u0003A\u0003A\u0003A\u0003B\u0003B\u0003B\u0003',
- 'C\u0003C\u0003C\u0003C\u0003C\u0003D\u0003D\u0003D\u0003D\u0003D\u0003',
- 'D\u0003D\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003',
- 'E\u0003F\u0003F\u0003F\u0003F\u0003F\u0003F\u0003G\u0003G\u0003G\u0003',
- 'G\u0003G\u0003G\u0003G\u0003H\u0003H\u0003H\u0003H\u0003H\u0003H\u0003',
- 'H\u0003I\u0003I\u0003I\u0003I\u0003I\u0003I\u0003J\u0003J\u0003J\u0003',
- 'J\u0003J\u0003J\u0003K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003',
- 'K\u0003K\u0003L\u0003L\u0003L\u0003L\u0003L\u0003M\u0003M\u0003M\u0003',
- 'M\u0003M\u0003M\u0003M\u0003N\u0003N\u0003N\u0003O\u0003O\u0003O\u0003',
- 'O\u0003O\u0003O\u0003O\u0003O\u0003P\u0003P\u0003P\u0003P\u0003P\u0003',
- 'P\u0003P\u0003P\u0003Q\u0003Q\u0003Q\u0003Q\u0003Q\u0003Q\u0003Q\u0003',
- 'Q\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003',
- 'S\u0003S\u0003S\u0003S\u0003S\u0003S\u0003S\u0003S\u0003S\u0003S\u0003',
- 'S\u0003S\u0005S\u0593\nS\u0003T\u0003T\u0003T\u0003T\u0003T\u0003T\u0003',
- 'T\u0003U\u0003U\u0003U\u0003U\u0003U\u0003U\u0003V\u0003V\u0003V\u0003',
- 'V\u0003V\u0003V\u0003V\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003',
- 'W\u0003W\u0003W\u0003W\u0003X\u0003X\u0003X\u0003X\u0003X\u0003Y\u0003',
- 'Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Z\u0003Z\u0003',
- 'Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003[\u0003[\u0003',
- '[\u0003[\u0003[\u0003[\u0003[\u0003[\u0003[\u0003[\u0003[\u0003[\u0003',
- '[\u0003[\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003',
- '\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003',
- '\\\u0003]\u0003]\u0003]\u0003]\u0003]\u0003^\u0003^\u0003^\u0003^\u0003',
- '^\u0003_\u0003_\u0003_\u0003_\u0003_\u0003_\u0003_\u0003_\u0003_\u0003',
- '`\u0003`\u0003`\u0003`\u0003`\u0003`\u0003`\u0003`\u0003`\u0003`\u0003',
- '`\u0003`\u0003`\u0003`\u0003`\u0003`\u0005`\u060d\n`\u0003a\u0003a\u0003',
- 'a\u0003a\u0003a\u0003a\u0003a\u0003b\u0003b\u0003b\u0003b\u0003b\u0003',
- 'c\u0003c\u0003c\u0003c\u0003c\u0003c\u0003c\u0003c\u0003d\u0003d\u0003',
- 'd\u0003d\u0003d\u0003d\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003',
- 'e\u0003f\u0003f\u0003f\u0003f\u0003g\u0003g\u0003g\u0003g\u0003g\u0003',
- 'h\u0003h\u0003h\u0003h\u0003h\u0003h\u0003h\u0003h\u0003i\u0003i\u0003',
- 'i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003j\u0003j\u0003',
- 'j\u0003j\u0003j\u0003j\u0003j\u0003k\u0003k\u0003k\u0003k\u0003k\u0003',
- 'k\u0003k\u0003k\u0003k\u0003k\u0003k\u0003k\u0003l\u0003l\u0003l\u0003',
- 'l\u0003l\u0003l\u0003l\u0003l\u0003l\u0003l\u0003m\u0003m\u0003m\u0003',
- 'm\u0003m\u0003m\u0003m\u0003n\u0003n\u0003n\u0003n\u0003n\u0003o\u0003',
- 'o\u0003o\u0003o\u0003o\u0003o\u0003o\u0003o\u0003p\u0003p\u0003p\u0003',
- 'p\u0003q\u0003q\u0003q\u0003q\u0003q\u0003r\u0003r\u0003r\u0003r\u0003',
- 'r\u0003r\u0003r\u0003s\u0003s\u0003s\u0003s\u0003s\u0003s\u0003s\u0003',
- 's\u0003s\u0003s\u0003t\u0003t\u0003t\u0003t\u0003t\u0003t\u0003t\u0003',
- 'u\u0003u\u0003u\u0003u\u0003u\u0003u\u0003u\u0003u\u0003u\u0003u\u0003',
- 'u\u0003v\u0003v\u0003v\u0003v\u0003v\u0003v\u0003v\u0003v\u0003w\u0003',
- 'w\u0003w\u0003w\u0003w\u0003w\u0003w\u0003w\u0003w\u0003w\u0003w\u0003',
- 'x\u0003x\u0003x\u0003x\u0003x\u0003x\u0003y\u0003y\u0003y\u0003y\u0003',
- 'y\u0003z\u0003z\u0003z\u0003z\u0003z\u0003z\u0003{\u0003{\u0003{\u0003',
- '{\u0003{\u0003|\u0003|\u0003|\u0003|\u0003|\u0003|\u0003}\u0003}\u0003',
- '}\u0003}\u0003}\u0003}\u0003}\u0003~\u0003~\u0003~\u0003~\u0003~\u0003',
- '~\u0003~\u0003~\u0003~\u0003~\u0003~\u0003\u007f\u0003\u007f\u0003\u007f',
- '\u0003\u007f\u0003\u007f\u0003\u007f\u0003\u007f\u0003\u007f\u0003\u007f',
- '\u0003\u007f\u0003\u007f\u0003\u007f\u0003\u0080\u0003\u0080\u0003\u0080',
- '\u0003\u0080\u0003\u0080\u0003\u0080\u0003\u0080\u0003\u0080\u0003\u0080',
- '\u0003\u0080\u0003\u0080\u0003\u0080\u0003\u0080\u0003\u0081\u0003\u0081',
- '\u0003\u0081\u0003\u0081\u0003\u0081\u0003\u0081\u0003\u0081\u0003\u0081',
- '\u0003\u0081\u0003\u0081\u0003\u0081\u0003\u0081\u0003\u0082\u0003\u0082',
- '\u0003\u0082\u0003\u0082\u0003\u0082\u0003\u0082\u0003\u0082\u0003\u0082',
- '\u0003\u0082\u0003\u0082\u0003\u0082\u0003\u0082\u0003\u0082\u0003\u0083',
- '\u0003\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0003\u0083',
- '\u0003\u0084\u0003\u0084\u0003\u0084\u0003\u0084\u0003\u0084\u0003\u0084',
- '\u0003\u0084\u0003\u0084\u0003\u0085\u0003\u0085\u0003\u0085\u0003\u0085',
- '\u0003\u0085\u0003\u0085\u0003\u0085\u0003\u0085\u0003\u0085\u0003\u0086',
- '\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0086',
- '\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0087',
- '\u0003\u0087\u0003\u0087\u0003\u0087\u0003\u0087\u0003\u0087\u0003\u0087',
- '\u0003\u0088\u0003\u0088\u0003\u0088\u0003\u0088\u0003\u0089\u0003\u0089',
- '\u0003\u0089\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008a',
- '\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008b\u0003\u008b\u0003\u008b',
- '\u0003\u008b\u0003\u008b\u0003\u008c\u0003\u008c\u0003\u008c\u0003\u008c',
- '\u0003\u008d\u0003\u008d\u0003\u008d\u0003\u008d\u0003\u008d\u0003\u008d',
- '\u0003\u008d\u0003\u008d\u0003\u008e\u0003\u008e\u0003\u008e\u0003\u008e',
- '\u0003\u008e\u0003\u008e\u0003\u008f\u0003\u008f\u0003\u008f\u0003\u008f',
- '\u0003\u008f\u0003\u008f\u0003\u008f\u0003\u0090\u0003\u0090\u0003\u0090',
- '\u0003\u0090\u0003\u0090\u0003\u0090\u0003\u0090\u0003\u0090\u0003\u0090',
- '\u0003\u0090\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091',
- '\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0092\u0003\u0092',
- '\u0003\u0092\u0003\u0092\u0003\u0092\u0003\u0092\u0003\u0093\u0003\u0093',
- '\u0003\u0093\u0003\u0093\u0003\u0093\u0003\u0094\u0003\u0094\u0003\u0094',
- '\u0003\u0094\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095',
- '\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0096\u0003\u0096\u0003\u0096',
- '\u0003\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0003\u0096',
- '\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097',
- '\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0098\u0003\u0098',
- '\u0003\u0098\u0003\u0098\u0003\u0098\u0003\u0098\u0003\u0098\u0003\u0098',
- '\u0003\u0098\u0003\u0098\u0003\u0098\u0003\u0099\u0003\u0099\u0003\u0099',
- '\u0003\u0099\u0003\u0099\u0003\u0099\u0003\u0099\u0003\u0099\u0003\u009a',
- '\u0003\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0003\u009b',
- '\u0003\u009b\u0003\u009b\u0003\u009b\u0003\u009b\u0003\u009c\u0003\u009c',
- '\u0003\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0003\u009c',
- '\u0003\u009c\u0003\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0003\u009d',
- '\u0003\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0003\u009d',
- '\u0003\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0003\u009e',
- '\u0003\u009e\u0003\u009e\u0003\u009e\u0003\u009e\u0003\u009e\u0003\u009e',
- '\u0003\u009e\u0003\u009e\u0003\u009e\u0003\u009e\u0003\u009e\u0003\u009e',
- '\u0003\u009f\u0003\u009f\u0003\u009f\u0003\u009f\u0003\u009f\u0003\u009f',
- '\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0',
- '\u0003\u00a0\u0003\u00a1\u0003\u00a1\u0003\u00a1\u0003\u00a1\u0003\u00a2',
- '\u0003\u00a2\u0003\u00a2\u0003\u00a2\u0003\u00a2\u0003\u00a2\u0003\u00a3',
- '\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3',
- '\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3',
- '\u0003\u00a3\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4',
- '\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4',
- '\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a5\u0003\u00a5\u0003\u00a5',
- '\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0003\u00a6',
- '\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a6',
- '\u0003\u00a7\u0003\u00a7\u0003\u00a7\u0003\u00a7\u0003\u00a7\u0003\u00a7',
- '\u0003\u00a7\u0003\u00a7\u0003\u00a8\u0003\u00a8\u0003\u00a8\u0003\u00a8',
- '\u0003\u00a8\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9',
- '\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00ab',
- '\u0003\u00ab\u0003\u00ab\u0003\u00ab\u0003\u00ab\u0003\u00ac\u0003\u00ac',
- '\u0003\u00ac\u0003\u00ac\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad',
- '\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ae\u0003\u00ae',
- '\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae',
- '\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00af\u0003\u00af',
- '\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00af',
- '\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00af',
- '\u0003\u00b0\u0003\u00b0\u0003\u00b0\u0003\u00b0\u0003\u00b1\u0003\u00b1',
- '\u0003\u00b1\u0003\u00b1\u0003\u00b1\u0003\u00b1\u0003\u00b1\u0003\u00b1',
- '\u0003\u00b1\u0003\u00b1\u0003\u00b1\u0003\u00b1\u0003\u00b1\u0003\u00b2',
- '\u0003\u00b2\u0003\u00b2\u0003\u00b2\u0003\u00b2\u0003\u00b3\u0003\u00b3',
- '\u0003\u00b3\u0003\u00b3\u0003\u00b3\u0003\u00b3\u0003\u00b3\u0003\u00b4',
- '\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b5\u0003\u00b5',
- '\u0003\u00b5\u0003\u00b5\u0003\u00b5\u0003\u00b5\u0003\u00b6\u0003\u00b6',
- '\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0003\u00b7\u0003\u00b7',
- '\u0003\u00b7\u0003\u00b7\u0003\u00b7\u0003\u00b7\u0003\u00b7\u0003\u00b7',
- '\u0003\u00b7\u0003\u00b7\u0003\u00b8\u0003\u00b8\u0003\u00b8\u0003\u00b8',
- '\u0003\u00b8\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00b9',
- '\u0003\u00b9\u0003\u00ba\u0003\u00ba\u0003\u00ba\u0003\u00bb\u0003\u00bb',
- '\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb',
- '\u0003\u00bb\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc',
- '\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bd',
- '\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd',
- '\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd',
- '\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be',
- '\u0003\u00be\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf',
- '\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00c0\u0003\u00c0\u0003\u00c0',
- '\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c1\u0003\u00c1\u0003\u00c1',
- '\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c2\u0003\u00c2',
- '\u0003\u00c2\u0003\u00c2\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3',
- '\u0003\u00c3\u0003\u00c4\u0003\u00c4\u0003\u00c4\u0003\u00c4\u0003\u00c4',
- '\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5',
- '\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6',
- '\u0003\u00c6\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7',
- '\u0003\u00c7\u0003\u00c7\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8',
- '\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8',
- '\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9',
- '\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00ca\u0003\u00ca',
- '\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca',
- '\u0003\u00ca\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb',
- '\u0003\u00cb\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc',
- '\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd',
- '\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce',
- '\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf',
- '\u0003\u00d0\u0003\u00d0\u0003\u00d0\u0003\u00d0\u0003\u00d0\u0003\u00d0',
- '\u0003\u00d0\u0003\u00d0\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1',
- '\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d2\u0003\u00d2\u0003\u00d2',
- '\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d3',
- '\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d4\u0003\u00d4',
- '\u0003\u00d4\u0003\u00d4\u0003\u00d4\u0003\u00d4\u0003\u00d4\u0003\u00d5',
- '\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d6',
- '\u0003\u00d6\u0003\u00d6\u0003\u00d6\u0003\u00d6\u0003\u00d6\u0003\u00d6',
- '\u0003\u00d6\u0003\u00d6\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7',
- '\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d8\u0003\u00d8\u0003\u00d8',
- '\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d9',
- '\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9',
- '\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9',
- '\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00da',
- '\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00da',
- '\u0003\u00da\u0003\u00db\u0003\u00db\u0003\u00db\u0003\u00db\u0003\u00db',
- '\u0003\u00dc\u0003\u00dc\u0003\u00dc\u0003\u00dc\u0003\u00dc\u0003\u00dc',
- '\u0003\u00dc\u0003\u00dc\u0003\u00dd\u0003\u00dd\u0003\u00dd\u0003\u00dd',
- '\u0003\u00dd\u0003\u00dd\u0003\u00de\u0003\u00de\u0003\u00de\u0003\u00de',
- '\u0003\u00de\u0003\u00de\u0003\u00de\u0003\u00de\u0003\u00df\u0003\u00df',
- '\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df',
- '\u0003\u00df\u0003\u00df\u0003\u00e0\u0003\u00e0\u0003\u00e0\u0003\u00e0',
- '\u0003\u00e0\u0003\u00e0\u0003\u00e0\u0003\u00e0\u0003\u00e1\u0003\u00e1',
- '\u0003\u00e1\u0003\u00e1\u0003\u00e1\u0003\u00e1\u0003\u00e1\u0003\u00e1',
- '\u0003\u00e1\u0003\u00e1\u0003\u00e1\u0003\u00e2\u0003\u00e2\u0003\u00e2',
- '\u0003\u00e2\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3',
- '\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e4\u0003\u00e4\u0003\u00e4',
- '\u0003\u00e4\u0003\u00e4\u0003\u00e4\u0003\u00e4\u0003\u00e5\u0003\u00e5',
- '\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5',
- '\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e6\u0003\u00e6',
- '\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6',
- '\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7',
- '\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7',
- '\u0003\u00e7\u0003\u00e7\u0003\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e8',
- '\u0003\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e9\u0003\u00e9\u0003\u00e9',
- '\u0003\u00e9\u0003\u00e9\u0003\u00e9\u0003\u00e9\u0003\u00e9\u0003\u00e9',
- '\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea',
- '\u0003\u00ea\u0003\u00ea\u0003\u00eb\u0003\u00eb\u0003\u00eb\u0003\u00eb',
- '\u0003\u00eb\u0003\u00eb\u0003\u00eb\u0003\u00ec\u0003\u00ec\u0003\u00ec',
- '\u0003\u00ec\u0003\u00ec\u0003\u00ec\u0003\u00ec\u0003\u00ed\u0003\u00ed',
- '\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ee\u0003\u00ee\u0003\u00ee',
- '\u0003\u00ee\u0003\u00ee\u0003\u00ee\u0003\u00ee\u0003\u00ee\u0003\u00ee',
- '\u0003\u00ee\u0003\u00ee\u0003\u00ee\u0003\u00ef\u0003\u00ef\u0003\u00ef',
- '\u0003\u00ef\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f0',
- '\u0003\u00f0\u0003\u00f0\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f1',
- '\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f1',
- '\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f2',
- '\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f3\u0003\u00f3',
- '\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0003\u00f3',
- '\u0003\u00f3\u0003\u00f3\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f4',
- '\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f5\u0003\u00f5',
- '\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5',
- '\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f6',
- '\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6',
- '\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6',
- '\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f7',
- '\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f8\u0003\u00f8',
- '\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f9\u0003\u00f9\u0003\u00f9',
- '\u0003\u00f9\u0003\u00f9\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa',
- '\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fb',
- '\u0003\u00fb\u0003\u00fb\u0003\u00fb\u0003\u00fb\u0003\u00fc\u0003\u00fc',
- '\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc',
- '\u0003\u00fc\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd',
- '\u0003\u00fd\u0003\u00fd\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe',
- '\u0003\u00fe\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0003\u00ff',
- '\u0003\u0100\u0003\u0100\u0003\u0100\u0003\u0100\u0003\u0100\u0003\u0100',
- '\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101',
- '\u0003\u0102\u0003\u0102\u0003\u0102\u0003\u0102\u0003\u0102\u0003\u0102',
- '\u0003\u0102\u0003\u0102\u0003\u0102\u0003\u0103\u0003\u0103\u0003\u0103',
- '\u0003\u0103\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104',
- '\u0003\u0104\u0003\u0104\u0003\u0105\u0003\u0105\u0003\u0105\u0003\u0105',
- '\u0003\u0105\u0003\u0105\u0003\u0106\u0003\u0106\u0003\u0106\u0003\u0106',
- '\u0003\u0106\u0003\u0106\u0003\u0107\u0003\u0107\u0003\u0107\u0003\u0107',
- '\u0003\u0107\u0003\u0107\u0003\u0107\u0003\u0107\u0003\u0107\u0003\u0107',
- '\u0003\u0107\u0003\u0108\u0003\u0108\u0003\u0108\u0003\u0108\u0003\u0108',
- '\u0003\u0108\u0003\u0108\u0003\u0108\u0003\u0109\u0003\u0109\u0003\u0109',
- '\u0003\u0109\u0003\u0109\u0003\u0109\u0003\u0109\u0003\u0109\u0003\u0109',
- '\u0003\u0109\u0003\u0109\u0003\u0109\u0003\u010a\u0003\u010a\u0003\u010a',
- '\u0003\u010a\u0003\u010a\u0003\u010a\u0003\u010a\u0003\u010a\u0003\u010a',
- '\u0003\u010a\u0003\u010a\u0003\u010a\u0003\u010a\u0003\u010b\u0003\u010b',
- '\u0003\u010b\u0003\u010b\u0003\u010b\u0003\u010b\u0003\u010b\u0003\u010b',
- '\u0003\u010c\u0003\u010c\u0003\u010c\u0003\u010c\u0003\u010c\u0003\u010c',
- '\u0003\u010c\u0003\u010c\u0003\u010c\u0003\u010c\u0003\u010c\u0003\u010c',
- '\u0003\u010c\u0003\u010c\u0003\u010d\u0003\u010d\u0003\u010d\u0003\u010d',
- '\u0003\u010d\u0003\u010d\u0003\u010d\u0003\u010d\u0003\u010d\u0003\u010d',
- '\u0003\u010d\u0003\u010d\u0003\u010d\u0003\u010d\u0003\u010d\u0003\u010e',
- '\u0003\u010e\u0003\u010e\u0003\u010e\u0003\u010e\u0003\u010f\u0003\u010f',
- '\u0003\u010f\u0003\u010f\u0003\u010f\u0003\u010f\u0003\u010f\u0003\u0110',
- '\u0003\u0110\u0003\u0110\u0003\u0110\u0003\u0110\u0003\u0110\u0003\u0110',
- '\u0003\u0111\u0003\u0111\u0003\u0111\u0003\u0111\u0003\u0111\u0003\u0111',
- '\u0003\u0111\u0003\u0111\u0003\u0111\u0003\u0111\u0003\u0111\u0005\u0111',
- '\u0b77\n\u0111\u0003\u0112\u0003\u0112\u0003\u0112\u0003\u0112\u0003',
- '\u0112\u0003\u0112\u0003\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0003',
- '\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0003\u0114\u0003\u0114\u0003',
- '\u0114\u0003\u0114\u0003\u0114\u0003\u0114\u0003\u0114\u0003\u0114\u0003',
- '\u0114\u0003\u0114\u0003\u0114\u0003\u0114\u0003\u0114\u0005\u0114\u0b94',
- '\n\u0114\u0003\u0115\u0003\u0115\u0003\u0115\u0003\u0115\u0003\u0115',
- '\u0003\u0115\u0003\u0115\u0003\u0115\u0003\u0115\u0003\u0115\u0003\u0115',
- '\u0005\u0115\u0ba1\n\u0115\u0003\u0116\u0003\u0116\u0003\u0116\u0003',
- '\u0116\u0003\u0116\u0003\u0116\u0003\u0116\u0003\u0116\u0003\u0116\u0005',
- '\u0116\u0bac\n\u0116\u0003\u0117\u0003\u0117\u0003\u0117\u0003\u0117',
- '\u0003\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0003\u0118',
- '\u0003\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0005\u0118',
- '\u0bbd\n\u0118\u0003\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003',
- '\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003',
- '\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0005\u0119\u0bce',
- '\n\u0119\u0003\u011a\u0003\u011a\u0003\u011a\u0003\u011a\u0003\u011a',
- '\u0003\u011a\u0003\u011a\u0003\u011a\u0003\u011a\u0003\u011a\u0003\u011a',
- '\u0003\u011a\u0003\u011a\u0003\u011a\u0003\u011a\u0005\u011a\u0bdf\n',
- '\u011a\u0003\u011b\u0003\u011b\u0003\u011b\u0003\u011b\u0003\u011b\u0003',
- '\u011b\u0003\u011c\u0003\u011c\u0003\u011c\u0003\u011c\u0003\u011c\u0003',
- '\u011c\u0003\u011c\u0003\u011c\u0003\u011c\u0003\u011c\u0003\u011c\u0003',
- '\u011c\u0003\u011d\u0003\u011d\u0003\u011d\u0003\u011d\u0003\u011d\u0003',
- '\u011d\u0003\u011d\u0003\u011e\u0003\u011e\u0003\u011e\u0003\u011e\u0003',
- '\u011e\u0003\u011e\u0003\u011e\u0003\u011e\u0003\u011e\u0003\u011f\u0003',
- '\u011f\u0003\u011f\u0003\u011f\u0003\u011f\u0003\u0120\u0003\u0120\u0003',
- '\u0120\u0003\u0120\u0003\u0120\u0003\u0121\u0003\u0121\u0003\u0121\u0003',
- '\u0121\u0003\u0121\u0003\u0121\u0003\u0122\u0003\u0122\u0003\u0122\u0003',
- '\u0122\u0003\u0122\u0003\u0122\u0003\u0122\u0003\u0122\u0003\u0122\u0003',
- '\u0122\u0003\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0003',
- '\u0123\u0003\u0124\u0003\u0124\u0003\u0124\u0003\u0124\u0003\u0124\u0003',
- '\u0124\u0003\u0124\u0003\u0124\u0003\u0124\u0003\u0125\u0003\u0125\u0003',
- '\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0003',
- '\u0125\u0003\u0125\u0003\u0125\u0003\u0126\u0003\u0126\u0003\u0126\u0003',
- '\u0126\u0003\u0126\u0003\u0126\u0003\u0127\u0003\u0127\u0003\u0127\u0003',
- '\u0127\u0003\u0127\u0003\u0127\u0003\u0127\u0003\u0127\u0003\u0128\u0003',
- '\u0128\u0003\u0128\u0003\u0128\u0003\u0128\u0003\u0128\u0003\u0128\u0003',
- '\u0128\u0003\u0129\u0003\u0129\u0003\u0129\u0003\u0129\u0003\u0129\u0003',
- '\u0129\u0003\u0129\u0003\u0129\u0003\u0129\u0003\u0129\u0003\u0129\u0003',
- '\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0003',
- '\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0003\u012b\u0003',
- '\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0003',
- '\u012b\u0003\u012b\u0003\u012c\u0003\u012c\u0003\u012c\u0003\u012c\u0003',
- '\u012c\u0003\u012c\u0003\u012c\u0003\u012c\u0003\u012c\u0003\u012d\u0003',
- '\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0003',
- '\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0003\u012e\u0003\u012e\u0003',
- '\u012e\u0003\u012e\u0003\u012e\u0003\u012f\u0003\u012f\u0003\u012f\u0003',
- '\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0003\u0130\u0003\u0130\u0003',
- '\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0131\u0003',
- '\u0131\u0003\u0131\u0003\u0131\u0003\u0132\u0003\u0132\u0003\u0132\u0003',
- '\u0132\u0003\u0132\u0003\u0132\u0003\u0133\u0003\u0133\u0003\u0133\u0003',
- '\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0134\u0003',
- '\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0135\u0003',
- '\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0136\u0003',
- '\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003',
- '\u0136\u0003\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003',
- '\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0139\u0003',
- '\u0139\u0003\u0139\u0003\u0139\u0003\u0139\u0003\u0139\u0003\u0139\u0003',
- '\u013a\u0003\u013a\u0003\u013a\u0003\u013a\u0003\u013a\u0003\u013a\u0003',
- '\u013a\u0003\u013a\u0003\u013a\u0003\u013a\u0003\u013a\u0003\u013a\u0003',
- '\u013a\u0003\u013a\u0003\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003',
- '\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003\u013c\u0003\u013c\u0003',
- '\u013c\u0003\u013c\u0003\u013c\u0003\u013c\u0003\u013c\u0003\u013c\u0003',
- '\u013c\u0003\u013d\u0003\u013d\u0003\u013d\u0003\u013d\u0003\u013d\u0003',
- '\u013d\u0003\u013d\u0003\u013d\u0003\u013d\u0003\u013d\u0003\u013d\u0003',
- '\u013e\u0003\u013e\u0003\u013e\u0003\u013e\u0003\u013e\u0003\u013e\u0003',
- '\u013e\u0003\u013f\u0003\u013f\u0003\u013f\u0003\u013f\u0003\u013f\u0003',
- '\u0140\u0003\u0140\u0003\u0140\u0003\u0140\u0003\u0140\u0003\u0140\u0003',
- '\u0140\u0003\u0140\u0003\u0140\u0003\u0141\u0003\u0141\u0003\u0141\u0003',
- '\u0141\u0003\u0141\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003',
- '\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003',
- '\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003',
- '\u0142\u0003\u0142\u0003\u0143\u0003\u0143\u0003\u0143\u0003\u0143\u0003',
- '\u0143\u0003\u0143\u0003\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003',
- '\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003\u0145\u0003',
- '\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003',
- '\u0145\u0003\u0146\u0003\u0146\u0003\u0146\u0003\u0146\u0003\u0146\u0003',
- '\u0146\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003',
- '\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0003\u0149\u0003',
- '\u0149\u0003\u0149\u0003\u014a\u0003\u014a\u0003\u014a\u0003\u014a\u0003',
- '\u014a\u0003\u014a\u0003\u014a\u0003\u014a\u0003\u014a\u0003\u014a\u0003',
- '\u014a\u0003\u014a\u0003\u014a\u0003\u014a\u0003\u014a\u0003\u014b\u0003',
- '\u014b\u0003\u014b\u0003\u014b\u0003\u014b\u0003\u014b\u0003\u014b\u0003',
- '\u014b\u0003\u014b\u0003\u014b\u0003\u014b\u0003\u014b\u0003\u014b\u0003',
- '\u014b\u0003\u014b\u0003\u014b\u0003\u014b\u0003\u014b\u0003\u014c\u0003',
- '\u014c\u0003\u014c\u0003\u014c\u0003\u014c\u0003\u014d\u0003\u014d\u0003',
- '\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003',
- '\u014e\u0003\u014e\u0003\u014e\u0003\u014e\u0003\u014e\u0003\u014e\u0003',
- '\u014e\u0003\u014e\u0003\u014e\u0003\u014f\u0003\u014f\u0003\u014f\u0003',
- '\u014f\u0003\u014f\u0003\u014f\u0003\u014f\u0003\u014f\u0003\u014f\u0003',
- '\u014f\u0003\u014f\u0003\u0150\u0003\u0150\u0003\u0150\u0003\u0150\u0003',
- '\u0150\u0003\u0150\u0003\u0150\u0003\u0151\u0003\u0151\u0003\u0151\u0003',
- '\u0151\u0003\u0151\u0003\u0151\u0003\u0151\u0003\u0151\u0003\u0152\u0003',
- '\u0152\u0003\u0152\u0003\u0152\u0003\u0152\u0003\u0152\u0003\u0152\u0003',
- '\u0152\u0003\u0152\u0003\u0152\u0003\u0153\u0003\u0153\u0003\u0153\u0003',
- '\u0153\u0003\u0153\u0003\u0153\u0003\u0153\u0003\u0153\u0003\u0153\u0003',
- '\u0153\u0003\u0153\u0003\u0153\u0003\u0154\u0003\u0154\u0003\u0154\u0003',
- '\u0154\u0003\u0154\u0003\u0155\u0003\u0155\u0003\u0155\u0003\u0155\u0003',
- '\u0155\u0003\u0155\u0003\u0155\u0003\u0155\u0003\u0155\u0003\u0155\u0003',
- '\u0155\u0003\u0155\u0003\u0155\u0003\u0156\u0003\u0156\u0003\u0156\u0003',
- '\u0156\u0003\u0156\u0003\u0156\u0003\u0156\u0003\u0156\u0003\u0156\u0003',
- '\u0157\u0003\u0157\u0003\u0157\u0003\u0157\u0003\u0157\u0003\u0157\u0003',
- '\u0157\u0003\u0158\u0003\u0158\u0003\u0158\u0003\u0158\u0003\u0159\u0003',
- '\u0159\u0003\u0159\u0003\u0159\u0003\u0159\u0003\u0159\u0003\u0159\u0003',
- '\u0159\u0003\u015a\u0003\u015a\u0003\u015a\u0003\u015a\u0003\u015a\u0003',
- '\u015a\u0003\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0003',
- '\u015c\u0003\u015c\u0003\u015c\u0003\u015c\u0003\u015d\u0003\u015d\u0003',
- '\u015d\u0003\u015d\u0003\u015d\u0003\u015e\u0003\u015e\u0003\u015e\u0003',
- '\u015e\u0003\u015e\u0003\u015e\u0003\u015e\u0003\u015e\u0003\u015e\u0003',
- '\u015f\u0003\u015f\u0003\u015f\u0003\u015f\u0003\u015f\u0003\u015f\u0003',
- '\u015f\u0003\u015f\u0003\u015f\u0003\u015f\u0003\u015f\u0003\u015f\u0003',
- '\u0160\u0003\u0160\u0003\u0160\u0003\u0160\u0003\u0160\u0003\u0160\u0003',
- '\u0160\u0003\u0160\u0003\u0160\u0003\u0160\u0003\u0161\u0003\u0161\u0003',
- '\u0161\u0003\u0161\u0003\u0161\u0003\u0161\u0003\u0161\u0003\u0162\u0003',
- '\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0003',
- '\u0162\u0003\u0162\u0003\u0163\u0003\u0163\u0003\u0163\u0003\u0163\u0003',
- '\u0163\u0003\u0163\u0003\u0163\u0003\u0163\u0003\u0163\u0003\u0163\u0003',
- '\u0164\u0003\u0164\u0003\u0164\u0003\u0164\u0003\u0164\u0003\u0164\u0003',
- '\u0164\u0003\u0164\u0003\u0164\u0003\u0165\u0003\u0165\u0003\u0165\u0003',
- '\u0165\u0003\u0165\u0003\u0165\u0003\u0165\u0003\u0165\u0003\u0166\u0003',
- '\u0166\u0003\u0166\u0003\u0166\u0003\u0166\u0003\u0166\u0003\u0167\u0003',
- '\u0167\u0003\u0167\u0003\u0167\u0003\u0167\u0003\u0168\u0003\u0168\u0003',
- '\u0168\u0003\u0169\u0003\u0169\u0003\u0169\u0003\u0169\u0003\u0169\u0003',
- '\u0169\u0003\u0169\u0003\u016a\u0003\u016a\u0003\u016a\u0003\u016a\u0003',
- '\u016a\u0003\u016a\u0003\u016a\u0003\u016b\u0003\u016b\u0003\u016b\u0003',
- '\u016b\u0003\u016b\u0003\u016b\u0003\u016b\u0003\u016b\u0003\u016b\u0003',
- '\u016b\u0003\u016c\u0003\u016c\u0003\u016c\u0003\u016c\u0003\u016c\u0003',
- '\u016d\u0003\u016d\u0003\u016d\u0003\u016d\u0003\u016d\u0003\u016d\u0003',
- '\u016d\u0003\u016e\u0003\u016e\u0003\u016e\u0003\u016e\u0003\u016e\u0003',
- '\u016e\u0003\u016e\u0003\u016e\u0003\u016e\u0003\u016e\u0003\u016f\u0003',
- '\u016f\u0003\u016f\u0003\u016f\u0003\u016f\u0003\u0170\u0003\u0170\u0003',
- '\u0171\u0003\u0171\u0003\u0172\u0003\u0172\u0003\u0173\u0003\u0173\u0003',
- '\u0174\u0003\u0174\u0003\u0175\u0003\u0175\u0003\u0176\u0003\u0176\u0003',
- '\u0177\u0003\u0177\u0003\u0178\u0003\u0178\u0003\u0179\u0003\u0179\u0003',
- '\u017a\u0003\u017a\u0003\u017a\u0005\u017a\u0e95\n\u017a\u0003\u017b',
- '\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017c\u0003\u017c\u0003\u017c',
- '\u0003\u017c\u0005\u017c\u0e9f\n\u017c\u0003\u017d\u0003\u017d\u0003',
- '\u017d\u0003\u017e\u0003\u017e\u0003\u017f\u0003\u017f\u0003\u017f\u0003',
- '\u0180\u0003\u0180\u0003\u0181\u0003\u0181\u0003\u0181\u0003\u0182\u0003',
- '\u0182\u0003\u0183\u0003\u0183\u0003\u0184\u0003\u0184\u0003\u0185\u0003',
- '\u0185\u0003\u0186\u0003\u0186\u0003\u0187\u0003\u0187\u0003\u0187\u0003',
- '\u0187\u0003\u0188\u0003\u0188\u0003\u0189\u0003\u0189\u0003\u018a\u0003',
- '\u018a\u0003\u018b\u0003\u018b\u0003\u018b\u0003\u018c\u0003\u018c\u0003',
- '\u018d\u0003\u018d\u0003\u018e\u0003\u018e\u0003\u018f\u0003\u018f\u0003',
- '\u0190\u0003\u0190\u0003\u0191\u0003\u0191\u0003\u0192\u0003\u0192\u0003',
- '\u0192\u0005\u0192\u0ed4\n\u0192\u0003\u0192\u0006\u0192\u0ed7\n\u0192',
- '\r\u0192\u000e\u0192\u0ed8\u0003\u0193\u0003\u0193\u0003\u0193\u0003',
- '\u0193\u0003\u0193\u0003\u0193\u0003\u0193\u0003\u0193\u0003\u0193\u0003',
- '\u0193\u0003\u0193\u0003\u0193\u0003\u0193\u0003\u0193\u0003\u0193\u0003',
- '\u0193\u0005\u0193\u0eeb\n\u0193\u0003\u0194\u0003\u0194\u0003\u0195',
- '\u0003\u0195\u0003\u0196\u0003\u0196\u0003\u0197\u0003\u0197\u0003\u0198',
- '\u0003\u0198\u0003\u0199\u0003\u0199\u0003\u019a\u0003\u019a\u0003\u019b',
- '\u0003\u019b\u0003\u019c\u0003\u019c\u0003\u019d\u0003\u019d\u0003\u019e',
- '\u0003\u019e\u0003\u019f\u0003\u019f\u0003\u01a0\u0003\u01a0\u0003\u01a1',
- '\u0003\u01a1\u0003\u01a2\u0003\u01a2\u0003\u01a3\u0003\u01a3\u0003\u01a4',
- '\u0003\u01a4\u0003\u01a5\u0003\u01a5\u0003\u01a6\u0003\u01a6\u0003\u01a7',
- '\u0003\u01a7\u0003\u01a8\u0003\u01a8\u0003\u01a9\u0003\u01a9\u0003\u01aa',
- '\u0003\u01aa\u0003\u01ab\u0003\u01ab\u0003\u01ac\u0003\u01ac\u0003\u01ad',
- '\u0003\u01ad\u0003\u01ae\u0003\u01ae\u0003\u01ae\u0003\u01ae\u0007\u01ae',
- '\u0f25\n\u01ae\f\u01ae\u000e\u01ae\u0f28\u000b\u01ae\u0003\u01ae\u0003',
- '\u01ae\u0003\u01ae\u0003\u01ae\u0003\u01ae\u0007\u01ae\u0f2f\n\u01ae',
- '\f\u01ae\u000e\u01ae\u0f32\u000b\u01ae\u0003\u01ae\u0006\u01ae\u0f35',
- '\n\u01ae\r\u01ae\u000e\u01ae\u0f36\u0003\u01af\u0003\u01af\u0003\u01af',
- '\u0003\u01af\u0003\u01af\u0006\u01af\u0f3e\n\u01af\r\u01af\u000e\u01af',
- '\u0f3f\u0005\u01af\u0f42\n\u01af\u0003\u01b0\u0006\u01b0\u0f45\n\u01b0',
- '\r\u01b0\u000e\u01b0\u0f46\u0003\u01b0\u0003\u01b0\u0003\u01b1\u0003',
- '\u01b1\u0003\u01b1\u0003\u01b1\u0005\u01b1\u0f4f\n\u01b1\u0003\u01b2',
- '\u0006\u01b2\u0f52\n\u01b2\r\u01b2\u000e\u01b2\u0f53\u0003\u01b2\u0003',
- '\u01b2\u0003\u01b3\u0006\u01b3\u0f59\n\u01b3\r\u01b3\u000e\u01b3\u0f5a',
- '\u0003\u01b3\u0003\u01b3\u0007\u01b3\u0f5f\n\u01b3\f\u01b3\u000e\u01b3',
- '\u0f62\u000b\u01b3\u0003\u01b3\u0005\u01b3\u0f65\n\u01b3\u0003\u01b3',
- '\u0005\u01b3\u0f68\n\u01b3\u0003\u01b4\u0003\u01b4\u0003\u01b4\u0006',
- '\u01b4\u0f6d\n\u01b4\r\u01b4\u000e\u01b4\u0f6e\u0003\u01b4\u0003\u01b4',
- '\u0003\u01b4\u0006\u01b4\u0f74\n\u01b4\r\u01b4\u000e\u01b4\u0f75\u0003',
- '\u01b4\u0003\u01b4\u0005\u01b4\u0f7a\n\u01b4\u0003\u01b5\u0003\u01b5',
- '\u0003\u01b5\u0003\u01b5\u0007\u01b5\u0f80\n\u01b5\f\u01b5\u000e\u01b5',
- '\u0f83\u000b\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b6\u0003\u01b6\u0003',
- '\u01b6\u0003\u01b6\u0006\u01b6\u0f8b\n\u01b6\r\u01b6\u000e\u01b6\u0f8c',
- '\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b8\u0003\u01b8',
- '\u0003\u01b8\u0003\u01b8\u0007\u01b8\u0f97\n\u01b8\f\u01b8\u000e\u01b8',
- '\u0f9a\u000b\u01b8\u0003\u01b8\u0003\u01b8\u0003\u01b9\u0003\u01b9\u0005',
- '\u01b9\u0fa0\n\u01b9\u0003\u01ba\u0003\u01ba\u0003\u01ba\u0003\u01ba',
- '\u0003\u01ba\u0003\u01ba\u0007\u01ba\u0fa8\n\u01ba\f\u01ba\u000e\u01ba',
- '\u0fab\u000b\u01ba\u0003\u01ba\u0003\u01ba\u0003\u01ba\u0003\u01ba\u0003',
- '\u01ba\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0007',
- '\u01bb\u0fb7\n\u01bb\f\u01bb\u000e\u01bb\u0fba\u000b\u01bb\u0003\u01bb',
- '\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0004\u0fa9\u0fb8\u0002',
- '\u01bc\u0003\u0003\u0005\u0004\u0007\u0005\t\u0006\u000b\u0007\r\b\u000f',
- '\t\u0011\n\u0013\u000b\u0015\f\u0017\r\u0019\u000e\u001b\u000f\u001d',
- "\u0010\u001f\u0011!\u0012#\u0013%\u0014\'\u0015)\u0016+\u0017-\u0018",
- '/\u00191\u001a3\u001b5\u001c7\u001d9\u001e;\u001f= ?!A"C#E$G%I&K\'',
- 'M(O)Q*S+U,W-Y.[/]0_1a2c3e4g5i6k7m8o9q:s;u{?}@\u007fA\u0081B\u0083',
- 'C\u0085D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093K\u0095L\u0097',
- 'M\u0099N\u009bO\u009dP\u009fQ\u00a1R\u00a3S\u00a5T\u00a7U\u00a9V\u00ab',
- 'W\u00adX\u00afY\u00b1Z\u00b3[\u00b5\\\u00b7]\u00b9^\u00bb_\u00bd`\u00bf',
- 'a\u00c1b\u00c3c\u00c5d\u00c7e\u00c9f\u00cbg\u00cdh\u00cfi\u00d1j\u00d3',
- 'k\u00d5l\u00d7m\u00d9n\u00dbo\u00ddp\u00dfq\u00e1r\u00e3s\u00e5t\u00e7',
- 'u\u00e9v\u00ebw\u00edx\u00efy\u00f1z\u00f3{\u00f5|\u00f7}\u00f9~\u00fb',
- '\u007f\u00fd\u0080\u00ff\u0081\u0101\u0082\u0103\u0083\u0105\u0084\u0107',
- '\u0085\u0109\u0086\u010b\u0087\u010d\u0088\u010f\u0089\u0111\u008a\u0113',
- '\u008b\u0115\u008c\u0117\u008d\u0119\u008e\u011b\u008f\u011d\u0090\u011f',
- '\u0091\u0121\u0092\u0123\u0093\u0125\u0094\u0127\u0095\u0129\u0096\u012b',
- '\u0097\u012d\u0098\u012f\u0099\u0131\u009a\u0133\u009b\u0135\u009c\u0137',
- '\u009d\u0139\u009e\u013b\u009f\u013d\u00a0\u013f\u00a1\u0141\u00a2\u0143',
- '\u00a3\u0145\u00a4\u0147\u00a5\u0149\u00a6\u014b\u00a7\u014d\u00a8\u014f',
- '\u00a9\u0151\u00aa\u0153\u00ab\u0155\u00ac\u0157\u00ad\u0159\u00ae\u015b',
- '\u00af\u015d\u00b0\u015f\u00b1\u0161\u00b2\u0163\u00b3\u0165\u00b4\u0167',
- '\u00b5\u0169\u00b6\u016b\u00b7\u016d\u00b8\u016f\u00b9\u0171\u00ba\u0173',
- '\u00bb\u0175\u00bc\u0177\u00bd\u0179\u00be\u017b\u00bf\u017d\u00c0\u017f',
- '\u00c1\u0181\u00c2\u0183\u00c3\u0185\u00c4\u0187\u00c5\u0189\u00c6\u018b',
- '\u00c7\u018d\u00c8\u018f\u00c9\u0191\u00ca\u0193\u00cb\u0195\u00cc\u0197',
- '\u00cd\u0199\u00ce\u019b\u00cf\u019d\u00d0\u019f\u00d1\u01a1\u00d2\u01a3',
- '\u00d3\u01a5\u00d4\u01a7\u00d5\u01a9\u00d6\u01ab\u00d7\u01ad\u00d8\u01af',
- '\u00d9\u01b1\u00da\u01b3\u00db\u01b5\u00dc\u01b7\u00dd\u01b9\u00de\u01bb',
- '\u00df\u01bd\u00e0\u01bf\u00e1\u01c1\u00e2\u01c3\u00e3\u01c5\u00e4\u01c7',
- '\u00e5\u01c9\u00e6\u01cb\u00e7\u01cd\u00e8\u01cf\u00e9\u01d1\u00ea\u01d3',
- '\u00eb\u01d5\u00ec\u01d7\u00ed\u01d9\u00ee\u01db\u00ef\u01dd\u00f0\u01df',
- '\u00f1\u01e1\u00f2\u01e3\u00f3\u01e5\u00f4\u01e7\u00f5\u01e9\u00f6\u01eb',
- '\u00f7\u01ed\u00f8\u01ef\u00f9\u01f1\u00fa\u01f3\u00fb\u01f5\u00fc\u01f7',
- '\u00fd\u01f9\u00fe\u01fb\u00ff\u01fd\u0100\u01ff\u0101\u0201\u0102\u0203',
- '\u0103\u0205\u0104\u0207\u0105\u0209\u0106\u020b\u0107\u020d\u0108\u020f',
- '\u0109\u0211\u010a\u0213\u010b\u0215\u010c\u0217\u010d\u0219\u010e\u021b',
- '\u010f\u021d\u0110\u021f\u0111\u0221\u0112\u0223\u0113\u0225\u0114\u0227',
- '\u0115\u0229\u0116\u022b\u0117\u022d\u0118\u022f\u0119\u0231\u011a\u0233',
- '\u011b\u0235\u011c\u0237\u011d\u0239\u011e\u023b\u011f\u023d\u0120\u023f',
- '\u0121\u0241\u0122\u0243\u0123\u0245\u0124\u0247\u0125\u0249\u0126\u024b',
- '\u0127\u024d\u0128\u024f\u0129\u0251\u012a\u0253\u012b\u0255\u012c\u0257',
- '\u012d\u0259\u012e\u025b\u012f\u025d\u0130\u025f\u0131\u0261\u0132\u0263',
- '\u0133\u0265\u0134\u0267\u0135\u0269\u0136\u026b\u0137\u026d\u0138\u026f',
- '\u0139\u0271\u013a\u0273\u013b\u0275\u013c\u0277\u013d\u0279\u013e\u027b',
- '\u013f\u027d\u0140\u027f\u0141\u0281\u0142\u0283\u0143\u0285\u0144\u0287',
- '\u0145\u0289\u0146\u028b\u0147\u028d\u0148\u028f\u0149\u0291\u014a\u0293',
- '\u014b\u0295\u014c\u0297\u014d\u0299\u014e\u029b\u014f\u029d\u0150\u029f',
- '\u0151\u02a1\u0152\u02a3\u0153\u02a5\u0154\u02a7\u0155\u02a9\u0156\u02ab',
- '\u0157\u02ad\u0158\u02af\u0159\u02b1\u015a\u02b3\u015b\u02b5\u015c\u02b7',
- '\u015d\u02b9\u015e\u02bb\u015f\u02bd\u0160\u02bf\u0161\u02c1\u0162\u02c3',
- '\u0163\u02c5\u0164\u02c7\u0165\u02c9\u0166\u02cb\u0167\u02cd\u0168\u02cf',
- '\u0169\u02d1\u016a\u02d3\u016b\u02d5\u016c\u02d7\u016d\u02d9\u016e\u02db',
- '\u016f\u02dd\u0170\u02df\u0171\u02e1\u0172\u02e3\u0173\u02e5\u0174\u02e7',
- '\u0175\u02e9\u0176\u02eb\u0177\u02ed\u0178\u02ef\u0179\u02f1\u017a\u02f3',
- '\u017b\u02f5\u017c\u02f7\u017d\u02f9\u017e\u02fb\u017f\u02fd\u0180\u02ff',
- '\u0181\u0301\u0182\u0303\u0183\u0305\u0184\u0307\u0185\u0309\u0186\u030b',
- '\u0187\u030d\u0188\u030f\u0189\u0311\u018a\u0313\u018b\u0315\u018c\u0317',
- '\u018d\u0319\u018e\u031b\u018f\u031d\u0002\u031f\u0002\u0321\u0002\u0323',
- '\u0002\u0325\u0002\u0327\u0002\u0329\u0002\u032b\u0002\u032d\u0002\u032f',
- '\u0002\u0331\u0002\u0333\u0002\u0335\u0002\u0337\u0002\u0339\u0002\u033b',
- '\u0002\u033d\u0002\u033f\u0002\u0341\u0002\u0343\u0002\u0345\u0002\u0347',
- '\u0002\u0349\u0002\u034b\u0002\u034d\u0002\u034f\u0002\u0351\u0002\u0353',
- '\u0002\u0355\u0002\u0357\u0002\u0359\u0002\u035b\u0190\u035d\u0191\u035f',
- '\u0192\u0361\u0193\u0363\u0194\u0365\u0195\u0367\u0196\u0369\u0197\u036b',
- '\u0198\u036d\u0199\u036f\u019a\u0371\u019b\u0373\u019c\u0375\u019d\u0003',
- "\u0002\'\u0004\u0002C\\c|\u0004\u0002CHch\u0004\u0002GGgg\u0006\u0002",
- '2;C\\aac|\u0004\u0002CCcc\u0004\u0002DDdd\u0004\u0002EEee\u0004\u0002',
- 'FFff\u0004\u0002HHhh\u0004\u0002IIii\u0004\u0002JJjj\u0004\u0002KKk',
- 'k\u0004\u0002LLll\u0004\u0002MMmm\u0004\u0002NNnn\u0004\u0002OOoo\u0004',
- '\u0002PPpp\u0004\u0002QQqq\u0004\u0002RRrr\u0004\u0002SSss\u0004\u0002',
- 'TTtt\u0004\u0002UUuu\u0004\u0002VVvv\u0004\u0002WWww\u0004\u0002XXx',
- 'x\u0004\u0002YYyy\u0004\u0002ZZzz\u0004\u0002[[{{\u0004\u0002\\\\||',
- '\u0004\u0002))^^\u0004\u0002$$^^\u0005\u0002NNUU[[\n\u0002DDIIMMOOd',
- 'diimmoo\u0003\u0002bb\u0005\u0002/0<\u0003\u0002\u0002\u0002',
- '\u0424\u0425\u0005\u0339\u019d\u0002\u0425\u0426\u0005\u0343\u01a2\u0002',
- '\u0426\u0427\u0005\u0337\u019c\u0002\u0427\u0428\u0005\u0341\u01a1\u0002',
- '\u0428@\u0003\u0002\u0002\u0002\u0429\u042a\u0005\u033d\u019f\u0002',
- '\u042a\u042b\u0005\u032f\u0198\u0002\u042b\u042c\u0005\u0331\u0199\u0002',
- '\u042c\u042d\u0005\u034d\u01a7\u0002\u042dB\u0003\u0002\u0002\u0002',
- '\u042e\u042f\u0005\u0349\u01a5\u0002\u042f\u0430\u0005\u0337\u019c\u0002',
- '\u0430\u0431\u0005\u0333\u019a\u0002\u0431\u0432\u0005\u0335\u019b\u0002',
- '\u0432\u0433\u0005\u034d\u01a7\u0002\u0433D\u0003\u0002\u0002\u0002',
- '\u0434\u0435\u0005\u0331\u0199\u0002\u0435\u0436\u0005\u034f\u01a8\u0002',
- '\u0436\u0437\u0005\u033d\u019f\u0002\u0437\u0438\u0005\u033d\u019f\u0002',
- '\u0438F\u0003\u0002\u0002\u0002\u0439\u043a\u0005\u0343\u01a2\u0002',
- '\u043a\u043b\u0005\u0341\u01a1\u0002\u043bH\u0003\u0002\u0002\u0002',
- '\u043c\u043d\u0005\u0345\u01a3\u0002\u043d\u043e\u0005\u0327\u0194\u0002',
- '\u043e\u043f\u0005\u0349\u01a5\u0002\u043f\u0440\u0005\u034d\u01a7\u0002',
- '\u0440\u0441\u0005\u0337\u019c\u0002\u0441\u0442\u0005\u034d\u01a7\u0002',
- '\u0442\u0443\u0005\u0337\u019c\u0002\u0443\u0444\u0005\u0343\u01a2\u0002',
- '\u0444\u0445\u0005\u0341\u01a1\u0002\u0445J\u0003\u0002\u0002\u0002',
- '\u0446\u0447\u0005\u0345\u01a3\u0002\u0447\u0448\u0005\u0327\u0194\u0002',
- '\u0448\u0449\u0005\u0349\u01a5\u0002\u0449\u044a\u0005\u034d\u01a7\u0002',
- '\u044a\u044b\u0005\u0337\u019c\u0002\u044b\u044c\u0005\u034d\u01a7\u0002',
- '\u044c\u044d\u0005\u0337\u019c\u0002\u044d\u044e\u0005\u0343\u01a2\u0002',
- '\u044e\u044f\u0005\u0341\u01a1\u0002\u044f\u0450\u0005\u034b\u01a6\u0002',
- '\u0450L\u0003\u0002\u0002\u0002\u0451\u0452\u0005\u034d\u01a7\u0002',
- '\u0452\u0453\u0005\u0327\u0194\u0002\u0453\u0454\u0005\u0329\u0195\u0002',
- '\u0454\u0455\u0005\u033d\u019f\u0002\u0455\u0456\u0005\u032f\u0198\u0002',
- '\u0456N\u0003\u0002\u0002\u0002\u0457\u0458\u0005\u034d\u01a7\u0002',
- '\u0458\u0459\u0005\u0327\u0194\u0002\u0459\u045a\u0005\u0329\u0195\u0002',
- '\u045a\u045b\u0005\u033d\u019f\u0002\u045b\u045c\u0005\u032f\u0198\u0002',
- '\u045c\u045d\u0005\u034b\u01a6\u0002\u045dP\u0003\u0002\u0002\u0002',
- '\u045e\u045f\u0005\u034d\u01a7\u0002\u045f\u0460\u0005\u0327\u0194\u0002',
- '\u0460\u0461\u0005\u0333\u019a\u0002\u0461\u0462\u0005\u034b\u01a6\u0002',
- '\u0462R\u0003\u0002\u0002\u0002\u0463\u0464\u0005\u032b\u0196\u0002',
- '\u0464\u0465\u0005\u0343\u01a2\u0002\u0465\u0466\u0005\u033d\u019f\u0002',
- '\u0466\u0467\u0005\u034f\u01a8\u0002\u0467\u0468\u0005\u033f\u01a0\u0002',
- '\u0468\u0469\u0005\u0341\u01a1\u0002\u0469\u046a\u0005\u034b\u01a6\u0002',
- '\u046aT\u0003\u0002\u0002\u0002\u046b\u046c\u0005\u0337\u019c\u0002',
- '\u046c\u046d\u0005\u0341\u01a1\u0002\u046d\u046e\u0005\u032d\u0197\u0002',
- '\u046e\u046f\u0005\u032f\u0198\u0002\u046f\u0470\u0005\u0355\u01ab\u0002',
- '\u0470V\u0003\u0002\u0002\u0002\u0471\u0472\u0005\u0337\u019c\u0002',
- '\u0472\u0473\u0005\u0341\u01a1\u0002\u0473\u0474\u0005\u032d\u0197\u0002',
- '\u0474\u0475\u0005\u032f\u0198\u0002\u0475\u0476\u0005\u0355\u01ab\u0002',
- '\u0476\u0477\u0005\u032f\u0198\u0002\u0477\u0478\u0005\u034b\u01a6\u0002',
- '\u0478X\u0003\u0002\u0002\u0002\u0479\u047a\u0005\u0349\u01a5\u0002',
- '\u047a\u047b\u0005\u032f\u0198\u0002\u047b\u047c\u0005\u0329\u0195\u0002',
- '\u047c\u047d\u0005\u034f\u01a8\u0002\u047d\u047e\u0005\u0337\u019c\u0002',
- '\u047e\u047f\u0005\u033d\u019f\u0002\u047f\u0480\u0005\u032d\u0197\u0002',
- '\u0480Z\u0003\u0002\u0002\u0002\u0481\u0482\u0005\u0331\u0199\u0002',
- '\u0482\u0483\u0005\u034f\u01a8\u0002\u0483\u0484\u0005\u0341\u01a1\u0002',
- '\u0484\u0485\u0005\u032b\u0196\u0002\u0485\u0486\u0005\u034d\u01a7\u0002',
- '\u0486\u0487\u0005\u0337\u019c\u0002\u0487\u0488\u0005\u0343\u01a2\u0002',
- '\u0488\u0489\u0005\u0341\u01a1\u0002\u0489\u048a\u0005\u034b\u01a6\u0002',
- '\u048a\\\u0003\u0002\u0002\u0002\u048b\u048c\u0005\u034b\u01a6\u0002',
- '\u048c\u048d\u0005\u0335\u019b\u0002\u048d\u048e\u0005\u0343\u01a2\u0002',
- '\u048e\u048f\u0005\u0353\u01aa\u0002\u048f^\u0003\u0002\u0002\u0002',
- '\u0490\u0491\u0005\u033f\u01a0\u0002\u0491\u0492\u0005\u034b\u01a6\u0002',
- '\u0492\u0493\u0005\u032b\u0196\u0002\u0493\u0494\u0005\u033b\u019e\u0002',
- '\u0494`\u0003\u0002\u0002\u0002\u0495\u0496\u0005\u0349\u01a5\u0002',
- '\u0496\u0497\u0005\u032f\u0198\u0002\u0497\u0498\u0005\u0345\u01a3\u0002',
- '\u0498\u0499\u0005\u0327\u0194\u0002\u0499\u049a\u0005\u0337\u019c\u0002',
- '\u049a\u049b\u0005\u0349\u01a5\u0002\u049bb\u0003\u0002\u0002\u0002',
- '\u049c\u049d\u0005\u032d\u0197\u0002\u049d\u049e\u0005\u0337\u019c\u0002',
- '\u049e\u049f\u0005\u0349\u01a5\u0002\u049f\u04a0\u0005\u032f\u0198\u0002',
- '\u04a0\u04a1\u0005\u032b\u0196\u0002\u04a1\u04a2\u0005\u034d\u01a7\u0002',
- '\u04a2\u04a3\u0005\u0343\u01a2\u0002\u04a3\u04a4\u0005\u0349\u01a5\u0002',
- '\u04a4\u04a5\u0005\u0357\u01ac\u0002\u04a5d\u0003\u0002\u0002\u0002',
- '\u04a6\u04a7\u0005\u033d\u019f\u0002\u04a7\u04a8\u0005\u0343\u01a2\u0002',
- '\u04a8\u04a9\u0005\u032b\u0196\u0002\u04a9\u04aa\u0005\u0327\u0194\u0002',
- '\u04aa\u04ab\u0005\u033d\u019f\u0002\u04abf\u0003\u0002\u0002\u0002',
- '\u04ac\u04ad\u0005\u034d\u01a7\u0002\u04ad\u04ae\u0005\u0349\u01a5\u0002',
- '\u04ae\u04af\u0005\u0327\u0194\u0002\u04af\u04b0\u0005\u0341\u01a1\u0002',
- '\u04b0\u04b1\u0005\u034b\u01a6\u0002\u04b1\u04b2\u0005\u0331\u0199\u0002',
- '\u04b2\u04b3\u0005\u0343\u01a2\u0002\u04b3\u04b4\u0005\u0349\u01a5\u0002',
- '\u04b4\u04b5\u0005\u033f\u01a0\u0002\u04b5h\u0003\u0002\u0002\u0002',
- '\u04b6\u04b7\u0005\u034f\u01a8\u0002\u04b7\u04b8\u0005\u034b\u01a6\u0002',
- '\u04b8\u04b9\u0005\u0337\u019c\u0002\u04b9\u04ba\u0005\u0341\u01a1\u0002',
- '\u04ba\u04bb\u0005\u0333\u019a\u0002\u04bbj\u0003\u0002\u0002\u0002',
- '\u04bc\u04bd\u0005\u032b\u0196\u0002\u04bd\u04be\u0005\u033d\u019f\u0002',
- '\u04be\u04bf\u0005\u034f\u01a8\u0002\u04bf\u04c0\u0005\u034b\u01a6\u0002',
- '\u04c0\u04c1\u0005\u034d\u01a7\u0002\u04c1\u04c2\u0005\u032f\u0198\u0002',
- '\u04c2\u04c3\u0005\u0349\u01a5\u0002\u04c3l\u0003\u0002\u0002\u0002',
- '\u04c4\u04c5\u0005\u032d\u0197\u0002\u04c5\u04c6\u0005\u0337\u019c\u0002',
- '\u04c6\u04c7\u0005\u034b\u01a6\u0002\u04c7\u04c8\u0005\u034d\u01a7\u0002',
- '\u04c8\u04c9\u0005\u0349\u01a5\u0002\u04c9\u04ca\u0005\u0337\u019c\u0002',
- '\u04ca\u04cb\u0005\u0329\u0195\u0002\u04cb\u04cc\u0005\u034f\u01a8\u0002',
- '\u04cc\u04cd\u0005\u034d\u01a7\u0002\u04cd\u04ce\u0005\u032f\u0198\u0002',
- '\u04cen\u0003\u0002\u0002\u0002\u04cf\u04d0\u0005\u034b\u01a6\u0002',
- '\u04d0\u04d1\u0005\u0343\u01a2\u0002\u04d1\u04d2\u0005\u0349\u01a5\u0002',
- '\u04d2\u04d3\u0005\u034d\u01a7\u0002\u04d3p\u0003\u0002\u0002\u0002',
- '\u04d4\u04d5\u0005\u034f\u01a8\u0002\u04d5\u04d6\u0005\u0341\u01a1\u0002',
- '\u04d6\u04d7\u0005\u0337\u019c\u0002\u04d7\u04d8\u0005\u0343\u01a2\u0002',
- '\u04d8\u04d9\u0005\u0341\u01a1\u0002\u04d9r\u0003\u0002\u0002\u0002',
- '\u04da\u04db\u0005\u032f\u0198\u0002\u04db\u04dc\u0005\u0355\u01ab\u0002',
- '\u04dc\u04dd\u0005\u032b\u0196\u0002\u04dd\u04de\u0005\u032f\u0198\u0002',
- '\u04de\u04df\u0005\u0345\u01a3\u0002\u04df\u04e0\u0005\u034d\u01a7\u0002',
- '\u04e0t\u0003\u0002\u0002\u0002\u04e1\u04e2\u0005\u033d\u019f\u0002',
- '\u04e2\u04e3\u0005\u0343\u01a2\u0002\u04e3\u04e4\u0005\u0327\u0194\u0002',
- '\u04e4\u04e5\u0005\u032d\u0197\u0002\u04e5v\u0003\u0002\u0002\u0002',
- '\u04e6\u04e7\u0005\u032f\u0198\u0002\u04e7\u04e8\u0005\u0355\u01ab\u0002',
- '\u04e8\u04e9\u0005\u0345\u01a3\u0002\u04e9\u04ea\u0005\u0343\u01a2\u0002',
- '\u04ea\u04eb\u0005\u0349\u01a5\u0002\u04eb\u04ec\u0005\u034d\u01a7\u0002',
- '\u04ecx\u0003\u0002\u0002\u0002\u04ed\u04ee\u0005\u0337\u019c\u0002',
- '\u04ee\u04ef\u0005\u033f\u01a0\u0002\u04ef\u04f0\u0005\u0345\u01a3\u0002',
- '\u04f0\u04f1\u0005\u0343\u01a2\u0002\u04f1\u04f2\u0005\u0349\u01a5\u0002',
- '\u04f2\u04f3\u0005\u034d\u01a7\u0002\u04f3z\u0003\u0002\u0002\u0002',
- '\u04f4\u04f5\u0005\u0349\u01a5\u0002\u04f5\u04f6\u0005\u032f\u0198\u0002',
- '\u04f6\u04f7\u0005\u0345\u01a3\u0002\u04f7\u04f8\u0005\u033d\u019f\u0002',
- '\u04f8\u04f9\u0005\u0337\u019c\u0002\u04f9\u04fa\u0005\u032b\u0196\u0002',
- '\u04fa\u04fb\u0005\u0327\u0194\u0002\u04fb\u04fc\u0005\u034d\u01a7\u0002',
- '\u04fc\u04fd\u0005\u0337\u019c\u0002\u04fd\u04fe\u0005\u0343\u01a2\u0002',
- '\u04fe\u04ff\u0005\u0341\u01a1\u0002\u04ff|\u0003\u0002\u0002\u0002',
- '\u0500\u0501\u0005\u033f\u01a0\u0002\u0501\u0502\u0005\u032f\u0198\u0002',
- '\u0502\u0503\u0005\u034d\u01a7\u0002\u0503\u0504\u0005\u0327\u0194\u0002',
- '\u0504\u0505\u0005\u032d\u0197\u0002\u0505\u0506\u0005\u0327\u0194\u0002',
- '\u0506\u0507\u0005\u034d\u01a7\u0002\u0507\u0508\u0005\u0327\u0194\u0002',
- '\u0508~\u0003\u0002\u0002\u0002\u0509\u050a\u0005\u032d\u0197\u0002',
- '\u050a\u050b\u0005\u0327\u0194\u0002\u050b\u050c\u0005\u034d\u01a7\u0002',
- '\u050c\u050d\u0005\u0327\u0194\u0002\u050d\u0080\u0003\u0002\u0002\u0002',
- '\u050e\u050f\u0005\u0337\u019c\u0002\u050f\u0510\u0005\u0341\u01a1\u0002',
- '\u0510\u0511\u0005\u0345\u01a3\u0002\u0511\u0512\u0005\u0327\u0194\u0002',
- '\u0512\u0513\u0005\u034d\u01a7\u0002\u0513\u0514\u0005\u0335\u019b\u0002',
- '\u0514\u0082\u0003\u0002\u0002\u0002\u0515\u0516\u0005\u0337\u019c\u0002',
- '\u0516\u0517\u0005\u034b\u01a6\u0002\u0517\u0084\u0003\u0002\u0002\u0002',
- '\u0518\u0519\u0005\u0341\u01a1\u0002\u0519\u051a\u0005\u034f\u01a8\u0002',
- '\u051a\u051b\u0005\u033d\u019f\u0002\u051b\u051c\u0005\u033d\u019f\u0002',
- '\u051c\u0086\u0003\u0002\u0002\u0002\u051d\u051e\u0005\u032b\u0196\u0002',
- '\u051e\u051f\u0005\u0349\u01a5\u0002\u051f\u0520\u0005\u032f\u0198\u0002',
- '\u0520\u0521\u0005\u0327\u0194\u0002\u0521\u0522\u0005\u034d\u01a7\u0002',
- '\u0522\u0523\u0005\u032f\u0198\u0002\u0523\u0088\u0003\u0002\u0002\u0002',
- '\u0524\u0525\u0005\u032f\u0198\u0002\u0525\u0526\u0005\u0355\u01ab\u0002',
- '\u0526\u0527\u0005\u034d\u01a7\u0002\u0527\u0528\u0005\u032f\u0198\u0002',
- '\u0528\u0529\u0005\u0349\u01a5\u0002\u0529\u052a\u0005\u0341\u01a1\u0002',
- '\u052a\u052b\u0005\u0327\u0194\u0002\u052b\u052c\u0005\u033d\u019f\u0002',
- '\u052c\u008a\u0003\u0002\u0002\u0002\u052d\u052e\u0005\u0327\u0194\u0002',
- '\u052e\u052f\u0005\u033d\u019f\u0002\u052f\u0530\u0005\u034d\u01a7\u0002',
- '\u0530\u0531\u0005\u032f\u0198\u0002\u0531\u0532\u0005\u0349\u01a5\u0002',
- '\u0532\u008c\u0003\u0002\u0002\u0002\u0533\u0534\u0005\u032b\u0196\u0002',
- '\u0534\u0535\u0005\u0335\u019b\u0002\u0535\u0536\u0005\u0327\u0194\u0002',
- '\u0536\u0537\u0005\u0341\u01a1\u0002\u0537\u0538\u0005\u0333\u019a\u0002',
- '\u0538\u0539\u0005\u032f\u0198\u0002\u0539\u008e\u0003\u0002\u0002\u0002',
- '\u053a\u053b\u0005\u032b\u0196\u0002\u053b\u053c\u0005\u0343\u01a2\u0002',
- '\u053c\u053d\u0005\u033d\u019f\u0002\u053d\u053e\u0005\u034f\u01a8\u0002',
- '\u053e\u053f\u0005\u033f\u01a0\u0002\u053f\u0540\u0005\u0341\u01a1\u0002',
- '\u0540\u0090\u0003\u0002\u0002\u0002\u0541\u0542\u0005\u0331\u0199\u0002',
- '\u0542\u0543\u0005\u0337\u019c\u0002\u0543\u0544\u0005\u0349\u01a5\u0002',
- '\u0544\u0545\u0005\u034b\u01a6\u0002\u0545\u0546\u0005\u034d\u01a7\u0002',
- '\u0546\u0092\u0003\u0002\u0002\u0002\u0547\u0548\u0005\u0327\u0194\u0002',
- '\u0548\u0549\u0005\u0331\u0199\u0002\u0549\u054a\u0005\u034d\u01a7\u0002',
- '\u054a\u054b\u0005\u032f\u0198\u0002\u054b\u054c\u0005\u0349\u01a5\u0002',
- '\u054c\u0094\u0003\u0002\u0002\u0002\u054d\u054e\u0005\u032d\u0197\u0002',
- '\u054e\u054f\u0005\u032f\u0198\u0002\u054f\u0550\u0005\u034b\u01a6\u0002',
- '\u0550\u0551\u0005\u032b\u0196\u0002\u0551\u0552\u0005\u0349\u01a5\u0002',
- '\u0552\u0553\u0005\u0337\u019c\u0002\u0553\u0554\u0005\u0329\u0195\u0002',
- '\u0554\u0555\u0005\u032f\u0198\u0002\u0555\u0096\u0003\u0002\u0002\u0002',
- '\u0556\u0557\u0005\u032d\u0197\u0002\u0557\u0558\u0005\u0349\u01a5\u0002',
- '\u0558\u0559\u0005\u0343\u01a2\u0002\u0559\u055a\u0005\u0345\u01a3\u0002',
- '\u055a\u0098\u0003\u0002\u0002\u0002\u055b\u055c\u0005\u0349\u01a5\u0002',
- '\u055c\u055d\u0005\u032f\u0198\u0002\u055d\u055e\u0005\u0341\u01a1\u0002',
- '\u055e\u055f\u0005\u0327\u0194\u0002\u055f\u0560\u0005\u033f\u01a0\u0002',
- '\u0560\u0561\u0005\u032f\u0198\u0002\u0561\u009a\u0003\u0002\u0002\u0002',
- '\u0562\u0563\u0005\u034d\u01a7\u0002\u0563\u0564\u0005\u0343\u01a2\u0002',
- '\u0564\u009c\u0003\u0002\u0002\u0002\u0565\u0566\u0005\u032b\u0196\u0002',
- '\u0566\u0567\u0005\u0343\u01a2\u0002\u0567\u0568\u0005\u033f\u01a0\u0002',
- '\u0568\u0569\u0005\u033f\u01a0\u0002\u0569\u056a\u0005\u032f\u0198\u0002',
- '\u056a\u056b\u0005\u0341\u01a1\u0002\u056b\u056c\u0005\u034d\u01a7\u0002',
- '\u056c\u009e\u0003\u0002\u0002\u0002\u056d\u056e\u0005\u0329\u0195\u0002',
- '\u056e\u056f\u0005\u0343\u01a2\u0002\u056f\u0570\u0005\u0343\u01a2\u0002',
- '\u0570\u0571\u0005\u033d\u019f\u0002\u0571\u0572\u0005\u032f\u0198\u0002',
- '\u0572\u0573\u0005\u0327\u0194\u0002\u0573\u0574\u0005\u0341\u01a1\u0002',
- '\u0574\u00a0\u0003\u0002\u0002\u0002\u0575\u0576\u0005\u034d\u01a7\u0002',
- '\u0576\u0577\u0005\u0337\u019c\u0002\u0577\u0578\u0005\u0341\u01a1\u0002',
- '\u0578\u0579\u0005\u0357\u01ac\u0002\u0579\u057a\u0005\u0337\u019c\u0002',
- '\u057a\u057b\u0005\u0341\u01a1\u0002\u057b\u057c\u0005\u034d\u01a7\u0002',
- '\u057c\u00a2\u0003\u0002\u0002\u0002\u057d\u057e\u0005\u034b\u01a6\u0002',
- '\u057e\u057f\u0005\u033f\u01a0\u0002\u057f\u0580\u0005\u0327\u0194\u0002',
- '\u0580\u0581\u0005\u033d\u019f\u0002\u0581\u0582\u0005\u033d\u019f\u0002',
- '\u0582\u0583\u0005\u0337\u019c\u0002\u0583\u0584\u0005\u0341\u01a1\u0002',
- '\u0584\u0585\u0005\u034d\u01a7\u0002\u0585\u00a4\u0003\u0002\u0002\u0002',
- '\u0586\u0587\u0005\u0337\u019c\u0002\u0587\u0588\u0005\u0341\u01a1\u0002',
- '\u0588\u0589\u0005\u034d\u01a7\u0002\u0589\u0593\u0003\u0002\u0002\u0002',
- '\u058a\u058b\u0005\u0337\u019c\u0002\u058b\u058c\u0005\u0341\u01a1\u0002',
- '\u058c\u058d\u0005\u034d\u01a7\u0002\u058d\u058e\u0005\u032f\u0198\u0002',
- '\u058e\u058f\u0005\u0333\u019a\u0002\u058f\u0590\u0005\u032f\u0198\u0002',
- '\u0590\u0591\u0005\u0349\u01a5\u0002\u0591\u0593\u0003\u0002\u0002\u0002',
- '\u0592\u0586\u0003\u0002\u0002\u0002\u0592\u058a\u0003\u0002\u0002\u0002',
- '\u0593\u00a6\u0003\u0002\u0002\u0002\u0594\u0595\u0005\u0329\u0195\u0002',
- '\u0595\u0596\u0005\u0337\u019c\u0002\u0596\u0597\u0005\u0333\u019a\u0002',
- '\u0597\u0598\u0005\u0337\u019c\u0002\u0598\u0599\u0005\u0341\u01a1\u0002',
- '\u0599\u059a\u0005\u034d\u01a7\u0002\u059a\u00a8\u0003\u0002\u0002\u0002',
- '\u059b\u059c\u0005\u0331\u0199\u0002\u059c\u059d\u0005\u033d\u019f\u0002',
- '\u059d\u059e\u0005\u0343\u01a2\u0002\u059e\u059f\u0005\u0327\u0194\u0002',
- '\u059f\u05a0\u0005\u034d\u01a7\u0002\u05a0\u00aa\u0003\u0002\u0002\u0002',
- '\u05a1\u05a2\u0005\u032d\u0197\u0002\u05a2\u05a3\u0005\u0343\u01a2\u0002',
- '\u05a3\u05a4\u0005\u034f\u01a8\u0002\u05a4\u05a5\u0005\u0329\u0195\u0002',
- '\u05a5\u05a6\u0005\u033d\u019f\u0002\u05a6\u05a7\u0005\u032f\u0198\u0002',
- '\u05a7\u00ac\u0003\u0002\u0002\u0002\u05a8\u05a9\u0005\u0345\u01a3\u0002',
- '\u05a9\u05aa\u0005\u0349\u01a5\u0002\u05aa\u05ab\u0005\u032f\u0198\u0002',
- '\u05ab\u05ac\u0005\u032b\u0196\u0002\u05ac\u05ad\u0005\u0337\u019c\u0002',
- '\u05ad\u05ae\u0005\u034b\u01a6\u0002\u05ae\u05af\u0005\u0337\u019c\u0002',
- '\u05af\u05b0\u0005\u0343\u01a2\u0002\u05b0\u05b1\u0005\u0341\u01a1\u0002',
- '\u05b1\u00ae\u0003\u0002\u0002\u0002\u05b2\u05b3\u0005\u032d\u0197\u0002',
- '\u05b3\u05b4\u0005\u0327\u0194\u0002\u05b4\u05b5\u0005\u034d\u01a7\u0002',
- '\u05b5\u05b6\u0005\u032f\u0198\u0002\u05b6\u00b0\u0003\u0002\u0002\u0002',
- '\u05b7\u05b8\u0005\u032d\u0197\u0002\u05b8\u05b9\u0005\u0327\u0194\u0002',
- '\u05b9\u05ba\u0005\u034d\u01a7\u0002\u05ba\u05bb\u0005\u032f\u0198\u0002',
- '\u05bb\u05bc\u0005\u034d\u01a7\u0002\u05bc\u05bd\u0005\u0337\u019c\u0002',
- '\u05bd\u05be\u0005\u033f\u01a0\u0002\u05be\u05bf\u0005\u032f\u0198\u0002',
- '\u05bf\u00b2\u0003\u0002\u0002\u0002\u05c0\u05c1\u0005\u034d\u01a7\u0002',
- '\u05c1\u05c2\u0005\u0337\u019c\u0002\u05c2\u05c3\u0005\u033f\u01a0\u0002',
- '\u05c3\u05c4\u0005\u032f\u0198\u0002\u05c4\u05c5\u0005\u034b\u01a6\u0002',
- '\u05c5\u05c6\u0005\u034d\u01a7\u0002\u05c6\u05c7\u0005\u0327\u0194\u0002',
- '\u05c7\u05c8\u0005\u033f\u01a0\u0002\u05c8\u05c9\u0005\u0345\u01a3\u0002',
- '\u05c9\u00b4\u0003\u0002\u0002\u0002\u05ca\u05cb\u0005\u034d\u01a7\u0002',
- '\u05cb\u05cc\u0005\u0337\u019c\u0002\u05cc\u05cd\u0005\u033f\u01a0\u0002',
- '\u05cd\u05ce\u0005\u032f\u0198\u0002\u05ce\u05cf\u0005\u034b\u01a6\u0002',
- '\u05cf\u05d0\u0005\u034d\u01a7\u0002\u05d0\u05d1\u0005\u0327\u0194\u0002',
- '\u05d1\u05d2\u0005\u033f\u01a0\u0002\u05d2\u05d3\u0005\u0345\u01a3\u0002',
- '\u05d3\u05d4\u0007a\u0002\u0002\u05d4\u05d5\u0005\u0341\u01a1\u0002',
- '\u05d5\u05d6\u0005\u034d\u01a7\u0002\u05d6\u05d7\u0005\u0359\u01ad\u0002',
- '\u05d7\u00b6\u0003\u0002\u0002\u0002\u05d8\u05d9\u0005\u034d\u01a7\u0002',
- '\u05d9\u05da\u0005\u0337\u019c\u0002\u05da\u05db\u0005\u033f\u01a0\u0002',
- '\u05db\u05dc\u0005\u032f\u0198\u0002\u05dc\u05dd\u0005\u034b\u01a6\u0002',
- '\u05dd\u05de\u0005\u034d\u01a7\u0002\u05de\u05df\u0005\u0327\u0194\u0002',
- '\u05df\u05e0\u0005\u033f\u01a0\u0002\u05e0\u05e1\u0005\u0345\u01a3\u0002',
- '\u05e1\u05e2\u0005\u033d\u019f\u0002\u05e2\u05e3\u0005\u0343\u01a2\u0002',
- '\u05e3\u05e4\u0005\u032b\u0196\u0002\u05e4\u05e5\u0005\u0327\u0194\u0002',
- '\u05e5\u05e6\u0005\u033d\u019f\u0002\u05e6\u05e7\u0005\u034d\u01a7\u0002',
- '\u05e7\u05e8\u0005\u0359\u01ad\u0002\u05e8\u00b8\u0003\u0002\u0002\u0002',
- '\u05e9\u05ea\u0005\u034d\u01a7\u0002\u05ea\u05eb\u0005\u0337\u019c\u0002',
- '\u05eb\u05ec\u0005\u033f\u01a0\u0002\u05ec\u05ed\u0005\u032f\u0198\u0002',
- '\u05ed\u00ba\u0003\u0002\u0002\u0002\u05ee\u05ef\u0005\u0359\u01ad\u0002',
- '\u05ef\u05f0\u0005\u0343\u01a2\u0002\u05f0\u05f1\u0005\u0341\u01a1\u0002',
- '\u05f1\u05f2\u0005\u032f\u0198\u0002\u05f2\u00bc\u0003\u0002\u0002\u0002',
- '\u05f3\u05f4\u0005\u0337\u019c\u0002\u05f4\u05f5\u0005\u0341\u01a1\u0002',
- '\u05f5\u05f6\u0005\u034d\u01a7\u0002\u05f6\u05f7\u0005\u032f\u0198\u0002',
- '\u05f7\u05f8\u0005\u0349\u01a5\u0002\u05f8\u05f9\u0005\u0351\u01a9\u0002',
- '\u05f9\u05fa\u0005\u0327\u0194\u0002\u05fa\u05fb\u0005\u033d\u019f\u0002',
- '\u05fb\u00be\u0003\u0002\u0002\u0002\u05fc\u05fd\u0005\u032d\u0197\u0002',
- '\u05fd\u05fe\u0005\u032f\u0198\u0002\u05fe\u05ff\u0005\u032b\u0196\u0002',
- '\u05ff\u0600\u0005\u0337\u019c\u0002\u0600\u0601\u0005\u033f\u01a0\u0002',
- '\u0601\u0602\u0005\u0327\u0194\u0002\u0602\u0603\u0005\u033d\u019f\u0002',
- '\u0603\u060d\u0003\u0002\u0002\u0002\u0604\u0605\u0005\u0341\u01a1\u0002',
- '\u0605\u0606\u0005\u034f\u01a8\u0002\u0606\u0607\u0005\u033f\u01a0\u0002',
- '\u0607\u0608\u0005\u032f\u0198\u0002\u0608\u0609\u0005\u0349\u01a5\u0002',
- '\u0609\u060a\u0005\u0337\u019c\u0002\u060a\u060b\u0005\u032b\u0196\u0002',
- '\u060b\u060d\u0003\u0002\u0002\u0002\u060c\u05fc\u0003\u0002\u0002\u0002',
- '\u060c\u0604\u0003\u0002\u0002\u0002\u060d\u00c0\u0003\u0002\u0002\u0002',
- '\u060e\u060f\u0005\u034b\u01a6\u0002\u060f\u0610\u0005\u034d\u01a7\u0002',
- '\u0610\u0611\u0005\u0349\u01a5\u0002\u0611\u0612\u0005\u0337\u019c\u0002',
- '\u0612\u0613\u0005\u0341\u01a1\u0002\u0613\u0614\u0005\u0333\u019a\u0002',
- '\u0614\u00c2\u0003\u0002\u0002\u0002\u0615\u0616\u0005\u032b\u0196\u0002',
- '\u0616\u0617\u0005\u0335\u019b\u0002\u0617\u0618\u0005\u0327\u0194\u0002',
- '\u0618\u0619\u0005\u0349\u01a5\u0002\u0619\u00c4\u0003\u0002\u0002\u0002',
- '\u061a\u061b\u0005\u0351\u01a9\u0002\u061b\u061c\u0005\u0327\u0194\u0002',
- '\u061c\u061d\u0005\u0349\u01a5\u0002\u061d\u061e\u0005\u032b\u0196\u0002',
- '\u061e\u061f\u0005\u0335\u019b\u0002\u061f\u0620\u0005\u0327\u0194\u0002',
- '\u0620\u0621\u0005\u0349\u01a5\u0002\u0621\u00c6\u0003\u0002\u0002\u0002',
- '\u0622\u0623\u0005\u0327\u0194\u0002\u0623\u0624\u0005\u0349\u01a5\u0002',
- '\u0624\u0625\u0005\u0349\u01a5\u0002\u0625\u0626\u0005\u0327\u0194\u0002',
- '\u0626\u0627\u0005\u0357\u01ac\u0002\u0627\u00c8\u0003\u0002\u0002\u0002',
- '\u0628\u0629\u0005\u034b\u01a6\u0002\u0629\u062a\u0005\u034d\u01a7\u0002',
- '\u062a\u062b\u0005\u0349\u01a5\u0002\u062b\u062c\u0005\u034f\u01a8\u0002',
- '\u062c\u062d\u0005\u032b\u0196\u0002\u062d\u062e\u0005\u034d\u01a7\u0002',
- '\u062e\u00ca\u0003\u0002\u0002\u0002\u062f\u0630\u0005\u033f\u01a0\u0002',
- '\u0630\u0631\u0005\u0327\u0194\u0002\u0631\u0632\u0005\u0345\u01a3\u0002',
- '\u0632\u00cc\u0003\u0002\u0002\u0002\u0633\u0634\u0005\u033f\u01a0\u0002',
- '\u0634\u0635\u0005\u0327\u0194\u0002\u0635\u0636\u0005\u034b\u01a6\u0002',
- '\u0636\u0637\u0005\u033b\u019e\u0002\u0637\u00ce\u0003\u0002\u0002\u0002',
- '\u0638\u0639\u0005\u0351\u01a9\u0002\u0639\u063a\u0005\u0327\u0194\u0002',
- '\u063a\u063b\u0005\u0349\u01a5\u0002\u063b\u063c\u0005\u0337\u019c\u0002',
- '\u063c\u063d\u0005\u0327\u0194\u0002\u063d\u063e\u0005\u0341\u01a1\u0002',
- '\u063e\u063f\u0005\u034d\u01a7\u0002\u063f\u00d0\u0003\u0002\u0002\u0002',
- '\u0640\u0641\u0005\u034f\u01a8\u0002\u0641\u0642\u0005\u0341\u01a1\u0002',
- '\u0642\u0643\u0005\u0337\u019c\u0002\u0643\u0644\u0005\u0343\u01a2\u0002',
- '\u0644\u0645\u0005\u0341\u01a1\u0002\u0645\u0646\u0005\u034d\u01a7\u0002',
- '\u0646\u0647\u0005\u0357\u01ac\u0002\u0647\u0648\u0005\u0345\u01a3\u0002',
- '\u0648\u0649\u0005\u032f\u0198\u0002\u0649\u00d2\u0003\u0002\u0002\u0002',
- '\u064a\u064b\u0005\u0349\u01a5\u0002\u064b\u064c\u0005\u032f\u0198\u0002',
- '\u064c\u064d\u0005\u032d\u0197\u0002\u064d\u064e\u0005\u034f\u01a8\u0002',
- '\u064e\u064f\u0005\u032b\u0196\u0002\u064f\u0650\u0005\u032f\u0198\u0002',
- '\u0650\u00d4\u0003\u0002\u0002\u0002\u0651\u0652\u0005\u0345\u01a3\u0002',
- '\u0652\u0653\u0005\u0327\u0194\u0002\u0653\u0654\u0005\u0349\u01a5\u0002',
- '\u0654\u0655\u0005\u034d\u01a7\u0002\u0655\u0656\u0005\u0337\u019c\u0002',
- '\u0656\u0657\u0005\u034d\u01a7\u0002\u0657\u0658\u0005\u0337\u019c\u0002',
- '\u0658\u0659\u0005\u0343\u01a2\u0002\u0659\u065a\u0005\u0341\u01a1\u0002',
- '\u065a\u065b\u0005\u032f\u0198\u0002\u065b\u065c\u0005\u032d\u0197\u0002',
- '\u065c\u00d6\u0003\u0002\u0002\u0002\u065d\u065e\u0005\u032b\u0196\u0002',
- '\u065e\u065f\u0005\u033d\u019f\u0002\u065f\u0660\u0005\u034f\u01a8\u0002',
- '\u0660\u0661\u0005\u034b\u01a6\u0002\u0661\u0662\u0005\u034d\u01a7\u0002',
- '\u0662\u0663\u0005\u032f\u0198\u0002\u0663\u0664\u0005\u0349\u01a5\u0002',
- '\u0664\u0665\u0005\u032f\u0198\u0002\u0665\u0666\u0005\u032d\u0197\u0002',
- '\u0666\u00d8\u0003\u0002\u0002\u0002\u0667\u0668\u0005\u034b\u01a6\u0002',
- '\u0668\u0669\u0005\u0343\u01a2\u0002\u0669\u066a\u0005\u0349\u01a5\u0002',
- '\u066a\u066b\u0005\u034d\u01a7\u0002\u066b\u066c\u0005\u032f\u0198\u0002',
- '\u066c\u066d\u0005\u032d\u0197\u0002\u066d\u00da\u0003\u0002\u0002\u0002',
- '\u066e\u066f\u0005\u0337\u019c\u0002\u066f\u0670\u0005\u0341\u01a1\u0002',
- '\u0670\u0671\u0005\u034d\u01a7\u0002\u0671\u0672\u0005\u0343\u01a2\u0002',
- '\u0672\u00dc\u0003\u0002\u0002\u0002\u0673\u0674\u0005\u0329\u0195\u0002',
- '\u0674\u0675\u0005\u034f\u01a8\u0002\u0675\u0676\u0005\u032b\u0196\u0002',
- '\u0676\u0677\u0005\u033b\u019e\u0002\u0677\u0678\u0005\u032f\u0198\u0002',
- '\u0678\u0679\u0005\u034d\u01a7\u0002\u0679\u067a\u0005\u034b\u01a6\u0002',
- '\u067a\u00de\u0003\u0002\u0002\u0002\u067b\u067c\u0005\u0349\u01a5\u0002',
- '\u067c\u067d\u0005\u0343\u01a2\u0002\u067d\u067e\u0005\u0353\u01aa\u0002',
- '\u067e\u00e0\u0003\u0002\u0002\u0002\u067f\u0680\u0005\u0349\u01a5\u0002',
- '\u0680\u0681\u0005\u0343\u01a2\u0002\u0681\u0682\u0005\u0353\u01aa\u0002',
- '\u0682\u0683\u0005\u034b\u01a6\u0002\u0683\u00e2\u0003\u0002\u0002\u0002',
- '\u0684\u0685\u0005\u0331\u0199\u0002\u0685\u0686\u0005\u0343\u01a2\u0002',
- '\u0686\u0687\u0005\u0349\u01a5\u0002\u0687\u0688\u0005\u033f\u01a0\u0002',
- '\u0688\u0689\u0005\u0327\u0194\u0002\u0689\u068a\u0005\u034d\u01a7\u0002',
- '\u068a\u00e4\u0003\u0002\u0002\u0002\u068b\u068c\u0005\u032d\u0197\u0002',
- '\u068c\u068d\u0005\u032f\u0198\u0002\u068d\u068e\u0005\u033d\u019f\u0002',
- '\u068e\u068f\u0005\u0337\u019c\u0002\u068f\u0690\u0005\u033f\u01a0\u0002',
- '\u0690\u0691\u0005\u0337\u019c\u0002\u0691\u0692\u0005\u034d\u01a7\u0002',
- '\u0692\u0693\u0005\u032f\u0198\u0002\u0693\u0694\u0005\u032d\u0197\u0002',
- '\u0694\u00e6\u0003\u0002\u0002\u0002\u0695\u0696\u0005\u0331\u0199\u0002',
- '\u0696\u0697\u0005\u0337\u019c\u0002\u0697\u0698\u0005\u032f\u0198\u0002',
- '\u0698\u0699\u0005\u033d\u019f\u0002\u0699\u069a\u0005\u032d\u0197\u0002',
- '\u069a\u069b\u0005\u034b\u01a6\u0002\u069b\u00e8\u0003\u0002\u0002\u0002',
- '\u069c\u069d\u0005\u034d\u01a7\u0002\u069d\u069e\u0005\u032f\u0198\u0002',
- '\u069e\u069f\u0005\u0349\u01a5\u0002\u069f\u06a0\u0005\u033f\u01a0\u0002',
- '\u06a0\u06a1\u0005\u0337\u019c\u0002\u06a1\u06a2\u0005\u0341\u01a1\u0002',
- '\u06a2\u06a3\u0005\u0327\u0194\u0002\u06a3\u06a4\u0005\u034d\u01a7\u0002',
- '\u06a4\u06a5\u0005\u032f\u0198\u0002\u06a5\u06a6\u0005\u032d\u0197\u0002',
- '\u06a6\u00ea\u0003\u0002\u0002\u0002\u06a7\u06a8\u0005\u032f\u0198\u0002',
- '\u06a8\u06a9\u0005\u034b\u01a6\u0002\u06a9\u06aa\u0005\u032b\u0196\u0002',
- '\u06aa\u06ab\u0005\u0327\u0194\u0002\u06ab\u06ac\u0005\u0345\u01a3\u0002',
- '\u06ac\u06ad\u0005\u032f\u0198\u0002\u06ad\u06ae\u0005\u032d\u0197\u0002',
- '\u06ae\u00ec\u0003\u0002\u0002\u0002\u06af\u06b0\u0005\u032b\u0196\u0002',
- '\u06b0\u06b1\u0005\u0343\u01a2\u0002\u06b1\u06b2\u0005\u033d\u019f\u0002',
- '\u06b2\u06b3\u0005\u033d\u019f\u0002\u06b3\u06b4\u0005\u032f\u0198\u0002',
- '\u06b4\u06b5\u0005\u032b\u0196\u0002\u06b5\u06b6\u0005\u034d\u01a7\u0002',
- '\u06b6\u06b7\u0005\u0337\u019c\u0002\u06b7\u06b8\u0005\u0343\u01a2\u0002',
- '\u06b8\u06b9\u0005\u0341\u01a1\u0002\u06b9\u00ee\u0003\u0002\u0002\u0002',
- '\u06ba\u06bb\u0005\u0337\u019c\u0002\u06bb\u06bc\u0005\u034d\u01a7\u0002',
- '\u06bc\u06bd\u0005\u032f\u0198\u0002\u06bd\u06be\u0005\u033f\u01a0\u0002',
- '\u06be\u06bf\u0005\u034b\u01a6\u0002\u06bf\u00f0\u0003\u0002\u0002\u0002',
- '\u06c0\u06c1\u0005\u033b\u019e\u0002\u06c1\u06c2\u0005\u032f\u0198\u0002',
- '\u06c2\u06c3\u0005\u0357\u01ac\u0002\u06c3\u06c4\u0005\u034b\u01a6\u0002',
- '\u06c4\u00f2\u0003\u0002\u0002\u0002\u06c5\u06c6\u0007&\u0002\u0002',
- '\u06c6\u06c7\u0005\u033b\u019e\u0002\u06c7\u06c8\u0005\u032f\u0198\u0002',
- '\u06c8\u06c9\u0005\u0357\u01ac\u0002\u06c9\u06ca\u0007&\u0002\u0002',
- '\u06ca\u00f4\u0003\u0002\u0002\u0002\u06cb\u06cc\u0005\u033b\u019e\u0002',
- '\u06cc\u06cd\u0005\u0337\u019c\u0002\u06cd\u06ce\u0005\u033d\u019f\u0002',
- '\u06ce\u06cf\u0005\u033d\u019f\u0002\u06cf\u00f6\u0003\u0002\u0002\u0002',
- '\u06d0\u06d1\u0005\u033d\u019f\u0002\u06d1\u06d2\u0005\u0337\u019c\u0002',
- '\u06d2\u06d3\u0005\u0341\u01a1\u0002\u06d3\u06d4\u0005\u032f\u0198\u0002',
- '\u06d4\u06d5\u0005\u034b\u01a6\u0002\u06d5\u00f8\u0003\u0002\u0002\u0002',
- '\u06d6\u06d7\u0005\u034b\u01a6\u0002\u06d7\u06d8\u0005\u034d\u01a7\u0002',
- '\u06d8\u06d9\u0005\u0343\u01a2\u0002\u06d9\u06da\u0005\u0349\u01a5\u0002',
- '\u06da\u06db\u0005\u032f\u0198\u0002\u06db\u06dc\u0005\u032d\u0197\u0002',
- '\u06dc\u00fa\u0003\u0002\u0002\u0002\u06dd\u06de\u0005\u0331\u0199\u0002',
- '\u06de\u06df\u0005\u0337\u019c\u0002\u06df\u06e0\u0005\u033d\u019f\u0002',
- '\u06e0\u06e1\u0005\u032f\u0198\u0002\u06e1\u06e2\u0005\u0331\u0199\u0002',
- '\u06e2\u06e3\u0005\u0343\u01a2\u0002\u06e3\u06e4\u0005\u0349\u01a5\u0002',
- '\u06e4\u06e5\u0005\u033f\u01a0\u0002\u06e5\u06e6\u0005\u0327\u0194\u0002',
- '\u06e6\u06e7\u0005\u034d\u01a7\u0002\u06e7\u00fc\u0003\u0002\u0002\u0002',
- '\u06e8\u06e9\u0005\u0337\u019c\u0002\u06e9\u06ea\u0005\u0341\u01a1\u0002',
- '\u06ea\u06eb\u0005\u0345\u01a3\u0002\u06eb\u06ec\u0005\u034f\u01a8\u0002',
- '\u06ec\u06ed\u0005\u034d\u01a7\u0002\u06ed\u06ee\u0005\u0331\u0199\u0002',
- '\u06ee\u06ef\u0005\u0343\u01a2\u0002\u06ef\u06f0\u0005\u0349\u01a5\u0002',
- '\u06f0\u06f1\u0005\u033f\u01a0\u0002\u06f1\u06f2\u0005\u0327\u0194\u0002',
- '\u06f2\u06f3\u0005\u034d\u01a7\u0002\u06f3\u00fe\u0003\u0002\u0002\u0002',
- '\u06f4\u06f5\u0005\u0343\u01a2\u0002\u06f5\u06f6\u0005\u034f\u01a8\u0002',
- '\u06f6\u06f7\u0005\u034d\u01a7\u0002\u06f7\u06f8\u0005\u0345\u01a3\u0002',
- '\u06f8\u06f9\u0005\u034f\u01a8\u0002\u06f9\u06fa\u0005\u034d\u01a7\u0002',
- '\u06fa\u06fb\u0005\u0331\u0199\u0002\u06fb\u06fc\u0005\u0343\u01a2\u0002',
- '\u06fc\u06fd\u0005\u0349\u01a5\u0002\u06fd\u06fe\u0005\u033f\u01a0\u0002',
- '\u06fe\u06ff\u0005\u0327\u0194\u0002\u06ff\u0700\u0005\u034d\u01a7\u0002',
- '\u0700\u0100\u0003\u0002\u0002\u0002\u0701\u0702\u0005\u0337\u019c\u0002',
- '\u0702\u0703\u0005\u0341\u01a1\u0002\u0703\u0704\u0005\u0345\u01a3\u0002',
- '\u0704\u0705\u0005\u034f\u01a8\u0002\u0705\u0706\u0005\u034d\u01a7\u0002',
- '\u0706\u0707\u0005\u032d\u0197\u0002\u0707\u0708\u0005\u0349\u01a5\u0002',
- '\u0708\u0709\u0005\u0337\u019c\u0002\u0709\u070a\u0005\u0351\u01a9\u0002',
- '\u070a\u070b\u0005\u032f\u0198\u0002\u070b\u070c\u0005\u0349\u01a5\u0002',
- '\u070c\u0102\u0003\u0002\u0002\u0002\u070d\u070e\u0005\u0343\u01a2\u0002',
- '\u070e\u070f\u0005\u034f\u01a8\u0002\u070f\u0710\u0005\u034d\u01a7\u0002',
- '\u0710\u0711\u0005\u0345\u01a3\u0002\u0711\u0712\u0005\u034f\u01a8\u0002',
- '\u0712\u0713\u0005\u034d\u01a7\u0002\u0713\u0714\u0005\u032d\u0197\u0002',
- '\u0714\u0715\u0005\u0349\u01a5\u0002\u0715\u0716\u0005\u0337\u019c\u0002',
- '\u0716\u0717\u0005\u0351\u01a9\u0002\u0717\u0718\u0005\u032f\u0198\u0002',
- '\u0718\u0719\u0005\u0349\u01a5\u0002\u0719\u0104\u0003\u0002\u0002\u0002',
- '\u071a\u071b\u0005\u032f\u0198\u0002\u071b\u071c\u0005\u0341\u01a1\u0002',
- '\u071c\u071d\u0005\u0327\u0194\u0002\u071d\u071e\u0005\u0329\u0195\u0002',
- '\u071e\u071f\u0005\u033d\u019f\u0002\u071f\u0720\u0005\u032f\u0198\u0002',
- '\u0720\u0106\u0003\u0002\u0002\u0002\u0721\u0722\u0005\u032d\u0197\u0002',
- '\u0722\u0723\u0005\u0337\u019c\u0002\u0723\u0724\u0005\u034b\u01a6\u0002',
- '\u0724\u0725\u0005\u0327\u0194\u0002\u0725\u0726\u0005\u0329\u0195\u0002',
- '\u0726\u0727\u0005\u033d\u019f\u0002\u0727\u0728\u0005\u032f\u0198\u0002',
- '\u0728\u0108\u0003\u0002\u0002\u0002\u0729\u072a\u0005\u033d\u019f\u0002',
- '\u072a\u072b\u0005\u0343\u01a2\u0002\u072b\u072c\u0005\u032b\u0196\u0002',
- '\u072c\u072d\u0005\u0327\u0194\u0002\u072d\u072e\u0005\u034d\u01a7\u0002',
- '\u072e\u072f\u0005\u0337\u019c\u0002\u072f\u0730\u0005\u0343\u01a2\u0002',
- '\u0730\u0731\u0005\u0341\u01a1\u0002\u0731\u010a\u0003\u0002\u0002\u0002',
- '\u0732\u0733\u0005\u034d\u01a7\u0002\u0733\u0734\u0005\u0327\u0194\u0002',
- '\u0734\u0735\u0005\u0329\u0195\u0002\u0735\u0736\u0005\u033d\u019f\u0002',
- '\u0736\u0737\u0005\u032f\u0198\u0002\u0737\u0738\u0005\u034b\u01a6\u0002',
- '\u0738\u0739\u0005\u0327\u0194\u0002\u0739\u073a\u0005\u033f\u01a0\u0002',
- '\u073a\u073b\u0005\u0345\u01a3\u0002\u073b\u073c\u0005\u033d\u019f\u0002',
- '\u073c\u073d\u0005\u032f\u0198\u0002\u073d\u010c\u0003\u0002\u0002\u0002',
- '\u073e\u073f\u0005\u0329\u0195\u0002\u073f\u0740\u0005\u034f\u01a8\u0002',
- '\u0740\u0741\u0005\u032b\u0196\u0002\u0741\u0742\u0005\u033b\u019e\u0002',
- '\u0742\u0743\u0005\u032f\u0198\u0002\u0743\u0744\u0005\u034d\u01a7\u0002',
- '\u0744\u010e\u0003\u0002\u0002\u0002\u0745\u0746\u0005\u0343\u01a2\u0002',
- '\u0746\u0747\u0005\u034f\u01a8\u0002\u0747\u0748\u0005\u034d\u01a7\u0002',
- '\u0748\u0110\u0003\u0002\u0002\u0002\u0749\u074a\u0005\u0343\u01a2\u0002',
- '\u074a\u074b\u0005\u0331\u0199\u0002\u074b\u0112\u0003\u0002\u0002\u0002',
- '\u074c\u074d\u0005\u0345\u01a3\u0002\u074d\u074e\u0005\u032f\u0198\u0002',
- '\u074e\u074f\u0005\u0349\u01a5\u0002\u074f\u0750\u0005\u032b\u0196\u0002',
- '\u0750\u0751\u0005\u032f\u0198\u0002\u0751\u0752\u0005\u0341\u01a1\u0002',
- '\u0752\u0753\u0005\u034d\u01a7\u0002\u0753\u0114\u0003\u0002\u0002\u0002',
- '\u0754\u0755\u0005\u032b\u0196\u0002\u0755\u0756\u0005\u0327\u0194\u0002',
- '\u0756\u0757\u0005\u034b\u01a6\u0002\u0757\u0758\u0005\u034d\u01a7\u0002',
- '\u0758\u0116\u0003\u0002\u0002\u0002\u0759\u075a\u0005\u0327\u0194\u0002',
- '\u075a\u075b\u0005\u032d\u0197\u0002\u075b\u075c\u0005\u032d\u0197\u0002',
- '\u075c\u0118\u0003\u0002\u0002\u0002\u075d\u075e\u0005\u0349\u01a5\u0002',
- '\u075e\u075f\u0005\u032f\u0198\u0002\u075f\u0760\u0005\u0345\u01a3\u0002',
- '\u0760\u0761\u0005\u033d\u019f\u0002\u0761\u0762\u0005\u0327\u0194\u0002',
- '\u0762\u0763\u0005\u032b\u0196\u0002\u0763\u0764\u0005\u032f\u0198\u0002',
- '\u0764\u011a\u0003\u0002\u0002\u0002\u0765\u0766\u0005\u0349\u01a5\u0002',
- '\u0766\u0767\u0005\u033d\u019f\u0002\u0767\u0768\u0005\u0337\u019c\u0002',
- '\u0768\u0769\u0005\u033b\u019e\u0002\u0769\u076a\u0005\u032f\u0198\u0002',
- '\u076a\u011c\u0003\u0002\u0002\u0002\u076b\u076c\u0005\u0349\u01a5\u0002',
- '\u076c\u076d\u0005\u032f\u0198\u0002\u076d\u076e\u0005\u0333\u019a\u0002',
- '\u076e\u076f\u0005\u032f\u0198\u0002\u076f\u0770\u0005\u0355\u01ab\u0002',
- '\u0770\u0771\u0005\u0345\u01a3\u0002\u0771\u011e\u0003\u0002\u0002\u0002',
- '\u0772\u0773\u0005\u034d\u01a7\u0002\u0773\u0774\u0005\u032f\u0198\u0002',
- '\u0774\u0775\u0005\u033f\u01a0\u0002\u0775\u0776\u0005\u0345\u01a3\u0002',
- '\u0776\u0777\u0005\u0343\u01a2\u0002\u0777\u0778\u0005\u0349\u01a5\u0002',
- '\u0778\u0779\u0005\u0327\u0194\u0002\u0779\u077a\u0005\u0349\u01a5\u0002',
- '\u077a\u077b\u0005\u0357\u01ac\u0002\u077b\u0120\u0003\u0002\u0002\u0002',
- '\u077c\u077d\u0005\u0331\u0199\u0002\u077d\u077e\u0005\u034f\u01a8\u0002',
- '\u077e\u077f\u0005\u0341\u01a1\u0002\u077f\u0780\u0005\u032b\u0196\u0002',
- '\u0780\u0781\u0005\u034d\u01a7\u0002\u0781\u0782\u0005\u0337\u019c\u0002',
- '\u0782\u0783\u0005\u0343\u01a2\u0002\u0783\u0784\u0005\u0341\u01a1\u0002',
- '\u0784\u0122\u0003\u0002\u0002\u0002\u0785\u0786\u0005\u033f\u01a0\u0002',
- '\u0786\u0787\u0005\u0327\u0194\u0002\u0787\u0788\u0005\u032b\u0196\u0002',
- '\u0788\u0789\u0005\u0349\u01a5\u0002\u0789\u078a\u0005\u0343\u01a2\u0002',
- '\u078a\u0124\u0003\u0002\u0002\u0002\u078b\u078c\u0005\u0331\u0199\u0002',
- '\u078c\u078d\u0005\u0337\u019c\u0002\u078d\u078e\u0005\u033d\u019f\u0002',
- '\u078e\u078f\u0005\u032f\u0198\u0002\u078f\u0126\u0003\u0002\u0002\u0002',
- '\u0790\u0791\u0005\u0339\u019d\u0002\u0791\u0792\u0005\u0327\u0194\u0002',
- '\u0792\u0793\u0005\u0349\u01a5\u0002\u0793\u0128\u0003\u0002\u0002\u0002',
- '\u0794\u0795\u0005\u032f\u0198\u0002\u0795\u0796\u0005\u0355\u01ab\u0002',
- '\u0796\u0797\u0005\u0345\u01a3\u0002\u0797\u0798\u0005\u033d\u019f\u0002',
- '\u0798\u0799\u0005\u0327\u0194\u0002\u0799\u079a\u0005\u0337\u019c\u0002',
- '\u079a\u079b\u0005\u0341\u01a1\u0002\u079b\u012a\u0003\u0002\u0002\u0002',
- '\u079c\u079d\u0005\u032f\u0198\u0002\u079d\u079e\u0005\u0355\u01ab\u0002',
- '\u079e\u079f\u0005\u034d\u01a7\u0002\u079f\u07a0\u0005\u032f\u0198\u0002',
- '\u07a0\u07a1\u0005\u0341\u01a1\u0002\u07a1\u07a2\u0005\u032d\u0197\u0002',
- '\u07a2\u07a3\u0005\u032f\u0198\u0002\u07a3\u07a4\u0005\u032d\u0197\u0002',
- '\u07a4\u012c\u0003\u0002\u0002\u0002\u07a5\u07a6\u0005\u0331\u0199\u0002',
- '\u07a6\u07a7\u0005\u0343\u01a2\u0002\u07a7\u07a8\u0005\u0349\u01a5\u0002',
- '\u07a8\u07a9\u0005\u033f\u01a0\u0002\u07a9\u07aa\u0005\u0327\u0194\u0002',
- '\u07aa\u07ab\u0005\u034d\u01a7\u0002\u07ab\u07ac\u0005\u034d\u01a7\u0002',
- '\u07ac\u07ad\u0005\u032f\u0198\u0002\u07ad\u07ae\u0005\u032d\u0197\u0002',
- '\u07ae\u012e\u0003\u0002\u0002\u0002\u07af\u07b0\u0005\u032d\u0197\u0002',
- '\u07b0\u07b1\u0005\u032f\u0198\u0002\u07b1\u07b2\u0005\u0345\u01a3\u0002',
- '\u07b2\u07b3\u0005\u032f\u0198\u0002\u07b3\u07b4\u0005\u0341\u01a1\u0002',
- '\u07b4\u07b5\u0005\u032d\u0197\u0002\u07b5\u07b6\u0005\u032f\u0198\u0002',
- '\u07b6\u07b7\u0005\u0341\u01a1\u0002\u07b7\u07b8\u0005\u032b\u0196\u0002',
- '\u07b8\u07b9\u0005\u0357\u01ac\u0002\u07b9\u0130\u0003\u0002\u0002\u0002',
- '\u07ba\u07bb\u0005\u033d\u019f\u0002\u07bb\u07bc\u0005\u0343\u01a2\u0002',
- '\u07bc\u07bd\u0005\u0333\u019a\u0002\u07bd\u07be\u0005\u0337\u019c\u0002',
- '\u07be\u07bf\u0005\u032b\u0196\u0002\u07bf\u07c0\u0005\u0327\u0194\u0002',
- '\u07c0\u07c1\u0005\u033d\u019f\u0002\u07c1\u0132\u0003\u0002\u0002\u0002',
- '\u07c2\u07c3\u0005\u034b\u01a6\u0002\u07c3\u07c4\u0005\u032f\u0198\u0002',
- '\u07c4\u07c5\u0005\u0349\u01a5\u0002\u07c5\u07c6\u0005\u032d\u0197\u0002',
- '\u07c6\u07c7\u0005\u032f\u0198\u0002\u07c7\u0134\u0003\u0002\u0002\u0002',
- '\u07c8\u07c9\u0005\u0353\u01aa\u0002\u07c9\u07ca\u0005\u0337\u019c\u0002',
- '\u07ca\u07cb\u0005\u034d\u01a7\u0002\u07cb\u07cc\u0005\u0335\u019b\u0002',
- '\u07cc\u0136\u0003\u0002\u0002\u0002\u07cd\u07ce\u0005\u032d\u0197\u0002',
- '\u07ce\u07cf\u0005\u032f\u0198\u0002\u07cf\u07d0\u0005\u0331\u0199\u0002',
- '\u07d0\u07d1\u0005\u032f\u0198\u0002\u07d1\u07d2\u0005\u0349\u01a5\u0002',
- '\u07d2\u07d3\u0005\u0349\u01a5\u0002\u07d3\u07d4\u0005\u032f\u0198\u0002',
- '\u07d4\u07d5\u0005\u032d\u0197\u0002\u07d5\u0138\u0003\u0002\u0002\u0002',
- '\u07d6\u07d7\u0005\u034b\u01a6\u0002\u07d7\u07d8\u0005\u032f\u0198\u0002',
- '\u07d8\u07d9\u0005\u0349\u01a5\u0002\u07d9\u07da\u0005\u032d\u0197\u0002',
- '\u07da\u07db\u0005\u032f\u0198\u0002\u07db\u07dc\u0005\u0345\u01a3\u0002',
- '\u07dc\u07dd\u0005\u0349\u01a5\u0002\u07dd\u07de\u0005\u0343\u01a2\u0002',
- '\u07de\u07df\u0005\u0345\u01a3\u0002\u07df\u07e0\u0005\u032f\u0198\u0002',
- '\u07e0\u07e1\u0005\u0349\u01a5\u0002\u07e1\u07e2\u0005\u034d\u01a7\u0002',
- '\u07e2\u07e3\u0005\u0337\u019c\u0002\u07e3\u07e4\u0005\u032f\u0198\u0002',
- '\u07e4\u07e5\u0005\u034b\u01a6\u0002\u07e5\u013a\u0003\u0002\u0002\u0002',
- '\u07e6\u07e7\u0005\u032d\u0197\u0002\u07e7\u07e8\u0005\u0329\u0195\u0002',
- '\u07e8\u07e9\u0005\u0345\u01a3\u0002\u07e9\u07ea\u0005\u0349\u01a5\u0002',
- '\u07ea\u07eb\u0005\u0343\u01a2\u0002\u07eb\u07ec\u0005\u0345\u01a3\u0002',
- '\u07ec\u07ed\u0005\u032f\u0198\u0002\u07ed\u07ee\u0005\u0349\u01a5\u0002',
- '\u07ee\u07ef\u0005\u034d\u01a7\u0002\u07ef\u07f0\u0005\u0337\u019c\u0002',
- '\u07f0\u07f1\u0005\u032f\u0198\u0002\u07f1\u07f2\u0005\u034b\u01a6\u0002',
- '\u07f2\u013c\u0003\u0002\u0002\u0002\u07f3\u07f4\u0005\u033d\u019f\u0002',
- '\u07f4\u07f5\u0005\u0337\u019c\u0002\u07f5\u07f6\u0005\u033f\u01a0\u0002',
- '\u07f6\u07f7\u0005\u0337\u019c\u0002\u07f7\u07f8\u0005\u034d\u01a7\u0002',
- '\u07f8\u013e\u0003\u0002\u0002\u0002\u07f9\u07fa\u0005\u0343\u01a2\u0002',
- '\u07fa\u07fb\u0005\u0331\u0199\u0002\u07fb\u07fc\u0005\u0331\u0199\u0002',
- '\u07fc\u07fd\u0005\u034b\u01a6\u0002\u07fd\u07fe\u0005\u032f\u0198\u0002',
- '\u07fe\u07ff\u0005\u034d\u01a7\u0002\u07ff\u0140\u0003\u0002\u0002\u0002',
- '\u0800\u0801\u0005\u034b\u01a6\u0002\u0801\u0802\u0005\u032f\u0198\u0002',
- '\u0802\u0803\u0005\u034d\u01a7\u0002\u0803\u0142\u0003\u0002\u0002\u0002',
- '\u0804\u0805\u0005\u034f\u01a8\u0002\u0805\u0806\u0005\u0341\u01a1\u0002',
- '\u0806\u0807\u0005\u034b\u01a6\u0002\u0807\u0808\u0005\u032f\u0198\u0002',
- '\u0808\u0809\u0005\u034d\u01a7\u0002\u0809\u0144\u0003\u0002\u0002\u0002',
- '\u080a\u080b\u0005\u034d\u01a7\u0002\u080b\u080c\u0005\u0329\u0195\u0002',
- '\u080c\u080d\u0005\u033d\u019f\u0002\u080d\u080e\u0005\u0345\u01a3\u0002',
- '\u080e\u080f\u0005\u0349\u01a5\u0002\u080f\u0810\u0005\u0343\u01a2\u0002',
- '\u0810\u0811\u0005\u0345\u01a3\u0002\u0811\u0812\u0005\u032f\u0198\u0002',
- '\u0812\u0813\u0005\u0349\u01a5\u0002\u0813\u0814\u0005\u034d\u01a7\u0002',
- '\u0814\u0815\u0005\u0337\u019c\u0002\u0815\u0816\u0005\u032f\u0198\u0002',
- '\u0816\u0817\u0005\u034b\u01a6\u0002\u0817\u0146\u0003\u0002\u0002\u0002',
- '\u0818\u0819\u0005\u0337\u019c\u0002\u0819\u081a\u0005\u032d\u0197\u0002',
- '\u081a\u081b\u0005\u0355\u01ab\u0002\u081b\u081c\u0005\u0345\u01a3\u0002',
- '\u081c\u081d\u0005\u0349\u01a5\u0002\u081d\u081e\u0005\u0343\u01a2\u0002',
- '\u081e\u081f\u0005\u0345\u01a3\u0002\u081f\u0820\u0005\u032f\u0198\u0002',
- '\u0820\u0821\u0005\u0349\u01a5\u0002\u0821\u0822\u0005\u034d\u01a7\u0002',
- '\u0822\u0823\u0005\u0337\u019c\u0002\u0823\u0824\u0005\u032f\u0198\u0002',
- '\u0824\u0825\u0005\u034b\u01a6\u0002\u0825\u0148\u0003\u0002\u0002\u0002',
- '\u0826\u0827\u0007&\u0002\u0002\u0827\u0828\u0005\u0351\u01a9\u0002',
- '\u0828\u0829\u0005\u0327\u0194\u0002\u0829\u082a\u0005\u033d\u019f\u0002',
- '\u082a\u082b\u0005\u034f\u01a8\u0002\u082b\u082c\u0005\u032f\u0198\u0002',
- '\u082c\u082d\u0007&\u0002\u0002\u082d\u014a\u0003\u0002\u0002\u0002',
- '\u082e\u082f\u0007&\u0002\u0002\u082f\u0830\u0005\u032f\u0198\u0002',
- '\u0830\u0831\u0005\u033d\u019f\u0002\u0831\u0832\u0005\u032f\u0198\u0002',
- '\u0832\u0833\u0005\u033f\u01a0\u0002\u0833\u0834\u0007&\u0002\u0002',
- '\u0834\u014c\u0003\u0002\u0002\u0002\u0835\u0836\u0005\u032d\u0197\u0002',
- '\u0836\u0837\u0005\u032f\u0198\u0002\u0837\u0838\u0005\u0331\u0199\u0002',
- '\u0838\u0839\u0005\u0337\u019c\u0002\u0839\u083a\u0005\u0341\u01a1\u0002',
- '\u083a\u083b\u0005\u032f\u0198\u0002\u083b\u083c\u0005\u032d\u0197\u0002',
- '\u083c\u014e\u0003\u0002\u0002\u0002\u083d\u083e\u0005\u032b\u0196\u0002',
- '\u083e\u083f\u0005\u0327\u0194\u0002\u083f\u0840\u0005\u034b\u01a6\u0002',
- '\u0840\u0841\u0005\u032f\u0198\u0002\u0841\u0150\u0003\u0002\u0002\u0002',
- '\u0842\u0843\u0005\u0353\u01aa\u0002\u0843\u0844\u0005\u0335\u019b\u0002',
- '\u0844\u0845\u0005\u032f\u0198\u0002\u0845\u0846\u0005\u0341\u01a1\u0002',
- '\u0846\u0152\u0003\u0002\u0002\u0002\u0847\u0848\u0005\u034d\u01a7\u0002',
- '\u0848\u0849\u0005\u0335\u019b\u0002\u0849\u084a\u0005\u032f\u0198\u0002',
- '\u084a\u084b\u0005\u0341\u01a1\u0002\u084b\u0154\u0003\u0002\u0002\u0002',
- '\u084c\u084d\u0005\u032f\u0198\u0002\u084d\u084e\u0005\u033d\u019f\u0002',
- '\u084e\u084f\u0005\u034b\u01a6\u0002\u084f\u0850\u0005\u032f\u0198\u0002',
- '\u0850\u0156\u0003\u0002\u0002\u0002\u0851\u0852\u0005\u032f\u0198\u0002',
- '\u0852\u0853\u0005\u0341\u01a1\u0002\u0853\u0854\u0005\u032d\u0197\u0002',
- '\u0854\u0158\u0003\u0002\u0002\u0002\u0855\u0856\u0005\u033f\u01a0\u0002',
- '\u0856\u0857\u0005\u0327\u0194\u0002\u0857\u0858\u0005\u0345\u01a3\u0002',
- '\u0858\u0859\u0005\u0339\u019d\u0002\u0859\u085a\u0005\u0343\u01a2\u0002',
- '\u085a\u085b\u0005\u0337\u019c\u0002\u085b\u085c\u0005\u0341\u01a1\u0002',
- '\u085c\u015a\u0003\u0002\u0002\u0002\u085d\u085e\u0005\u034b\u01a6\u0002',
- '\u085e\u085f\u0005\u034d\u01a7\u0002\u085f\u0860\u0005\u0349\u01a5\u0002',
- '\u0860\u0861\u0005\u032f\u0198\u0002\u0861\u0862\u0005\u0327\u0194\u0002',
- '\u0862\u0863\u0005\u033f\u01a0\u0002\u0863\u0864\u0005\u034d\u01a7\u0002',
- '\u0864\u0865\u0005\u0327\u0194\u0002\u0865\u0866\u0005\u0329\u0195\u0002',
- '\u0866\u0867\u0005\u033d\u019f\u0002\u0867\u0868\u0005\u032f\u0198\u0002',
- '\u0868\u015c\u0003\u0002\u0002\u0002\u0869\u086a\u0005\u032b\u0196\u0002',
- '\u086a\u086b\u0005\u033d\u019f\u0002\u086b\u086c\u0005\u034f\u01a8\u0002',
- '\u086c\u086d\u0005\u034b\u01a6\u0002\u086d\u086e\u0005\u034d\u01a7\u0002',
- '\u086e\u086f\u0005\u032f\u0198\u0002\u086f\u0870\u0005\u0349\u01a5\u0002',
- '\u0870\u0871\u0005\u034b\u01a6\u0002\u0871\u0872\u0005\u034d\u01a7\u0002',
- '\u0872\u0873\u0005\u0327\u0194\u0002\u0873\u0874\u0005\u034d\u01a7\u0002',
- '\u0874\u0875\u0005\u034f\u01a8\u0002\u0875\u0876\u0005\u034b\u01a6\u0002',
- '\u0876\u015e\u0003\u0002\u0002\u0002\u0877\u0878\u0005\u034f\u01a8\u0002',
- '\u0878\u0879\u0005\u034d\u01a7\u0002\u0879\u087a\u0005\u032b\u0196\u0002',
- '\u087a\u0160\u0003\u0002\u0002\u0002\u087b\u087c\u0005\u034f\u01a8\u0002',
- '\u087c\u087d\u0005\u034d\u01a7\u0002\u087d\u087e\u0005\u032b\u0196\u0002',
- '\u087e\u087f\u0005\u034d\u01a7\u0002\u087f\u0880\u0005\u0337\u019c\u0002',
- '\u0880\u0881\u0005\u033f\u01a0\u0002\u0881\u0882\u0005\u032f\u0198\u0002',
- '\u0882\u0883\u0005\u034b\u01a6\u0002\u0883\u0884\u0005\u034d\u01a7\u0002',
- '\u0884\u0885\u0005\u0327\u0194\u0002\u0885\u0886\u0005\u033f\u01a0\u0002',
- '\u0886\u0887\u0005\u0345\u01a3\u0002\u0887\u0162\u0003\u0002\u0002\u0002',
- '\u0888\u0889\u0005\u033d\u019f\u0002\u0889\u088a\u0005\u0343\u01a2\u0002',
- '\u088a\u088b\u0005\u0341\u01a1\u0002\u088b\u088c\u0005\u0333\u019a\u0002',
- '\u088c\u0164\u0003\u0002\u0002\u0002\u088d\u088e\u0005\u032d\u0197\u0002',
- '\u088e\u088f\u0005\u032f\u0198\u0002\u088f\u0890\u0005\u033d\u019f\u0002',
- '\u0890\u0891\u0005\u032f\u0198\u0002\u0891\u0892\u0005\u034d\u01a7\u0002',
- '\u0892\u0893\u0005\u032f\u0198\u0002\u0893\u0166\u0003\u0002\u0002\u0002',
- '\u0894\u0895\u0005\u0345\u01a3\u0002\u0895\u0896\u0005\u033d\u019f\u0002',
- '\u0896\u0897\u0005\u034f\u01a8\u0002\u0897\u0898\u0005\u034b\u01a6\u0002',
- '\u0898\u0168\u0003\u0002\u0002\u0002\u0899\u089a\u0005\u033f\u01a0\u0002',
- '\u089a\u089b\u0005\u0337\u019c\u0002\u089b\u089c\u0005\u0341\u01a1\u0002',
- '\u089c\u089d\u0005\u034f\u01a8\u0002\u089d\u089e\u0005\u034b\u01a6\u0002',
- '\u089e\u016a\u0003\u0002\u0002\u0002\u089f\u08a0\u0005\u0331\u0199\u0002',
- '\u08a0\u08a1\u0005\u032f\u0198\u0002\u08a1\u08a2\u0005\u034d\u01a7\u0002',
- '\u08a2\u08a3\u0005\u032b\u0196\u0002\u08a3\u08a4\u0005\u0335\u019b\u0002',
- '\u08a4\u016c\u0003\u0002\u0002\u0002\u08a5\u08a6\u0005\u0337\u019c\u0002',
- '\u08a6\u08a7\u0005\u0341\u01a1\u0002\u08a7\u08a8\u0005\u034d\u01a7\u0002',
- '\u08a8\u08a9\u0005\u032f\u0198\u0002\u08a9\u08aa\u0005\u0349\u01a5\u0002',
- '\u08aa\u08ab\u0005\u034b\u01a6\u0002\u08ab\u08ac\u0005\u032f\u0198\u0002',
- '\u08ac\u08ad\u0005\u032b\u0196\u0002\u08ad\u08ae\u0005\u034d\u01a7\u0002',
- '\u08ae\u016e\u0003\u0002\u0002\u0002\u08af\u08b0\u0005\u0351\u01a9\u0002',
- '\u08b0\u08b1\u0005\u0337\u019c\u0002\u08b1\u08b2\u0005\u032f\u0198\u0002',
- '\u08b2\u08b3\u0005\u0353\u01aa\u0002\u08b3\u0170\u0003\u0002\u0002\u0002',
- '\u08b4\u08b5\u0005\u0351\u01a9\u0002\u08b5\u08b6\u0005\u0337\u019c\u0002',
- '\u08b6\u08b7\u0005\u032f\u0198\u0002\u08b7\u08b8\u0005\u0353\u01aa\u0002',
- '\u08b8\u08b9\u0005\u034b\u01a6\u0002\u08b9\u0172\u0003\u0002\u0002\u0002',
- '\u08ba\u08bb\u0005\u0337\u019c\u0002\u08bb\u08bc\u0005\u0341\u01a1\u0002',
- '\u08bc\u0174\u0003\u0002\u0002\u0002\u08bd\u08be\u0005\u032d\u0197\u0002',
- '\u08be\u08bf\u0005\u0327\u0194\u0002\u08bf\u08c0\u0005\u034d\u01a7\u0002',
- '\u08c0\u08c1\u0005\u0327\u0194\u0002\u08c1\u08c2\u0005\u0329\u0195\u0002',
- '\u08c2\u08c3\u0005\u0327\u0194\u0002\u08c3\u08c4\u0005\u034b\u01a6\u0002',
- '\u08c4\u08c5\u0005\u032f\u0198\u0002\u08c5\u0176\u0003\u0002\u0002\u0002',
- '\u08c6\u08c7\u0005\u032d\u0197\u0002\u08c7\u08c8\u0005\u0327\u0194\u0002',
- '\u08c8\u08c9\u0005\u034d\u01a7\u0002\u08c9\u08ca\u0005\u0327\u0194\u0002',
- '\u08ca\u08cb\u0005\u0329\u0195\u0002\u08cb\u08cc\u0005\u0327\u0194\u0002',
- '\u08cc\u08cd\u0005\u034b\u01a6\u0002\u08cd\u08ce\u0005\u032f\u0198\u0002',
- '\u08ce\u08cf\u0005\u034b\u01a6\u0002\u08cf\u0178\u0003\u0002\u0002\u0002',
- '\u08d0\u08d1\u0005\u033f\u01a0\u0002\u08d1\u08d2\u0005\u0327\u0194\u0002',
- '\u08d2\u08d3\u0005\u034d\u01a7\u0002\u08d3\u08d4\u0005\u032f\u0198\u0002',
- '\u08d4\u08d5\u0005\u0349\u01a5\u0002\u08d5\u08d6\u0005\u0337\u019c\u0002',
- '\u08d6\u08d7\u0005\u0327\u0194\u0002\u08d7\u08d8\u0005\u033d\u019f\u0002',
- '\u08d8\u08d9\u0005\u0337\u019c\u0002\u08d9\u08da\u0005\u0359\u01ad\u0002',
- '\u08da\u08db\u0005\u032f\u0198\u0002\u08db\u08dc\u0005\u032d\u0197\u0002',
- '\u08dc\u017a\u0003\u0002\u0002\u0002\u08dd\u08de\u0005\u034b\u01a6\u0002',
- '\u08de\u08df\u0005\u032b\u0196\u0002\u08df\u08e0\u0005\u0335\u019b\u0002',
- '\u08e0\u08e1\u0005\u032f\u0198\u0002\u08e1\u08e2\u0005\u033f\u01a0\u0002',
- '\u08e2\u08e3\u0005\u0327\u0194\u0002\u08e3\u017c\u0003\u0002\u0002\u0002',
- '\u08e4\u08e5\u0005\u034b\u01a6\u0002\u08e5\u08e6\u0005\u032b\u0196\u0002',
- '\u08e6\u08e7\u0005\u0335\u019b\u0002\u08e7\u08e8\u0005\u032f\u0198\u0002',
- '\u08e8\u08e9\u0005\u033f\u01a0\u0002\u08e9\u08ea\u0005\u0327\u0194\u0002',
- '\u08ea\u08eb\u0005\u034b\u01a6\u0002\u08eb\u017e\u0003\u0002\u0002\u0002',
- '\u08ec\u08ed\u0005\u0333\u019a\u0002\u08ed\u08ee\u0005\u0349\u01a5\u0002',
- '\u08ee\u08ef\u0005\u0327\u0194\u0002\u08ef\u08f0\u0005\u0341\u01a1\u0002',
- '\u08f0\u08f1\u0005\u034d\u01a7\u0002\u08f1\u0180\u0003\u0002\u0002\u0002',
- '\u08f2\u08f3\u0005\u0349\u01a5\u0002\u08f3\u08f4\u0005\u032f\u0198\u0002',
- '\u08f4\u08f5\u0005\u0351\u01a9\u0002\u08f5\u08f6\u0005\u0343\u01a2\u0002',
- '\u08f6\u08f7\u0005\u033b\u019e\u0002\u08f7\u08f8\u0005\u032f\u0198\u0002',
- '\u08f8\u0182\u0003\u0002\u0002\u0002\u08f9\u08fa\u0005\u034b\u01a6\u0002',
- '\u08fa\u08fb\u0005\u034b\u01a6\u0002\u08fb\u08fc\u0005\u033d\u019f\u0002',
- '\u08fc\u0184\u0003\u0002\u0002\u0002\u08fd\u08fe\u0005\u034f\u01a8\u0002',
- '\u08fe\u08ff\u0005\u0341\u01a1\u0002\u08ff\u0900\u0005\u032d\u0197\u0002',
- '\u0900\u0901\u0005\u0343\u01a2\u0002\u0901\u0186\u0003\u0002\u0002\u0002',
- '\u0902\u0903\u0005\u033d\u019f\u0002\u0903\u0904\u0005\u0343\u01a2\u0002',
- '\u0904\u0905\u0005\u032b\u0196\u0002\u0905\u0906\u0005\u033b\u019e\u0002',
- '\u0906\u0188\u0003\u0002\u0002\u0002\u0907\u0908\u0005\u033d\u019f\u0002',
- '\u0908\u0909\u0005\u0343\u01a2\u0002\u0909\u090a\u0005\u032b\u0196\u0002',
- '\u090a\u090b\u0005\u033b\u019e\u0002\u090b\u090c\u0005\u034b\u01a6\u0002',
- '\u090c\u018a\u0003\u0002\u0002\u0002\u090d\u090e\u0005\u034f\u01a8\u0002',
- '\u090e\u090f\u0005\u0341\u01a1\u0002\u090f\u0910\u0005\u033d\u019f\u0002',
- '\u0910\u0911\u0005\u0343\u01a2\u0002\u0911\u0912\u0005\u032b\u0196\u0002',
- '\u0912\u0913\u0005\u033b\u019e\u0002\u0913\u018c\u0003\u0002\u0002\u0002',
- '\u0914\u0915\u0005\u034b\u01a6\u0002\u0915\u0916\u0005\u0335\u019b\u0002',
- '\u0916\u0917\u0005\u0327\u0194\u0002\u0917\u0918\u0005\u0349\u01a5\u0002',
- '\u0918\u0919\u0005\u032f\u0198\u0002\u0919\u091a\u0005\u032d\u0197\u0002',
- '\u091a\u018e\u0003\u0002\u0002\u0002\u091b\u091c\u0005\u032f\u0198\u0002',
- '\u091c\u091d\u0005\u0355\u01ab\u0002\u091d\u091e\u0005\u032b\u0196\u0002',
- '\u091e\u091f\u0005\u033d\u019f\u0002\u091f\u0920\u0005\u034f\u01a8\u0002',
- '\u0920\u0921\u0005\u034b\u01a6\u0002\u0921\u0922\u0005\u0337\u019c\u0002',
- '\u0922\u0923\u0005\u0351\u01a9\u0002\u0923\u0924\u0005\u032f\u0198\u0002',
- '\u0924\u0190\u0003\u0002\u0002\u0002\u0925\u0926\u0005\u0345\u01a3\u0002',
- '\u0926\u0927\u0005\u0349\u01a5\u0002\u0927\u0928\u0005\u0343\u01a2\u0002',
- '\u0928\u0929\u0005\u032b\u0196\u0002\u0929\u092a\u0005\u032f\u0198\u0002',
- '\u092a\u092b\u0005\u032d\u0197\u0002\u092b\u092c\u0005\u034f\u01a8\u0002',
- '\u092c\u092d\u0005\u0349\u01a5\u0002\u092d\u092e\u0005\u032f\u0198\u0002',
- '\u092e\u0192\u0003\u0002\u0002\u0002\u092f\u0930\u0005\u034f\u01a8\u0002',
- '\u0930\u0931\u0005\u0341\u01a1\u0002\u0931\u0932\u0005\u034b\u01a6\u0002',
- '\u0932\u0933\u0005\u0337\u019c\u0002\u0933\u0934\u0005\u0333\u019a\u0002',
- '\u0934\u0935\u0005\u0341\u01a1\u0002\u0935\u0936\u0005\u032f\u0198\u0002',
- '\u0936\u0937\u0005\u032d\u0197\u0002\u0937\u0194\u0003\u0002\u0002\u0002',
- '\u0938\u0939\u0005\u0353\u01aa\u0002\u0939\u093a\u0005\u0335\u019b\u0002',
- '\u093a\u093b\u0005\u0337\u019c\u0002\u093b\u093c\u0005\u033d\u019f\u0002',
- '\u093c\u093d\u0005\u032f\u0198\u0002\u093d\u0196\u0003\u0002\u0002\u0002',
- '\u093e\u093f\u0005\u0349\u01a5\u0002\u093f\u0940\u0005\u032f\u0198\u0002',
- '\u0940\u0941\u0005\u0327\u0194\u0002\u0941\u0942\u0005\u032d\u0197\u0002',
- '\u0942\u0198\u0003\u0002\u0002\u0002\u0943\u0944\u0005\u0349\u01a5\u0002',
- '\u0944\u0945\u0005\u032f\u0198\u0002\u0945\u0946\u0005\u0327\u0194\u0002',
- '\u0946\u0947\u0005\u032d\u0197\u0002\u0947\u0948\u0005\u034b\u01a6\u0002',
- '\u0948\u019a\u0003\u0002\u0002\u0002\u0949\u094a\u0005\u0345\u01a3\u0002',
- '\u094a\u094b\u0005\u034f\u01a8\u0002\u094b\u094c\u0005\u0349\u01a5\u0002',
- '\u094c\u094d\u0005\u0333\u019a\u0002\u094d\u094e\u0005\u032f\u0198\u0002',
- '\u094e\u019c\u0003\u0002\u0002\u0002\u094f\u0950\u0005\u0349\u01a5\u0002',
- '\u0950\u0951\u0005\u0327\u0194\u0002\u0951\u0952\u0005\u0341\u01a1\u0002',
- '\u0952\u0953\u0005\u0333\u019a\u0002\u0953\u0954\u0005\u032f\u0198\u0002',
- '\u0954\u019e\u0003\u0002\u0002\u0002\u0955\u0956\u0005\u0327\u0194\u0002',
- '\u0956\u0957\u0005\u0341\u01a1\u0002\u0957\u0958\u0005\u0327\u0194\u0002',
- '\u0958\u0959\u0005\u033d\u019f\u0002\u0959\u095a\u0005\u0357\u01ac\u0002',
- '\u095a\u095b\u0005\u0359\u01ad\u0002\u095b\u095c\u0005\u032f\u0198\u0002',
- '\u095c\u01a0\u0003\u0002\u0002\u0002\u095d\u095e\u0005\u0329\u0195\u0002',
- '\u095e\u095f\u0005\u032f\u0198\u0002\u095f\u0960\u0005\u0331\u0199\u0002',
- '\u0960\u0961\u0005\u0343\u01a2\u0002\u0961\u0962\u0005\u0349\u01a5\u0002',
- '\u0962\u0963\u0005\u032f\u0198\u0002\u0963\u01a2\u0003\u0002\u0002\u0002',
- '\u0964\u0965\u0005\u0329\u0195\u0002\u0965\u0966\u0005\u032f\u0198\u0002',
- '\u0966\u0967\u0005\u034d\u01a7\u0002\u0967\u0968\u0005\u0353\u01aa\u0002',
- '\u0968\u0969\u0005\u032f\u0198\u0002\u0969\u096a\u0005\u032f\u0198\u0002',
- '\u096a\u096b\u0005\u0341\u01a1\u0002\u096b\u01a4\u0003\u0002\u0002\u0002',
- '\u096c\u096d\u0005\u0329\u0195\u0002\u096d\u096e\u0005\u0343\u01a2\u0002',
- '\u096e\u096f\u0005\u034d\u01a7\u0002\u096f\u0970\u0005\u0335\u019b\u0002',
- '\u0970\u01a6\u0003\u0002\u0002\u0002\u0971\u0972\u0005\u0329\u0195\u0002',
- '\u0972\u0973\u0005\u0337\u019c\u0002\u0973\u0974\u0005\u0341\u01a1\u0002',
- '\u0974\u0975\u0005\u0327\u0194\u0002\u0975\u0976\u0005\u0349\u01a5\u0002',
- '\u0976\u0977\u0005\u0357\u01ac\u0002\u0977\u01a8\u0003\u0002\u0002\u0002',
- '\u0978\u0979\u0005\u032b\u0196\u0002\u0979\u097a\u0005\u0349\u01a5\u0002',
- '\u097a\u097b\u0005\u0343\u01a2\u0002\u097b\u097c\u0005\u034b\u01a6\u0002',
- '\u097c\u097d\u0005\u034b\u01a6\u0002\u097d\u01aa\u0003\u0002\u0002\u0002',
- '\u097e\u097f\u0005\u032b\u0196\u0002\u097f\u0980\u0005\u0343\u01a2\u0002',
- '\u0980\u0981\u0005\u0341\u01a1\u0002\u0981\u0982\u0005\u034d\u01a7\u0002',
- '\u0982\u0983\u0005\u0337\u019c\u0002\u0983\u0984\u0005\u0341\u01a1\u0002',
- '\u0984\u0985\u0005\u034f\u01a8\u0002\u0985\u0986\u0005\u032f\u0198\u0002',
- '\u0986\u01ac\u0003\u0002\u0002\u0002\u0987\u0988\u0005\u032b\u0196\u0002',
- '\u0988\u0989\u0005\u034f\u01a8\u0002\u0989\u098a\u0005\u0349\u01a5\u0002',
- '\u098a\u098b\u0005\u034b\u01a6\u0002\u098b\u098c\u0005\u0343\u01a2\u0002',
- '\u098c\u098d\u0005\u0349\u01a5\u0002\u098d\u01ae\u0003\u0002\u0002\u0002',
- '\u098e\u098f\u0005\u034d\u01a7\u0002\u098f\u0990\u0005\u0349\u01a5\u0002',
- '\u0990\u0991\u0005\u0337\u019c\u0002\u0991\u0992\u0005\u0333\u019a\u0002',
- '\u0992\u0993\u0005\u0333\u019a\u0002\u0993\u0994\u0005\u032f\u0198\u0002',
- '\u0994\u0995\u0005\u0349\u01a5\u0002\u0995\u01b0\u0003\u0002\u0002\u0002',
- '\u0996\u0997\u0005\u0349\u01a5\u0002\u0997\u0998\u0005\u032f\u0198\u0002',
- '\u0998\u0999\u0005\u032b\u0196\u0002\u0999\u099a\u0005\u0343\u01a2\u0002',
- '\u099a\u099b\u0005\u0349\u01a5\u0002\u099b\u099c\u0005\u032d\u0197\u0002',
- '\u099c\u099d\u0005\u0349\u01a5\u0002\u099d\u099e\u0005\u032f\u0198\u0002',
- '\u099e\u099f\u0005\u0327\u0194\u0002\u099f\u09a0\u0005\u032d\u0197\u0002',
- '\u09a0\u09a1\u0005\u032f\u0198\u0002\u09a1\u09a2\u0005\u0349\u01a5\u0002',
- '\u09a2\u01b2\u0003\u0002\u0002\u0002\u09a3\u09a4\u0005\u0349\u01a5\u0002',
- '\u09a4\u09a5\u0005\u032f\u0198\u0002\u09a5\u09a6\u0005\u032b\u0196\u0002',
- '\u09a6\u09a7\u0005\u0343\u01a2\u0002\u09a7\u09a8\u0005\u0349\u01a5\u0002',
- '\u09a8\u09a9\u0005\u032d\u0197\u0002\u09a9\u09aa\u0005\u0353\u01aa\u0002',
- '\u09aa\u09ab\u0005\u0349\u01a5\u0002\u09ab\u09ac\u0005\u0337\u019c\u0002',
- '\u09ac\u09ad\u0005\u034d\u01a7\u0002\u09ad\u09ae\u0005\u032f\u0198\u0002',
- '\u09ae\u09af\u0005\u0349\u01a5\u0002\u09af\u01b4\u0003\u0002\u0002\u0002',
- '\u09b0\u09b1\u0005\u034b\u01a6\u0002\u09b1\u09b2\u0005\u032f\u0198\u0002',
- '\u09b2\u09b3\u0005\u033f\u01a0\u0002\u09b3\u09b4\u0005\u0337\u019c\u0002',
- '\u09b4\u01b6\u0003\u0002\u0002\u0002\u09b5\u09b6\u0005\u033d\u019f\u0002',
- '\u09b6\u09b7\u0005\u0327\u0194\u0002\u09b7\u09b8\u0005\u034d\u01a7\u0002',
- '\u09b8\u09b9\u0005\u032f\u0198\u0002\u09b9\u09ba\u0005\u0349\u01a5\u0002',
- '\u09ba\u09bb\u0005\u0327\u0194\u0002\u09bb\u09bc\u0005\u033d\u019f\u0002',
- '\u09bc\u01b8\u0003\u0002\u0002\u0002\u09bd\u09be\u0005\u034d\u01a7\u0002',
- '\u09be\u09bf\u0005\u0343\u01a2\u0002\u09bf\u09c0\u0005\u034f\u01a8\u0002',
- '\u09c0\u09c1\u0005\u032b\u0196\u0002\u09c1\u09c2\u0005\u0335\u019b\u0002',
- '\u09c2\u01ba\u0003\u0002\u0002\u0002\u09c3\u09c4\u0005\u0327\u0194\u0002',
- '\u09c4\u09c5\u0005\u0349\u01a5\u0002\u09c5\u09c6\u0005\u032b\u0196\u0002',
- '\u09c6\u09c7\u0005\u0335\u019b\u0002\u09c7\u09c8\u0005\u0337\u019c\u0002',
- '\u09c8\u09c9\u0005\u0351\u01a9\u0002\u09c9\u09ca\u0005\u032f\u0198\u0002',
- '\u09ca\u01bc\u0003\u0002\u0002\u0002\u09cb\u09cc\u0005\u034f\u01a8\u0002',
- '\u09cc\u09cd\u0005\u0341\u01a1\u0002\u09cd\u09ce\u0005\u0327\u0194\u0002',
- '\u09ce\u09cf\u0005\u0349\u01a5\u0002\u09cf\u09d0\u0005\u032b\u0196\u0002',
- '\u09d0\u09d1\u0005\u0335\u019b\u0002\u09d1\u09d2\u0005\u0337\u019c\u0002',
- '\u09d2\u09d3\u0005\u0351\u01a9\u0002\u09d3\u09d4\u0005\u032f\u0198\u0002',
- '\u09d4\u01be\u0003\u0002\u0002\u0002\u09d5\u09d6\u0005\u032b\u0196\u0002',
- '\u09d6\u09d7\u0005\u0343\u01a2\u0002\u09d7\u09d8\u0005\u033f\u01a0\u0002',
- '\u09d8\u09d9\u0005\u0345\u01a3\u0002\u09d9\u09da\u0005\u034f\u01a8\u0002',
- '\u09da\u09db\u0005\u034d\u01a7\u0002\u09db\u09dc\u0005\u032f\u0198\u0002',
- '\u09dc\u01c0\u0003\u0002\u0002\u0002\u09dd\u09de\u0005\u034b\u01a6\u0002',
- '\u09de\u09df\u0005\u034d\u01a7\u0002\u09df\u09e0\u0005\u0327\u0194\u0002',
- '\u09e0\u09e1\u0005\u034d\u01a7\u0002\u09e1\u09e2\u0005\u0337\u019c\u0002',
- '\u09e2\u09e3\u0005\u034b\u01a6\u0002\u09e3\u09e4\u0005\u034d\u01a7\u0002',
- '\u09e4\u09e5\u0005\u0337\u019c\u0002\u09e5\u09e6\u0005\u032b\u0196\u0002',
- '\u09e6\u09e7\u0005\u034b\u01a6\u0002\u09e7\u01c2\u0003\u0002\u0002\u0002',
- '\u09e8\u09e9\u0005\u034f\u01a8\u0002\u09e9\u09ea\u0005\u034b\u01a6\u0002',
- '\u09ea\u09eb\u0005\u032f\u0198\u0002\u09eb\u01c4\u0003\u0002\u0002\u0002',
- '\u09ec\u09ed\u0005\u0343\u01a2\u0002\u09ed\u09ee\u0005\u0345\u01a3\u0002',
- '\u09ee\u09ef\u0005\u034d\u01a7\u0002\u09ef\u09f0\u0005\u0337\u019c\u0002',
- '\u09f0\u09f1\u0005\u0343\u01a2\u0002\u09f1\u09f2\u0005\u0341\u01a1\u0002',
- '\u09f2\u09f3\u0005\u034b\u01a6\u0002\u09f3\u01c6\u0003\u0002\u0002\u0002',
- '\u09f4\u09f5\u0005\u0343\u01a2\u0002\u09f5\u09f6\u0005\u0345\u01a3\u0002',
- '\u09f6\u09f7\u0005\u034d\u01a7\u0002\u09f7\u09f8\u0005\u0337\u019c\u0002',
- '\u09f8\u09f9\u0005\u0343\u01a2\u0002\u09f9\u09fa\u0005\u0341\u01a1\u0002',
- '\u09fa\u01c8\u0003\u0002\u0002\u0002\u09fb\u09fc\u0005\u032b\u0196\u0002',
- '\u09fc\u09fd\u0005\u0343\u01a2\u0002\u09fd\u09fe\u0005\u0341\u01a1\u0002',
- '\u09fe\u09ff\u0005\u032b\u0196\u0002\u09ff\u0a00\u0005\u0327\u0194\u0002',
- '\u0a00\u0a01\u0005\u034d\u01a7\u0002\u0a01\u0a02\u0005\u032f\u0198\u0002',
- '\u0a02\u0a03\u0005\u0341\u01a1\u0002\u0a03\u0a04\u0005\u0327\u0194\u0002',
- '\u0a04\u0a05\u0005\u034d\u01a7\u0002\u0a05\u0a06\u0005\u032f\u0198\u0002',
- '\u0a06\u01ca\u0003\u0002\u0002\u0002\u0a07\u0a08\u0005\u032b\u0196\u0002',
- '\u0a08\u0a09\u0005\u0327\u0194\u0002\u0a09\u0a0a\u0005\u034d\u01a7\u0002',
- '\u0a0a\u0a0b\u0005\u0327\u0194\u0002\u0a0b\u0a0c\u0005\u033d\u019f\u0002',
- '\u0a0c\u0a0d\u0005\u0343\u01a2\u0002\u0a0d\u0a0e\u0005\u0333\u019a\u0002',
- '\u0a0e\u01cc\u0003\u0002\u0002\u0002\u0a0f\u0a10\u0005\u034b\u01a6\u0002',
- '\u0a10\u0a11\u0005\u0335\u019b\u0002\u0a11\u0a12\u0005\u0343\u01a2\u0002',
- '\u0a12\u0a13\u0005\u0353\u01aa\u0002\u0a13\u0a14\u0007a\u0002\u0002',
- '\u0a14\u0a15\u0005\u032d\u0197\u0002\u0a15\u0a16\u0005\u0327\u0194\u0002',
- '\u0a16\u0a17\u0005\u034d\u01a7\u0002\u0a17\u0a18\u0005\u0327\u0194\u0002',
- '\u0a18\u0a19\u0005\u0329\u0195\u0002\u0a19\u0a1a\u0005\u0327\u0194\u0002',
- '\u0a1a\u0a1b\u0005\u034b\u01a6\u0002\u0a1b\u0a1c\u0005\u032f\u0198\u0002',
- '\u0a1c\u01ce\u0003\u0002\u0002\u0002\u0a1d\u0a1e\u0005\u034f\u01a8\u0002',
- '\u0a1e\u0a1f\u0005\u0345\u01a3\u0002\u0a1f\u0a20\u0005\u032d\u0197\u0002',
- '\u0a20\u0a21\u0005\u0327\u0194\u0002\u0a21\u0a22\u0005\u034d\u01a7\u0002',
- '\u0a22\u0a23\u0005\u032f\u0198\u0002\u0a23\u01d0\u0003\u0002\u0002\u0002',
- '\u0a24\u0a25\u0005\u0349\u01a5\u0002\u0a25\u0a26\u0005\u032f\u0198\u0002',
- '\u0a26\u0a27\u0005\u034b\u01a6\u0002\u0a27\u0a28\u0005\u034d\u01a7\u0002',
- '\u0a28\u0a29\u0005\u0349\u01a5\u0002\u0a29\u0a2a\u0005\u0337\u019c\u0002',
- '\u0a2a\u0a2b\u0005\u032b\u0196\u0002\u0a2b\u0a2c\u0005\u034d\u01a7\u0002',
- '\u0a2c\u01d2\u0003\u0002\u0002\u0002\u0a2d\u0a2e\u0005\u032b\u0196\u0002',
- '\u0a2e\u0a2f\u0005\u0327\u0194\u0002\u0a2f\u0a30\u0005\u034b\u01a6\u0002',
- '\u0a30\u0a31\u0005\u032b\u0196\u0002\u0a31\u0a32\u0005\u0327\u0194\u0002',
- '\u0a32\u0a33\u0005\u032d\u0197\u0002\u0a33\u0a34\u0005\u032f\u0198\u0002',
- '\u0a34\u01d4\u0003\u0002\u0002\u0002\u0a35\u0a36\u0005\u034b\u01a6\u0002',
- '\u0a36\u0a37\u0005\u033b\u019e\u0002\u0a37\u0a38\u0005\u032f\u0198\u0002',
- '\u0a38\u0a39\u0005\u0353\u01aa\u0002\u0a39\u0a3a\u0005\u032f\u0198\u0002',
- '\u0a3a\u0a3b\u0005\u032d\u0197\u0002\u0a3b\u01d6\u0003\u0002\u0002\u0002',
- '\u0a3c\u0a3d\u0005\u0349\u01a5\u0002\u0a3d\u0a3e\u0005\u0343\u01a2\u0002',
- '\u0a3e\u0a3f\u0005\u033d\u019f\u0002\u0a3f\u0a40\u0005\u033d\u019f\u0002',
- '\u0a40\u0a41\u0005\u034f\u01a8\u0002\u0a41\u0a42\u0005\u0345\u01a3\u0002',
- '\u0a42\u01d8\u0003\u0002\u0002\u0002\u0a43\u0a44\u0005\u032b\u0196\u0002',
- '\u0a44\u0a45\u0005\u034f\u01a8\u0002\u0a45\u0a46\u0005\u0329\u0195\u0002',
- '\u0a46\u0a47\u0005\u032f\u0198\u0002\u0a47\u01da\u0003\u0002\u0002\u0002',
- '\u0a48\u0a49\u0005\u032d\u0197\u0002\u0a49\u0a4a\u0005\u0337\u019c\u0002',
- '\u0a4a\u0a4b\u0005\u0349\u01a5\u0002\u0a4b\u0a4c\u0005\u032f\u0198\u0002',
- '\u0a4c\u0a4d\u0005\u032b\u0196\u0002\u0a4d\u0a4e\u0005\u034d\u01a7\u0002',
- '\u0a4e\u0a4f\u0005\u0343\u01a2\u0002\u0a4f\u0a50\u0005\u0349\u01a5\u0002',
- '\u0a50\u0a51\u0005\u0337\u019c\u0002\u0a51\u0a52\u0005\u032f\u0198\u0002',
- '\u0a52\u0a53\u0005\u034b\u01a6\u0002\u0a53\u01dc\u0003\u0002\u0002\u0002',
- '\u0a54\u0a55\u0005\u0331\u0199\u0002\u0a55\u0a56\u0005\u0343\u01a2\u0002',
- '\u0a56\u0a57\u0005\u0349\u01a5\u0002\u0a57\u01de\u0003\u0002\u0002\u0002',
- '\u0a58\u0a59\u0005\u0353\u01aa\u0002\u0a59\u0a5a\u0005\u0337\u019c\u0002',
- '\u0a5a\u0a5b\u0005\u0341\u01a1\u0002\u0a5b\u0a5c\u0005\u032d\u0197\u0002',
- '\u0a5c\u0a5d\u0005\u0343\u01a2\u0002\u0a5d\u0a5e\u0005\u0353\u01aa\u0002',
- '\u0a5e\u01e0\u0003\u0002\u0002\u0002\u0a5f\u0a60\u0005\u034f\u01a8\u0002',
- '\u0a60\u0a61\u0005\u0341\u01a1\u0002\u0a61\u0a62\u0005\u0329\u0195\u0002',
- '\u0a62\u0a63\u0005\u0343\u01a2\u0002\u0a63\u0a64\u0005\u034f\u01a8\u0002',
- '\u0a64\u0a65\u0005\u0341\u01a1\u0002\u0a65\u0a66\u0005\u032d\u0197\u0002',
- '\u0a66\u0a67\u0005\u032f\u0198\u0002\u0a67\u0a68\u0005\u032d\u0197\u0002',
- '\u0a68\u01e2\u0003\u0002\u0002\u0002\u0a69\u0a6a\u0005\u0345\u01a3\u0002',
- '\u0a6a\u0a6b\u0005\u0349\u01a5\u0002\u0a6b\u0a6c\u0005\u032f\u0198\u0002',
- '\u0a6c\u0a6d\u0005\u032b\u0196\u0002\u0a6d\u0a6e\u0005\u032f\u0198\u0002',
- '\u0a6e\u0a6f\u0005\u032d\u0197\u0002\u0a6f\u0a70\u0005\u0337\u019c\u0002',
- '\u0a70\u0a71\u0005\u0341\u01a1\u0002\u0a71\u0a72\u0005\u0333\u019a\u0002',
- '\u0a72\u01e4\u0003\u0002\u0002\u0002\u0a73\u0a74\u0005\u0331\u0199\u0002',
- '\u0a74\u0a75\u0005\u0343\u01a2\u0002\u0a75\u0a76\u0005\u033d\u019f\u0002',
- '\u0a76\u0a77\u0005\u033d\u019f\u0002\u0a77\u0a78\u0005\u0343\u01a2\u0002',
- '\u0a78\u0a79\u0005\u0353\u01aa\u0002\u0a79\u0a7a\u0005\u0337\u019c\u0002',
- '\u0a7a\u0a7b\u0005\u0341\u01a1\u0002\u0a7b\u0a7c\u0005\u0333\u019a\u0002',
- '\u0a7c\u01e6\u0003\u0002\u0002\u0002\u0a7d\u0a7e\u0005\u032b\u0196\u0002',
- '\u0a7e\u0a7f\u0005\u034f\u01a8\u0002\u0a7f\u0a80\u0005\u0349\u01a5\u0002',
- '\u0a80\u0a81\u0005\u0349\u01a5\u0002\u0a81\u0a82\u0005\u032f\u0198\u0002',
- '\u0a82\u0a83\u0005\u0341\u01a1\u0002\u0a83\u0a84\u0005\u034d\u01a7\u0002',
- '\u0a84\u01e8\u0003\u0002\u0002\u0002\u0a85\u0a86\u0005\u032b\u0196\u0002',
- '\u0a86\u0a87\u0005\u034f\u01a8\u0002\u0a87\u0a88\u0005\u0349\u01a5\u0002',
- '\u0a88\u0a89\u0005\u0349\u01a5\u0002\u0a89\u0a8a\u0005\u032f\u0198\u0002',
- '\u0a8a\u0a8b\u0005\u0341\u01a1\u0002\u0a8b\u0a8c\u0005\u034d\u01a7\u0002',
- '\u0a8c\u0a8d\u0007a\u0002\u0002\u0a8d\u0a8e\u0005\u032d\u0197\u0002',
- '\u0a8e\u0a8f\u0005\u0327\u0194\u0002\u0a8f\u0a90\u0005\u034d\u01a7\u0002',
- '\u0a90\u0a91\u0005\u032f\u0198\u0002\u0a91\u01ea\u0003\u0002\u0002\u0002',
- '\u0a92\u0a93\u0005\u032b\u0196\u0002\u0a93\u0a94\u0005\u034f\u01a8\u0002',
- '\u0a94\u0a95\u0005\u0349\u01a5\u0002\u0a95\u0a96\u0005\u0349\u01a5\u0002',
- '\u0a96\u0a97\u0005\u032f\u0198\u0002\u0a97\u0a98\u0005\u0341\u01a1\u0002',
- '\u0a98\u0a99\u0005\u034d\u01a7\u0002\u0a99\u0a9a\u0007a\u0002\u0002',
- '\u0a9a\u0a9b\u0005\u034d\u01a7\u0002\u0a9b\u0a9c\u0005\u0337\u019c\u0002',
- '\u0a9c\u0a9d\u0005\u033f\u01a0\u0002\u0a9d\u0a9e\u0005\u032f\u0198\u0002',
- '\u0a9e\u0a9f\u0005\u034b\u01a6\u0002\u0a9f\u0aa0\u0005\u034d\u01a7\u0002',
- '\u0aa0\u0aa1\u0005\u0327\u0194\u0002\u0aa1\u0aa2\u0005\u033f\u01a0\u0002',
- '\u0aa2\u0aa3\u0005\u0345\u01a3\u0002\u0aa3\u01ec\u0003\u0002\u0002\u0002',
- '\u0aa4\u0aa5\u0005\u033d\u019f\u0002\u0aa5\u0aa6\u0005\u032f\u0198\u0002',
- '\u0aa6\u0aa7\u0005\u034b\u01a6\u0002\u0aa7\u0aa8\u0005\u034b\u01a6\u0002',
- '\u0aa8\u01ee\u0003\u0002\u0002\u0002\u0aa9\u0aaa\u0005\u033f\u01a0\u0002',
- '\u0aaa\u0aab\u0005\u0343\u01a2\u0002\u0aab\u0aac\u0005\u0349\u01a5\u0002',
- '\u0aac\u0aad\u0005\u032f\u0198\u0002\u0aad\u01f0\u0003\u0002\u0002\u0002',
- '\u0aae\u0aaf\u0005\u0343\u01a2\u0002\u0aaf\u0ab0\u0005\u0351\u01a9\u0002',
- '\u0ab0\u0ab1\u0005\u032f\u0198\u0002\u0ab1\u0ab2\u0005\u0349\u01a5\u0002',
- '\u0ab2\u01f2\u0003\u0002\u0002\u0002\u0ab3\u0ab4\u0005\u0333\u019a\u0002',
- '\u0ab4\u0ab5\u0005\u0349\u01a5\u0002\u0ab5\u0ab6\u0005\u0343\u01a2\u0002',
- '\u0ab6\u0ab7\u0005\u034f\u01a8\u0002\u0ab7\u0ab8\u0005\u0345\u01a3\u0002',
- '\u0ab8\u0ab9\u0005\u0337\u019c\u0002\u0ab9\u0aba\u0005\u0341\u01a1\u0002',
- '\u0aba\u0abb\u0005\u0333\u019a\u0002\u0abb\u01f4\u0003\u0002\u0002\u0002',
- '\u0abc\u0abd\u0005\u034b\u01a6\u0002\u0abd\u0abe\u0005\u032f\u0198\u0002',
- '\u0abe\u0abf\u0005\u034d\u01a7\u0002\u0abf\u0ac0\u0005\u034b\u01a6\u0002',
- '\u0ac0\u01f6\u0003\u0002\u0002\u0002\u0ac1\u0ac2\u0005\u034d\u01a7\u0002',
- '\u0ac2\u0ac3\u0005\u0349\u01a5\u0002\u0ac3\u0ac4\u0005\u034f\u01a8\u0002',
- '\u0ac4\u0ac5\u0005\u0341\u01a1\u0002\u0ac5\u0ac6\u0005\u032b\u0196\u0002',
- '\u0ac6\u0ac7\u0005\u0327\u0194\u0002\u0ac7\u0ac8\u0005\u034d\u01a7\u0002',
- '\u0ac8\u0ac9\u0005\u032f\u0198\u0002\u0ac9\u01f8\u0003\u0002\u0002\u0002',
- '\u0aca\u0acb\u0005\u0341\u01a1\u0002\u0acb\u0acc\u0005\u0343\u01a2\u0002',
- '\u0acc\u0acd\u0005\u034b\u01a6\u0002\u0acd\u0ace\u0005\u032b\u0196\u0002',
- '\u0ace\u0acf\u0005\u0327\u0194\u0002\u0acf\u0ad0\u0005\u0341\u01a1\u0002',
- '\u0ad0\u01fa\u0003\u0002\u0002\u0002\u0ad1\u0ad2\u0005\u034f\u01a8\u0002',
- '\u0ad2\u0ad3\u0005\u034b\u01a6\u0002\u0ad3\u0ad4\u0005\u032f\u0198\u0002',
- '\u0ad4\u0ad5\u0005\u0349\u01a5\u0002\u0ad5\u01fc\u0003\u0002\u0002\u0002',
- '\u0ad6\u0ad7\u0005\u0349\u01a5\u0002\u0ad7\u0ad8\u0005\u0343\u01a2\u0002',
- '\u0ad8\u0ad9\u0005\u033d\u019f\u0002\u0ad9\u0ada\u0005\u032f\u0198\u0002',
- '\u0ada\u01fe\u0003\u0002\u0002\u0002\u0adb\u0adc\u0005\u0349\u01a5\u0002',
- '\u0adc\u0add\u0005\u0343\u01a2\u0002\u0add\u0ade\u0005\u033d\u019f\u0002',
- '\u0ade\u0adf\u0005\u032f\u0198\u0002\u0adf\u0ae0\u0005\u034b\u01a6\u0002',
- '\u0ae0\u0200\u0003\u0002\u0002\u0002\u0ae1\u0ae2\u0005\u0337\u019c\u0002',
- '\u0ae2\u0ae3\u0005\u0341\u01a1\u0002\u0ae3\u0ae4\u0005\u0341\u01a1\u0002',
- '\u0ae4\u0ae5\u0005\u032f\u0198\u0002\u0ae5\u0ae6\u0005\u0349\u01a5\u0002',
- '\u0ae6\u0202\u0003\u0002\u0002\u0002\u0ae7\u0ae8\u0005\u032f\u0198\u0002',
- '\u0ae8\u0ae9\u0005\u0355\u01ab\u0002\u0ae9\u0aea\u0005\u032b\u0196\u0002',
- '\u0aea\u0aeb\u0005\u0335\u019b\u0002\u0aeb\u0aec\u0005\u0327\u0194\u0002',
- '\u0aec\u0aed\u0005\u0341\u01a1\u0002\u0aed\u0aee\u0005\u0333\u019a\u0002',
- '\u0aee\u0aef\u0005\u032f\u0198\u0002\u0aef\u0204\u0003\u0002\u0002\u0002',
- '\u0af0\u0af1\u0005\u034f\u01a8\u0002\u0af1\u0af2\u0005\u0349\u01a5\u0002',
- '\u0af2\u0af3\u0005\u0337\u019c\u0002\u0af3\u0206\u0003\u0002\u0002\u0002',
- '\u0af4\u0af5\u0005\u034b\u01a6\u0002\u0af5\u0af6\u0005\u032f\u0198\u0002',
- '\u0af6\u0af7\u0005\u0349\u01a5\u0002\u0af7\u0af8\u0005\u0351\u01a9\u0002',
- '\u0af8\u0af9\u0005\u032f\u0198\u0002\u0af9\u0afa\u0005\u0349\u01a5\u0002',
- '\u0afa\u0208\u0003\u0002\u0002\u0002\u0afb\u0afc\u0005\u0327\u0194\u0002',
- '\u0afc\u0afd\u0005\u032d\u0197\u0002\u0afd\u0afe\u0005\u033f\u01a0\u0002',
- '\u0afe\u0aff\u0005\u0337\u019c\u0002\u0aff\u0b00\u0005\u0341\u01a1\u0002',
- '\u0b00\u020a\u0003\u0002\u0002\u0002\u0b01\u0b02\u0005\u0343\u01a2\u0002',
- '\u0b02\u0b03\u0005\u0353\u01aa\u0002\u0b03\u0b04\u0005\u0341\u01a1\u0002',
- '\u0b04\u0b05\u0005\u032f\u0198\u0002\u0b05\u0b06\u0005\u0349\u01a5\u0002',
- '\u0b06\u020c\u0003\u0002\u0002\u0002\u0b07\u0b08\u0005\u0345\u01a3\u0002',
- '\u0b08\u0b09\u0005\u0349\u01a5\u0002\u0b09\u0b0a\u0005\u0337\u019c\u0002',
- '\u0b0a\u0b0b\u0005\u0341\u01a1\u0002\u0b0b\u0b0c\u0005\u032b\u0196\u0002',
- '\u0b0c\u0b0d\u0005\u0337\u019c\u0002\u0b0d\u0b0e\u0005\u0345\u01a3\u0002',
- '\u0b0e\u0b0f\u0005\u0327\u0194\u0002\u0b0f\u0b10\u0005\u033d\u019f\u0002',
- '\u0b10\u0b11\u0005\u034b\u01a6\u0002\u0b11\u020e\u0003\u0002\u0002\u0002',
- '\u0b12\u0b13\u0005\u032b\u0196\u0002\u0b13\u0b14\u0005\u0343\u01a2\u0002',
- '\u0b14\u0b15\u0005\u033f\u01a0\u0002\u0b15\u0b16\u0005\u0345\u01a3\u0002',
- '\u0b16\u0b17\u0005\u0327\u0194\u0002\u0b17\u0b18\u0005\u032b\u0196\u0002',
- '\u0b18\u0b19\u0005\u034d\u01a7\u0002\u0b19\u0210\u0003\u0002\u0002\u0002',
- '\u0b1a\u0b1b\u0005\u032b\u0196\u0002\u0b1b\u0b1c\u0005\u0343\u01a2\u0002',
- '\u0b1c\u0b1d\u0005\u033f\u01a0\u0002\u0b1d\u0b1e\u0005\u0345\u01a3\u0002',
- '\u0b1e\u0b1f\u0005\u0327\u0194\u0002\u0b1f\u0b20\u0005\u032b\u0196\u0002',
- '\u0b20\u0b21\u0005\u034d\u01a7\u0002\u0b21\u0b22\u0005\u0337\u019c\u0002',
- '\u0b22\u0b23\u0005\u0343\u01a2\u0002\u0b23\u0b24\u0005\u0341\u01a1\u0002',
- '\u0b24\u0b25\u0005\u034b\u01a6\u0002\u0b25\u0212\u0003\u0002\u0002\u0002',
- '\u0b26\u0b27\u0005\u034d\u01a7\u0002\u0b27\u0b28\u0005\u0349\u01a5\u0002',
- '\u0b28\u0b29\u0005\u0327\u0194\u0002\u0b29\u0b2a\u0005\u0341\u01a1\u0002',
- '\u0b2a\u0b2b\u0005\u034b\u01a6\u0002\u0b2b\u0b2c\u0005\u0327\u0194\u0002',
- '\u0b2c\u0b2d\u0005\u032b\u0196\u0002\u0b2d\u0b2e\u0005\u034d\u01a7\u0002',
- '\u0b2e\u0b2f\u0005\u0337\u019c\u0002\u0b2f\u0b30\u0005\u0343\u01a2\u0002',
- '\u0b30\u0b31\u0005\u0341\u01a1\u0002\u0b31\u0b32\u0005\u034b\u01a6\u0002',
- '\u0b32\u0214\u0003\u0002\u0002\u0002\u0b33\u0b34\u0005\u0349\u01a5\u0002',
- '\u0b34\u0b35\u0005\u032f\u0198\u0002\u0b35\u0b36\u0005\u0353\u01aa\u0002',
- '\u0b36\u0b37\u0005\u0349\u01a5\u0002\u0b37\u0b38\u0005\u0337\u019c\u0002',
- '\u0b38\u0b39\u0005\u034d\u01a7\u0002\u0b39\u0b3a\u0005\u032f\u0198\u0002',
- '\u0b3a\u0216\u0003\u0002\u0002\u0002\u0b3b\u0b3c\u0005\u0327\u0194\u0002',
- '\u0b3c\u0b3d\u0005\u034f\u01a8\u0002\u0b3d\u0b3e\u0005\u034d\u01a7\u0002',
- '\u0b3e\u0b3f\u0005\u0335\u019b\u0002\u0b3f\u0b40\u0005\u0343\u01a2\u0002',
- '\u0b40\u0b41\u0005\u0349\u01a5\u0002\u0b41\u0b42\u0005\u0337\u019c\u0002',
- '\u0b42\u0b43\u0005\u0359\u01ad\u0002\u0b43\u0b44\u0005\u0327\u0194\u0002',
- '\u0b44\u0b45\u0005\u034d\u01a7\u0002\u0b45\u0b46\u0005\u0337\u019c\u0002',
- '\u0b46\u0b47\u0005\u0343\u01a2\u0002\u0b47\u0b48\u0005\u0341\u01a1\u0002',
- '\u0b48\u0218\u0003\u0002\u0002\u0002\u0b49\u0b4a\u0005\u0349\u01a5\u0002',
- '\u0b4a\u0b4b\u0005\u032f\u0198\u0002\u0b4b\u0b4c\u0005\u0343\u01a2\u0002',
- '\u0b4c\u0b4d\u0005\u0345\u01a3\u0002\u0b4d\u0b4e\u0005\u034d\u01a7\u0002',
- '\u0b4e\u0b4f\u0005\u0337\u019c\u0002\u0b4f\u0b50\u0005\u033f\u01a0\u0002',
- '\u0b50\u0b51\u0005\u0337\u019c\u0002\u0b51\u0b52\u0005\u0359\u01ad\u0002',
- '\u0b52\u0b53\u0005\u0327\u0194\u0002\u0b53\u0b54\u0005\u034d\u01a7\u0002',
- '\u0b54\u0b55\u0005\u0337\u019c\u0002\u0b55\u0b56\u0005\u0343\u01a2\u0002',
- '\u0b56\u0b57\u0005\u0341\u01a1\u0002\u0b57\u021a\u0003\u0002\u0002\u0002',
- '\u0b58\u0b59\u0005\u032b\u0196\u0002\u0b59\u0b5a\u0005\u0343\u01a2\u0002',
- '\u0b5a\u0b5b\u0005\u0341\u01a1\u0002\u0b5b\u0b5c\u0005\u0331\u0199\u0002',
- '\u0b5c\u021c\u0003\u0002\u0002\u0002\u0b5d\u0b5e\u0005\u0351\u01a9\u0002',
- '\u0b5e\u0b5f\u0005\u0327\u0194\u0002\u0b5f\u0b60\u0005\u033d\u019f\u0002',
- '\u0b60\u0b61\u0005\u034f\u01a8\u0002\u0b61\u0b62\u0005\u032f\u0198\u0002',
- '\u0b62\u0b63\u0005\u034b\u01a6\u0002\u0b63\u021e\u0003\u0002\u0002\u0002',
- '\u0b64\u0b65\u0005\u0349\u01a5\u0002\u0b65\u0b66\u0005\u032f\u0198\u0002',
- '\u0b66\u0b67\u0005\u033d\u019f\u0002\u0b67\u0b68\u0005\u0343\u01a2\u0002',
- '\u0b68\u0b69\u0005\u0327\u0194\u0002\u0b69\u0b6a\u0005\u032d\u0197\u0002',
- '\u0b6a\u0220\u0003\u0002\u0002\u0002\u0b6b\u0b6c\u0005\u0357\u01ac\u0002',
- '\u0b6c\u0b6d\u0005\u032f\u0198\u0002\u0b6d\u0b6e\u0005\u0327\u0194\u0002',
- '\u0b6e\u0b6f\u0005\u0349\u01a5\u0002\u0b6f\u0b77\u0003\u0002\u0002\u0002',
- '\u0b70\u0b71\u0005\u0357\u01ac\u0002\u0b71\u0b72\u0005\u032f\u0198\u0002',
- '\u0b72\u0b73\u0005\u0327\u0194\u0002\u0b73\u0b74\u0005\u0349\u01a5\u0002',
- '\u0b74\u0b75\u0005\u034b\u01a6\u0002\u0b75\u0b77\u0003\u0002\u0002\u0002',
- '\u0b76\u0b6b\u0003\u0002\u0002\u0002\u0b76\u0b70\u0003\u0002\u0002\u0002',
- '\u0b77\u0222\u0003\u0002\u0002\u0002\u0b78\u0b79\u0005\u0347\u01a4\u0002',
- '\u0b79\u0b7a\u0005\u034f\u01a8\u0002\u0b7a\u0b7b\u0005\u032f\u0198\u0002',
- '\u0b7b\u0b7c\u0005\u0349\u01a5\u0002\u0b7c\u0b7d\u0005\u0357\u01ac\u0002',
- '\u0b7d\u0224\u0003\u0002\u0002\u0002\u0b7e\u0b7f\u0005\u0347\u01a4\u0002',
- '\u0b7f\u0b80\u0005\u034f\u01a8\u0002\u0b80\u0b81\u0005\u0327\u0194\u0002',
- '\u0b81\u0b82\u0005\u0349\u01a5\u0002\u0b82\u0b83\u0005\u034d\u01a7\u0002',
- '\u0b83\u0b84\u0005\u032f\u0198\u0002\u0b84\u0b85\u0005\u0349\u01a5\u0002',
- '\u0b85\u0226\u0003\u0002\u0002\u0002\u0b86\u0b87\u0005\u033f\u01a0\u0002',
- '\u0b87\u0b88\u0005\u0343\u01a2\u0002\u0b88\u0b89\u0005\u0341\u01a1\u0002',
- '\u0b89\u0b8a\u0005\u034d\u01a7\u0002\u0b8a\u0b8b\u0005\u0335\u019b\u0002',
- '\u0b8b\u0b94\u0003\u0002\u0002\u0002\u0b8c\u0b8d\u0005\u033f\u01a0\u0002',
- '\u0b8d\u0b8e\u0005\u0343\u01a2\u0002\u0b8e\u0b8f\u0005\u0341\u01a1\u0002',
- '\u0b8f\u0b90\u0005\u034d\u01a7\u0002\u0b90\u0b91\u0005\u0335\u019b\u0002',
- '\u0b91\u0b92\u0005\u034b\u01a6\u0002\u0b92\u0b94\u0003\u0002\u0002\u0002',
- '\u0b93\u0b86\u0003\u0002\u0002\u0002\u0b93\u0b8c\u0003\u0002\u0002\u0002',
- '\u0b94\u0228\u0003\u0002\u0002\u0002\u0b95\u0b96\u0005\u0353\u01aa\u0002',
- '\u0b96\u0b97\u0005\u032f\u0198\u0002\u0b97\u0b98\u0005\u032f\u0198\u0002',
- '\u0b98\u0b99\u0005\u033b\u019e\u0002\u0b99\u0ba1\u0003\u0002\u0002\u0002',
- '\u0b9a\u0b9b\u0005\u0353\u01aa\u0002\u0b9b\u0b9c\u0005\u032f\u0198\u0002',
- '\u0b9c\u0b9d\u0005\u032f\u0198\u0002\u0b9d\u0b9e\u0005\u033b\u019e\u0002',
- '\u0b9e\u0b9f\u0005\u034b\u01a6\u0002\u0b9f\u0ba1\u0003\u0002\u0002\u0002',
- '\u0ba0\u0b95\u0003\u0002\u0002\u0002\u0ba0\u0b9a\u0003\u0002\u0002\u0002',
- '\u0ba1\u022a\u0003\u0002\u0002\u0002\u0ba2\u0ba3\u0005\u032d\u0197\u0002',
- '\u0ba3\u0ba4\u0005\u0327\u0194\u0002\u0ba4\u0ba5\u0005\u0357\u01ac\u0002',
- '\u0ba5\u0bac\u0003\u0002\u0002\u0002\u0ba6\u0ba7\u0005\u032d\u0197\u0002',
- '\u0ba7\u0ba8\u0005\u0327\u0194\u0002\u0ba8\u0ba9\u0005\u0357\u01ac\u0002',
- '\u0ba9\u0baa\u0005\u034b\u01a6\u0002\u0baa\u0bac\u0003\u0002\u0002\u0002',
- '\u0bab\u0ba2\u0003\u0002\u0002\u0002\u0bab\u0ba6\u0003\u0002\u0002\u0002',
- '\u0bac\u022c\u0003\u0002\u0002\u0002\u0bad\u0bae\u0005\u032d\u0197\u0002',
- '\u0bae\u0baf\u0005\u0343\u01a2\u0002\u0baf\u0bb0\u0005\u0353\u01aa\u0002',
- '\u0bb0\u022e\u0003\u0002\u0002\u0002\u0bb1\u0bb2\u0005\u0335\u019b\u0002',
- '\u0bb2\u0bb3\u0005\u0343\u01a2\u0002\u0bb3\u0bb4\u0005\u034f\u01a8\u0002',
- '\u0bb4\u0bb5\u0005\u0349\u01a5\u0002\u0bb5\u0bbd\u0003\u0002\u0002\u0002',
- '\u0bb6\u0bb7\u0005\u0335\u019b\u0002\u0bb7\u0bb8\u0005\u0343\u01a2\u0002',
- '\u0bb8\u0bb9\u0005\u034f\u01a8\u0002\u0bb9\u0bba\u0005\u0349\u01a5\u0002',
- '\u0bba\u0bbb\u0005\u034b\u01a6\u0002\u0bbb\u0bbd\u0003\u0002\u0002\u0002',
- '\u0bbc\u0bb1\u0003\u0002\u0002\u0002\u0bbc\u0bb6\u0003\u0002\u0002\u0002',
- '\u0bbd\u0230\u0003\u0002\u0002\u0002\u0bbe\u0bbf\u0005\u033f\u01a0\u0002',
- '\u0bbf\u0bc0\u0005\u0337\u019c\u0002\u0bc0\u0bc1\u0005\u0341\u01a1\u0002',
- '\u0bc1\u0bc2\u0005\u034f\u01a8\u0002\u0bc2\u0bc3\u0005\u034d\u01a7\u0002',
- '\u0bc3\u0bc4\u0005\u032f\u0198\u0002\u0bc4\u0bce\u0003\u0002\u0002\u0002',
- '\u0bc5\u0bc6\u0005\u033f\u01a0\u0002\u0bc6\u0bc7\u0005\u0337\u019c\u0002',
- '\u0bc7\u0bc8\u0005\u0341\u01a1\u0002\u0bc8\u0bc9\u0005\u034f\u01a8\u0002',
- '\u0bc9\u0bca\u0005\u034d\u01a7\u0002\u0bca\u0bcb\u0005\u032f\u0198\u0002',
- '\u0bcb\u0bcc\u0005\u034b\u01a6\u0002\u0bcc\u0bce\u0003\u0002\u0002\u0002',
- '\u0bcd\u0bbe\u0003\u0002\u0002\u0002\u0bcd\u0bc5\u0003\u0002\u0002\u0002',
- '\u0bce\u0232\u0003\u0002\u0002\u0002\u0bcf\u0bd0\u0005\u034b\u01a6\u0002',
- '\u0bd0\u0bd1\u0005\u032f\u0198\u0002\u0bd1\u0bd2\u0005\u032b\u0196\u0002',
- '\u0bd2\u0bd3\u0005\u0343\u01a2\u0002\u0bd3\u0bd4\u0005\u0341\u01a1\u0002',
- '\u0bd4\u0bd5\u0005\u032d\u0197\u0002\u0bd5\u0bdf\u0003\u0002\u0002\u0002',
- '\u0bd6\u0bd7\u0005\u034b\u01a6\u0002\u0bd7\u0bd8\u0005\u032f\u0198\u0002',
- '\u0bd8\u0bd9\u0005\u032b\u0196\u0002\u0bd9\u0bda\u0005\u0343\u01a2\u0002',
- '\u0bda\u0bdb\u0005\u0341\u01a1\u0002\u0bdb\u0bdc\u0005\u032d\u0197\u0002',
- '\u0bdc\u0bdd\u0005\u034b\u01a6\u0002\u0bdd\u0bdf\u0003\u0002\u0002\u0002',
- '\u0bde\u0bcf\u0003\u0002\u0002\u0002\u0bde\u0bd6\u0003\u0002\u0002\u0002',
- '\u0bdf\u0234\u0003\u0002\u0002\u0002\u0be0\u0be1\u0005\u034b\u01a6\u0002',
- '\u0be1\u0be2\u0005\u034d\u01a7\u0002\u0be2\u0be3\u0005\u0327\u0194\u0002',
- '\u0be3\u0be4\u0005\u0349\u01a5\u0002\u0be4\u0be5\u0005\u034d\u01a7\u0002',
- '\u0be5\u0236\u0003\u0002\u0002\u0002\u0be6\u0be7\u0005\u034d\u01a7\u0002',
- '\u0be7\u0be8\u0005\u0349\u01a5\u0002\u0be8\u0be9\u0005\u0327\u0194\u0002',
- '\u0be9\u0bea\u0005\u0341\u01a1\u0002\u0bea\u0beb\u0005\u034b\u01a6\u0002',
- '\u0beb\u0bec\u0005\u0327\u0194\u0002\u0bec\u0bed\u0005\u032b\u0196\u0002',
- '\u0bed\u0bee\u0005\u034d\u01a7\u0002\u0bee\u0bef\u0005\u0337\u019c\u0002',
- '\u0bef\u0bf0\u0005\u0343\u01a2\u0002\u0bf0\u0bf1\u0005\u0341\u01a1\u0002',
- '\u0bf1\u0238\u0003\u0002\u0002\u0002\u0bf2\u0bf3\u0005\u032b\u0196\u0002',
- '\u0bf3\u0bf4\u0005\u0343\u01a2\u0002\u0bf4\u0bf5\u0005\u033f\u01a0\u0002',
- '\u0bf5\u0bf6\u0005\u033f\u01a0\u0002\u0bf6\u0bf7\u0005\u0337\u019c\u0002',
- '\u0bf7\u0bf8\u0005\u034d\u01a7\u0002\u0bf8\u023a\u0003\u0002\u0002\u0002',
- '\u0bf9\u0bfa\u0005\u0349\u01a5\u0002\u0bfa\u0bfb\u0005\u0343\u01a2\u0002',
- '\u0bfb\u0bfc\u0005\u033d\u019f\u0002\u0bfc\u0bfd\u0005\u033d\u019f\u0002',
- '\u0bfd\u0bfe\u0005\u0329\u0195\u0002\u0bfe\u0bff\u0005\u0327\u0194\u0002',
- '\u0bff\u0c00\u0005\u032b\u0196\u0002\u0c00\u0c01\u0005\u033b\u019e\u0002',
- '\u0c01\u023c\u0003\u0002\u0002\u0002\u0c02\u0c03\u0005\u0353\u01aa\u0002',
- '\u0c03\u0c04\u0005\u0343\u01a2\u0002\u0c04\u0c05\u0005\u0349\u01a5\u0002',
- '\u0c05\u0c06\u0005\u033b\u019e\u0002\u0c06\u023e\u0003\u0002\u0002\u0002',
- '\u0c07\u0c08\u0005\u0343\u01a2\u0002\u0c08\u0c09\u0005\u0341\u01a1\u0002',
- '\u0c09\u0c0a\u0005\u033d\u019f\u0002\u0c0a\u0c0b\u0005\u0357\u01ac\u0002',
- '\u0c0b\u0240\u0003\u0002\u0002\u0002\u0c0c\u0c0d\u0005\u0353\u01aa\u0002',
- '\u0c0d\u0c0e\u0005\u0349\u01a5\u0002\u0c0e\u0c0f\u0005\u0337\u019c\u0002',
- '\u0c0f\u0c10\u0005\u034d\u01a7\u0002\u0c10\u0c11\u0005\u032f\u0198\u0002',
- '\u0c11\u0242\u0003\u0002\u0002\u0002\u0c12\u0c13\u0005\u0337\u019c\u0002',
- '\u0c13\u0c14\u0005\u034b\u01a6\u0002\u0c14\u0c15\u0005\u0343\u01a2\u0002',
- '\u0c15\u0c16\u0005\u033d\u019f\u0002\u0c16\u0c17\u0005\u0327\u0194\u0002',
- '\u0c17\u0c18\u0005\u034d\u01a7\u0002\u0c18\u0c19\u0005\u0337\u019c\u0002',
- '\u0c19\u0c1a\u0005\u0343\u01a2\u0002\u0c1a\u0c1b\u0005\u0341\u01a1\u0002',
- '\u0c1b\u0244\u0003\u0002\u0002\u0002\u0c1c\u0c1d\u0005\u033d\u019f\u0002',
- '\u0c1d\u0c1e\u0005\u032f\u0198\u0002\u0c1e\u0c1f\u0005\u0351\u01a9\u0002',
- '\u0c1f\u0c20\u0005\u032f\u0198\u0002\u0c20\u0c21\u0005\u033d\u019f\u0002',
- '\u0c21\u0246\u0003\u0002\u0002\u0002\u0c22\u0c23\u0005\u034b\u01a6\u0002',
- '\u0c23\u0c24\u0005\u0341\u01a1\u0002\u0c24\u0c25\u0005\u0327\u0194\u0002',
- '\u0c25\u0c26\u0005\u0345\u01a3\u0002\u0c26\u0c27\u0005\u034b\u01a6\u0002',
- '\u0c27\u0c28\u0005\u0335\u019b\u0002\u0c28\u0c29\u0005\u0343\u01a2\u0002',
- '\u0c29\u0c2a\u0005\u034d\u01a7\u0002\u0c2a\u0248\u0003\u0002\u0002\u0002',
- '\u0c2b\u0c2c\u0005\u0327\u0194\u0002\u0c2c\u0c2d\u0005\u034f\u01a8\u0002',
- '\u0c2d\u0c2e\u0005\u034d\u01a7\u0002\u0c2e\u0c2f\u0005\u0343\u01a2\u0002',
- '\u0c2f\u0c30\u0005\u032b\u0196\u0002\u0c30\u0c31\u0005\u0343\u01a2\u0002',
- '\u0c31\u0c32\u0005\u033f\u01a0\u0002\u0c32\u0c33\u0005\u033f\u01a0\u0002',
- '\u0c33\u0c34\u0005\u0337\u019c\u0002\u0c34\u0c35\u0005\u034d\u01a7\u0002',
- '\u0c35\u024a\u0003\u0002\u0002\u0002\u0c36\u0c37\u0005\u032b\u0196\u0002',
- '\u0c37\u0c38\u0005\u0327\u0194\u0002\u0c38\u0c39\u0005\u032b\u0196\u0002',
- '\u0c39\u0c3a\u0005\u0335\u019b\u0002\u0c3a\u0c3b\u0005\u032f\u0198\u0002',
- '\u0c3b\u024c\u0003\u0002\u0002\u0002\u0c3c\u0c3d\u0005\u0345\u01a3\u0002',
- '\u0c3d\u0c3e\u0005\u0349\u01a5\u0002\u0c3e\u0c3f\u0005\u0337\u019c\u0002',
- '\u0c3f\u0c40\u0005\u033f\u01a0\u0002\u0c40\u0c41\u0005\u0327\u0194\u0002',
- '\u0c41\u0c42\u0005\u0349\u01a5\u0002\u0c42\u0c43\u0005\u0357\u01ac\u0002',
- '\u0c43\u024e\u0003\u0002\u0002\u0002\u0c44\u0c45\u0005\u0331\u0199\u0002',
- '\u0c45\u0c46\u0005\u0343\u01a2\u0002\u0c46\u0c47\u0005\u0349\u01a5\u0002',
- '\u0c47\u0c48\u0005\u032f\u0198\u0002\u0c48\u0c49\u0005\u0337\u019c\u0002',
- '\u0c49\u0c4a\u0005\u0333\u019a\u0002\u0c4a\u0c4b\u0005\u0341\u01a1\u0002',
- '\u0c4b\u0250\u0003\u0002\u0002\u0002\u0c4c\u0c4d\u0005\u0349\u01a5\u0002',
- '\u0c4d\u0c4e\u0005\u032f\u0198\u0002\u0c4e\u0c4f\u0005\u0331\u0199\u0002',
- '\u0c4f\u0c50\u0005\u032f\u0198\u0002\u0c50\u0c51\u0005\u0349\u01a5\u0002',
- '\u0c51\u0c52\u0005\u032f\u0198\u0002\u0c52\u0c53\u0005\u0341\u01a1\u0002',
- '\u0c53\u0c54\u0005\u032b\u0196\u0002\u0c54\u0c55\u0005\u032f\u0198\u0002',
- '\u0c55\u0c56\u0005\u034b\u01a6\u0002\u0c56\u0252\u0003\u0002\u0002\u0002',
- '\u0c57\u0c58\u0005\u032b\u0196\u0002\u0c58\u0c59\u0005\u0343\u01a2\u0002',
- '\u0c59\u0c5a\u0005\u0341\u01a1\u0002\u0c5a\u0c5b\u0005\u034b\u01a6\u0002',
- '\u0c5b\u0c5c\u0005\u034d\u01a7\u0002\u0c5c\u0c5d\u0005\u0349\u01a5\u0002',
- '\u0c5d\u0c5e\u0005\u0327\u0194\u0002\u0c5e\u0c5f\u0005\u0337\u019c\u0002',
- '\u0c5f\u0c60\u0005\u0341\u01a1\u0002\u0c60\u0c61\u0005\u034d\u01a7\u0002',
- '\u0c61\u0254\u0003\u0002\u0002\u0002\u0c62\u0c63\u0005\u032f\u0198\u0002',
- '\u0c63\u0c64\u0005\u0341\u01a1\u0002\u0c64\u0c65\u0005\u0331\u0199\u0002',
- '\u0c65\u0c66\u0005\u0343\u01a2\u0002\u0c66\u0c67\u0005\u0349\u01a5\u0002',
- '\u0c67\u0c68\u0005\u032b\u0196\u0002\u0c68\u0c69\u0005\u032f\u0198\u0002',
- '\u0c69\u0c6a\u0005\u032d\u0197\u0002\u0c6a\u0256\u0003\u0002\u0002\u0002',
- '\u0c6b\u0c6c\u0005\u0351\u01a9\u0002\u0c6c\u0c6d\u0005\u0327\u0194\u0002',
- '\u0c6d\u0c6e\u0005\u033d\u019f\u0002\u0c6e\u0c6f\u0005\u0337\u019c\u0002',
- '\u0c6f\u0c70\u0005\u032d\u0197\u0002\u0c70\u0c71\u0005\u0327\u0194\u0002',
- '\u0c71\u0c72\u0005\u034d\u01a7\u0002\u0c72\u0c73\u0005\u032f\u0198\u0002',
- '\u0c73\u0258\u0003\u0002\u0002\u0002\u0c74\u0c75\u0005\u0341\u01a1\u0002',
- '\u0c75\u0c76\u0005\u0343\u01a2\u0002\u0c76\u0c77\u0005\u0351\u01a9\u0002',
- '\u0c77\u0c78\u0005\u0327\u0194\u0002\u0c78\u0c79\u0005\u033d\u019f\u0002',
- '\u0c79\u0c7a\u0005\u0337\u019c\u0002\u0c7a\u0c7b\u0005\u032d\u0197\u0002',
- '\u0c7b\u0c7c\u0005\u0327\u0194\u0002\u0c7c\u0c7d\u0005\u034d\u01a7\u0002',
- '\u0c7d\u0c7e\u0005\u032f\u0198\u0002\u0c7e\u025a\u0003\u0002\u0002\u0002',
- '\u0c7f\u0c80\u0005\u0349\u01a5\u0002\u0c80\u0c81\u0005\u032f\u0198\u0002',
- '\u0c81\u0c82\u0005\u033d\u019f\u0002\u0c82\u0c83\u0005\u0357\u01ac\u0002',
- '\u0c83\u025c\u0003\u0002\u0002\u0002\u0c84\u0c85\u0005\u0341\u01a1\u0002',
- '\u0c85\u0c86\u0005\u0343\u01a2\u0002\u0c86\u0c87\u0005\u0349\u01a5\u0002',
- '\u0c87\u0c88\u0005\u032f\u0198\u0002\u0c88\u0c89\u0005\u033d\u019f\u0002',
- '\u0c89\u0c8a\u0005\u0357\u01ac\u0002\u0c8a\u025e\u0003\u0002\u0002\u0002',
- '\u0c8b\u0c8c\u0005\u034f\u01a8\u0002\u0c8c\u0c8d\u0005\u0341\u01a1\u0002',
- '\u0c8d\u0c8e\u0005\u0337\u019c\u0002\u0c8e\u0c8f\u0005\u0347\u01a4\u0002',
- '\u0c8f\u0c90\u0005\u034f\u01a8\u0002\u0c90\u0c91\u0005\u032f\u0198\u0002',
- '\u0c91\u0260\u0003\u0002\u0002\u0002\u0c92\u0c93\u0005\u033b\u019e\u0002',
- '\u0c93\u0c94\u0005\u032f\u0198\u0002\u0c94\u0c95\u0005\u0357\u01ac\u0002',
- '\u0c95\u0262\u0003\u0002\u0002\u0002\u0c96\u0c97\u0005\u0327\u0194\u0002',
- '\u0c97\u0c98\u0005\u0329\u0195\u0002\u0c98\u0c99\u0005\u0343\u01a2\u0002',
- '\u0c99\u0c9a\u0005\u0349\u01a5\u0002\u0c9a\u0c9b\u0005\u034d\u01a7\u0002',
- '\u0c9b\u0264\u0003\u0002\u0002\u0002\u0c9c\u0c9d\u0005\u032f\u0198\u0002',
- '\u0c9d\u0c9e\u0005\u0355\u01ab\u0002\u0c9e\u0c9f\u0005\u034d\u01a7\u0002',
- '\u0c9f\u0ca0\u0005\u0349\u01a5\u0002\u0ca0\u0ca1\u0005\u0327\u0194\u0002',
- '\u0ca1\u0ca2\u0005\u032b\u0196\u0002\u0ca2\u0ca3\u0005\u034d\u01a7\u0002',
- '\u0ca3\u0266\u0003\u0002\u0002\u0002\u0ca4\u0ca5\u0005\u0331\u0199\u0002',
- '\u0ca5\u0ca6\u0005\u033d\u019f\u0002\u0ca6\u0ca7\u0005\u0343\u01a2\u0002',
- '\u0ca7\u0ca8\u0005\u0343\u01a2\u0002\u0ca8\u0ca9\u0005\u0349\u01a5\u0002',
- '\u0ca9\u0268\u0003\u0002\u0002\u0002\u0caa\u0cab\u0005\u033f\u01a0\u0002',
- '\u0cab\u0cac\u0005\u032f\u0198\u0002\u0cac\u0cad\u0005\u0349\u01a5\u0002',
- '\u0cad\u0cae\u0005\u0333\u019a\u0002\u0cae\u0caf\u0005\u032f\u0198\u0002',
- '\u0caf\u026a\u0003\u0002\u0002\u0002\u0cb0\u0cb1\u0005\u033f\u01a0\u0002',
- '\u0cb1\u0cb2\u0005\u0327\u0194\u0002\u0cb2\u0cb3\u0005\u034d\u01a7\u0002',
- '\u0cb3\u0cb4\u0005\u032b\u0196\u0002\u0cb4\u0cb5\u0005\u0335\u019b\u0002',
- '\u0cb5\u0cb6\u0005\u032f\u0198\u0002\u0cb6\u0cb7\u0005\u032d\u0197\u0002',
- '\u0cb7\u026c\u0003\u0002\u0002\u0002\u0cb8\u0cb9\u0005\u0349\u01a5\u0002',
- '\u0cb9\u0cba\u0005\u032f\u0198\u0002\u0cba\u0cbb\u0005\u0345\u01a3\u0002',
- '\u0cbb\u0cbc\u0005\u033d\u019f\u0002\u0cbc\u026e\u0003\u0002\u0002\u0002',
- '\u0cbd\u0cbe\u0005\u032d\u0197\u0002\u0cbe\u0cbf\u0005\u034f\u01a8\u0002',
- '\u0cbf\u0cc0\u0005\u033f\u01a0\u0002\u0cc0\u0cc1\u0005\u0345\u01a3\u0002',
- '\u0cc1\u0270\u0003\u0002\u0002\u0002\u0cc2\u0cc3\u0005\u034b\u01a6\u0002',
- '\u0cc3\u0cc4\u0005\u034d\u01a7\u0002\u0cc4\u0cc5\u0005\u0327\u0194\u0002',
- '\u0cc5\u0cc6\u0005\u034d\u01a7\u0002\u0cc6\u0cc7\u0005\u034f\u01a8\u0002',
- '\u0cc7\u0cc8\u0005\u034b\u01a6\u0002\u0cc8\u0272\u0003\u0002\u0002\u0002',
- '\u0cc9\u0cca\u0005\u0351\u01a9\u0002\u0cca\u0ccb\u0005\u032f\u0198\u0002',
- '\u0ccb\u0ccc\u0005\u032b\u0196\u0002\u0ccc\u0ccd\u0005\u034d\u01a7\u0002',
- '\u0ccd\u0cce\u0005\u0343\u01a2\u0002\u0cce\u0ccf\u0005\u0349\u01a5\u0002',
- '\u0ccf\u0cd0\u0005\u0337\u019c\u0002\u0cd0\u0cd1\u0005\u0359\u01ad\u0002',
- '\u0cd1\u0cd2\u0005\u0327\u0194\u0002\u0cd2\u0cd3\u0005\u034d\u01a7\u0002',
- '\u0cd3\u0cd4\u0005\u0337\u019c\u0002\u0cd4\u0cd5\u0005\u0343\u01a2\u0002',
- '\u0cd5\u0cd6\u0005\u0341\u01a1\u0002\u0cd6\u0274\u0003\u0002\u0002\u0002',
- '\u0cd7\u0cd8\u0005\u034b\u01a6\u0002\u0cd8\u0cd9\u0005\u034f\u01a8\u0002',
- '\u0cd9\u0cda\u0005\u033f\u01a0\u0002\u0cda\u0cdb\u0005\u033f\u01a0\u0002',
- '\u0cdb\u0cdc\u0005\u0327\u0194\u0002\u0cdc\u0cdd\u0005\u0349\u01a5\u0002',
- '\u0cdd\u0cde\u0005\u0357\u01ac\u0002\u0cde\u0276\u0003\u0002\u0002\u0002',
- '\u0cdf\u0ce0\u0005\u0343\u01a2\u0002\u0ce0\u0ce1\u0005\u0345\u01a3\u0002',
- '\u0ce1\u0ce2\u0005\u032f\u0198\u0002\u0ce2\u0ce3\u0005\u0349\u01a5\u0002',
- '\u0ce3\u0ce4\u0005\u0327\u0194\u0002\u0ce4\u0ce5\u0005\u034d\u01a7\u0002',
- '\u0ce5\u0ce6\u0005\u0343\u01a2\u0002\u0ce6\u0ce7\u0005\u0349\u01a5\u0002',
- '\u0ce7\u0278\u0003\u0002\u0002\u0002\u0ce8\u0ce9\u0005\u032f\u0198\u0002',
- '\u0ce9\u0cea\u0005\u0355\u01ab\u0002\u0cea\u0ceb\u0005\u0345\u01a3\u0002',
- '\u0ceb\u0cec\u0005\u0349\u01a5\u0002\u0cec\u0ced\u0005\u032f\u0198\u0002',
- '\u0ced\u0cee\u0005\u034b\u01a6\u0002\u0cee\u0cef\u0005\u034b\u01a6\u0002',
- '\u0cef\u0cf0\u0005\u0337\u019c\u0002\u0cf0\u0cf1\u0005\u0343\u01a2\u0002',
- '\u0cf1\u0cf2\u0005\u0341\u01a1\u0002\u0cf2\u027a\u0003\u0002\u0002\u0002',
- '\u0cf3\u0cf4\u0005\u032d\u0197\u0002\u0cf4\u0cf5\u0005\u032f\u0198\u0002',
- '\u0cf5\u0cf6\u0005\u034d\u01a7\u0002\u0cf6\u0cf7\u0005\u0327\u0194\u0002',
- '\u0cf7\u0cf8\u0005\u0337\u019c\u0002\u0cf8\u0cf9\u0005\u033d\u019f\u0002',
- '\u0cf9\u027c\u0003\u0002\u0002\u0002\u0cfa\u0cfb\u0005\u0353\u01aa\u0002',
- '\u0cfb\u0cfc\u0005\u0327\u0194\u0002\u0cfc\u0cfd\u0005\u0337\u019c\u0002',
- '\u0cfd\u0cfe\u0005\u034d\u01a7\u0002\u0cfe\u027e\u0003\u0002\u0002\u0002',
- '\u0cff\u0d00\u0005\u0349\u01a5\u0002\u0d00\u0d01\u0005\u032f\u0198\u0002',
- '\u0d01\u0d02\u0005\u034b\u01a6\u0002\u0d02\u0d03\u0005\u0343\u01a2\u0002',
- '\u0d03\u0d04\u0005\u034f\u01a8\u0002\u0d04\u0d05\u0005\u0349\u01a5\u0002',
- '\u0d05\u0d06\u0005\u032b\u0196\u0002\u0d06\u0d07\u0005\u032f\u0198\u0002',
- '\u0d07\u0280\u0003\u0002\u0002\u0002\u0d08\u0d09\u0005\u0345\u01a3\u0002',
- '\u0d09\u0d0a\u0005\u033d\u019f\u0002\u0d0a\u0d0b\u0005\u0327\u0194\u0002',
- '\u0d0b\u0d0c\u0005\u0341\u01a1\u0002\u0d0c\u0282\u0003\u0002\u0002\u0002',
- '\u0d0d\u0d0e\u0005\u0347\u01a4\u0002\u0d0e\u0d0f\u0005\u034f\u01a8\u0002',
- '\u0d0f\u0d10\u0005\u032f\u0198\u0002\u0d10\u0d11\u0005\u0349\u01a5\u0002',
- '\u0d11\u0d12\u0005\u0357\u01ac\u0002\u0d12\u0d13\u0007a\u0002\u0002',
- '\u0d13\u0d14\u0005\u0345\u01a3\u0002\u0d14\u0d15\u0005\u0327\u0194\u0002',
- '\u0d15\u0d16\u0005\u0349\u01a5\u0002\u0d16\u0d17\u0005\u0327\u0194\u0002',
- '\u0d17\u0d18\u0005\u033d\u019f\u0002\u0d18\u0d19\u0005\u033d\u019f\u0002',
- '\u0d19\u0d1a\u0005\u032f\u0198\u0002\u0d1a\u0d1b\u0005\u033d\u019f\u0002',
- '\u0d1b\u0d1c\u0005\u0337\u019c\u0002\u0d1c\u0d1d\u0005\u034b\u01a6\u0002',
- '\u0d1d\u0d1e\u0005\u033f\u01a0\u0002\u0d1e\u0284\u0003\u0002\u0002\u0002',
- '\u0d1f\u0d20\u0005\u0345\u01a3\u0002\u0d20\u0d21\u0005\u033d\u019f\u0002',
- '\u0d21\u0d22\u0005\u0327\u0194\u0002\u0d22\u0d23\u0005\u0341\u01a1\u0002',
- '\u0d23\u0d24\u0005\u034b\u01a6\u0002\u0d24\u0286\u0003\u0002\u0002\u0002',
- '\u0d25\u0d26\u0005\u0327\u0194\u0002\u0d26\u0d27\u0005\u032b\u0196\u0002',
- '\u0d27\u0d28\u0005\u034d\u01a7\u0002\u0d28\u0d29\u0005\u0337\u019c\u0002',
- '\u0d29\u0d2a\u0005\u0351\u01a9\u0002\u0d2a\u0d2b\u0005\u0327\u0194\u0002',
- '\u0d2b\u0d2c\u0005\u034d\u01a7\u0002\u0d2c\u0d2d\u0005\u032f\u0198\u0002',
- '\u0d2d\u0288\u0003\u0002\u0002\u0002\u0d2e\u0d2f\u0005\u032d\u0197\u0002',
- '\u0d2f\u0d30\u0005\u032f\u0198\u0002\u0d30\u0d31\u0005\u0331\u0199\u0002',
- '\u0d31\u0d32\u0005\u0327\u0194\u0002\u0d32\u0d33\u0005\u034f\u01a8\u0002',
- '\u0d33\u0d34\u0005\u033d\u019f\u0002\u0d34\u0d35\u0005\u034d\u01a7\u0002',
- '\u0d35\u028a\u0003\u0002\u0002\u0002\u0d36\u0d37\u0005\u032b\u0196\u0002',
- '\u0d37\u0d38\u0005\u0335\u019b\u0002\u0d38\u0d39\u0005\u032f\u0198\u0002',
- '\u0d39\u0d3a\u0005\u032b\u0196\u0002\u0d3a\u0d3b\u0005\u033b\u019e\u0002',
- '\u0d3b\u028c\u0003\u0002\u0002\u0002\u0d3c\u0d3d\u0005\u0345\u01a3\u0002',
- '\u0d3d\u0d3e\u0005\u0343\u01a2\u0002\u0d3e\u0d3f\u0005\u0343\u01a2\u0002',
- '\u0d3f\u0d40\u0005\u033d\u019f\u0002\u0d40\u028e\u0003\u0002\u0002\u0002',
- '\u0d41\u0d42\u0005\u033f\u01a0\u0002\u0d42\u0d43\u0005\u0343\u01a2\u0002',
- '\u0d43\u0d44\u0005\u0351\u01a9\u0002\u0d44\u0d45\u0005\u032f\u0198\u0002',
- '\u0d45\u0290\u0003\u0002\u0002\u0002\u0d46\u0d47\u0005\u032d\u0197\u0002',
- '\u0d47\u0d48\u0005\u0343\u01a2\u0002\u0d48\u0292\u0003\u0002\u0002\u0002',
- '\u0d49\u0d4a\u0005\u0327\u0194\u0002\u0d4a\u0d4b\u0005\u033d\u019f\u0002',
- '\u0d4b\u0d4c\u0005\u033d\u019f\u0002\u0d4c\u0d4d\u0005\u0343\u01a2\u0002',
- '\u0d4d\u0d4e\u0005\u032b\u0196\u0002\u0d4e\u0d4f\u0007a\u0002\u0002',
- '\u0d4f\u0d50\u0005\u0331\u0199\u0002\u0d50\u0d51\u0005\u0349\u01a5\u0002',
- '\u0d51\u0d52\u0005\u0327\u0194\u0002\u0d52\u0d53\u0005\u032b\u0196\u0002',
- '\u0d53\u0d54\u0005\u034d\u01a7\u0002\u0d54\u0d55\u0005\u0337\u019c\u0002',
- '\u0d55\u0d56\u0005\u0343\u01a2\u0002\u0d56\u0d57\u0005\u0341\u01a1\u0002',
- '\u0d57\u0294\u0003\u0002\u0002\u0002\u0d58\u0d59\u0005\u034b\u01a6\u0002',
- '\u0d59\u0d5a\u0005\u032b\u0196\u0002\u0d5a\u0d5b\u0005\u0335\u019b\u0002',
- '\u0d5b\u0d5c\u0005\u032f\u0198\u0002\u0d5c\u0d5d\u0005\u032d\u0197\u0002',
- '\u0d5d\u0d5e\u0005\u034f\u01a8\u0002\u0d5e\u0d5f\u0005\u033d\u019f\u0002',
- '\u0d5f\u0d60\u0005\u0337\u019c\u0002\u0d60\u0d61\u0005\u0341\u01a1\u0002',
- '\u0d61\u0d62\u0005\u0333\u019a\u0002\u0d62\u0d63\u0007a\u0002\u0002',
- '\u0d63\u0d64\u0005\u0345\u01a3\u0002\u0d64\u0d65\u0005\u0343\u01a2\u0002',
- '\u0d65\u0d66\u0005\u033d\u019f\u0002\u0d66\u0d67\u0005\u0337\u019c\u0002',
- '\u0d67\u0d68\u0005\u032b\u0196\u0002\u0d68\u0d69\u0005\u0357\u01ac\u0002',
- '\u0d69\u0296\u0003\u0002\u0002\u0002\u0d6a\u0d6b\u0005\u0345\u01a3\u0002',
- '\u0d6b\u0d6c\u0005\u0327\u0194\u0002\u0d6c\u0d6d\u0005\u034d\u01a7\u0002',
- '\u0d6d\u0d6e\u0005\u0335\u019b\u0002\u0d6e\u0298\u0003\u0002\u0002\u0002',
- '\u0d6f\u0d70\u0005\u033f\u01a0\u0002\u0d70\u0d71\u0005\u0327\u0194\u0002',
- '\u0d71\u0d72\u0005\u0345\u01a3\u0002\u0d72\u0d73\u0005\u0345\u01a3\u0002',
- '\u0d73\u0d74\u0005\u0337\u019c\u0002\u0d74\u0d75\u0005\u0341\u01a1\u0002',
- '\u0d75\u0d76\u0005\u0333\u019a\u0002\u0d76\u029a\u0003\u0002\u0002\u0002',
- '\u0d77\u0d78\u0005\u0353\u01aa\u0002\u0d78\u0d79\u0005\u0343\u01a2\u0002',
- '\u0d79\u0d7a\u0005\u0349\u01a5\u0002\u0d7a\u0d7b\u0005\u033b\u019e\u0002',
- '\u0d7b\u0d7c\u0005\u033d\u019f\u0002\u0d7c\u0d7d\u0005\u0343\u01a2\u0002',
- '\u0d7d\u0d7e\u0005\u0327\u0194\u0002\u0d7e\u0d7f\u0005\u032d\u0197\u0002',
- '\u0d7f\u029c\u0003\u0002\u0002\u0002\u0d80\u0d81\u0005\u033f\u01a0\u0002',
- '\u0d81\u0d82\u0005\u0327\u0194\u0002\u0d82\u0d83\u0005\u0341\u01a1\u0002',
- '\u0d83\u0d84\u0005\u0327\u0194\u0002\u0d84\u0d85\u0005\u0333\u019a\u0002',
- '\u0d85\u0d86\u0005\u032f\u0198\u0002\u0d86\u0d87\u0005\u033f\u01a0\u0002',
- '\u0d87\u0d88\u0005\u032f\u0198\u0002\u0d88\u0d89\u0005\u0341\u01a1\u0002',
- '\u0d89\u0d8a\u0005\u034d\u01a7\u0002\u0d8a\u029e\u0003\u0002\u0002\u0002',
- '\u0d8b\u0d8c\u0005\u0327\u0194\u0002\u0d8c\u0d8d\u0005\u032b\u0196\u0002',
- '\u0d8d\u0d8e\u0005\u034d\u01a7\u0002\u0d8e\u0d8f\u0005\u0337\u019c\u0002',
- '\u0d8f\u0d90\u0005\u0351\u01a9\u0002\u0d90\u0d91\u0005\u032f\u0198\u0002',
- '\u0d91\u02a0\u0003\u0002\u0002\u0002\u0d92\u0d93\u0005\u033f\u01a0\u0002',
- '\u0d93\u0d94\u0005\u0327\u0194\u0002\u0d94\u0d95\u0005\u0341\u01a1\u0002',
- '\u0d95\u0d96\u0005\u0327\u0194\u0002\u0d96\u0d97\u0005\u0333\u019a\u0002',
- '\u0d97\u0d98\u0005\u032f\u0198\u0002\u0d98\u0d99\u0005\u032d\u0197\u0002',
- '\u0d99\u02a2\u0003\u0002\u0002\u0002\u0d9a\u0d9b\u0005\u034f\u01a8\u0002',
- '\u0d9b\u0d9c\u0005\u0341\u01a1\u0002\u0d9c\u0d9d\u0005\u033f\u01a0\u0002',
- '\u0d9d\u0d9e\u0005\u0327\u0194\u0002\u0d9e\u0d9f\u0005\u0341\u01a1\u0002',
- '\u0d9f\u0da0\u0005\u0327\u0194\u0002\u0da0\u0da1\u0005\u0333\u019a\u0002',
- '\u0da1\u0da2\u0005\u032f\u0198\u0002\u0da2\u0da3\u0005\u032d\u0197\u0002',
- '\u0da3\u02a4\u0003\u0002\u0002\u0002\u0da4\u0da5\u0005\u0327\u0194\u0002',
- '\u0da5\u0da6\u0005\u0345\u01a3\u0002\u0da6\u0da7\u0005\u0345\u01a3\u0002',
- '\u0da7\u0da8\u0005\u033d\u019f\u0002\u0da8\u0da9\u0005\u0337\u019c\u0002',
- '\u0da9\u0daa\u0005\u032b\u0196\u0002\u0daa\u0dab\u0005\u0327\u0194\u0002',
- '\u0dab\u0dac\u0005\u034d\u01a7\u0002\u0dac\u0dad\u0005\u0337\u019c\u0002',
- '\u0dad\u0dae\u0005\u0343\u01a2\u0002\u0dae\u0daf\u0005\u0341\u01a1\u0002',
- '\u0daf\u02a6\u0003\u0002\u0002\u0002\u0db0\u0db1\u0005\u034b\u01a6\u0002',
- '\u0db1\u0db2\u0005\u0357\u01ac\u0002\u0db2\u0db3\u0005\u0341\u01a1\u0002',
- '\u0db3\u0db4\u0005\u032b\u0196\u0002\u0db4\u02a8\u0003\u0002\u0002\u0002',
- '\u0db5\u0db6\u0005\u034b\u01a6\u0002\u0db6\u0db7\u0005\u032f\u0198\u0002',
- '\u0db7\u0db8\u0005\u0347\u01a4\u0002\u0db8\u0db9\u0005\u034f\u01a8\u0002',
- '\u0db9\u0dba\u0005\u032f\u0198\u0002\u0dba\u0dbb\u0005\u0341\u01a1\u0002',
- '\u0dbb\u0dbc\u0005\u032b\u0196\u0002\u0dbc\u0dbd\u0005\u032f\u0198\u0002',
- '\u0dbd\u0dbe\u0005\u0331\u0199\u0002\u0dbe\u0dbf\u0005\u0337\u019c\u0002',
- '\u0dbf\u0dc0\u0005\u033d\u019f\u0002\u0dc0\u0dc1\u0005\u032f\u0198\u0002',
- '\u0dc1\u02aa\u0003\u0002\u0002\u0002\u0dc2\u0dc3\u0005\u034d\u01a7\u0002',
- '\u0dc3\u0dc4\u0005\u032f\u0198\u0002\u0dc4\u0dc5\u0005\u0355\u01ab\u0002',
- '\u0dc5\u0dc6\u0005\u034d\u01a7\u0002\u0dc6\u0dc7\u0005\u0331\u0199\u0002',
- '\u0dc7\u0dc8\u0005\u0337\u019c\u0002\u0dc8\u0dc9\u0005\u033d\u019f\u0002',
- '\u0dc9\u0dca\u0005\u032f\u0198\u0002\u0dca\u02ac\u0003\u0002\u0002\u0002',
- '\u0dcb\u0dcc\u0005\u0349\u01a5\u0002\u0dcc\u0dcd\u0005\u032b\u0196\u0002',
- '\u0dcd\u0dce\u0005\u0331\u0199\u0002\u0dce\u0dcf\u0005\u0337\u019c\u0002',
- '\u0dcf\u0dd0\u0005\u033d\u019f\u0002\u0dd0\u0dd1\u0005\u032f\u0198\u0002',
- '\u0dd1\u02ae\u0003\u0002\u0002\u0002\u0dd2\u0dd3\u0005\u0343\u01a2\u0002',
- '\u0dd3\u0dd4\u0005\u0349\u01a5\u0002\u0dd4\u0dd5\u0005\u032b\u0196\u0002',
- '\u0dd5\u02b0\u0003\u0002\u0002\u0002\u0dd6\u0dd7\u0005\u0345\u01a3\u0002',
- '\u0dd7\u0dd8\u0005\u0327\u0194\u0002\u0dd8\u0dd9\u0005\u0349\u01a5\u0002',
- '\u0dd9\u0dda\u0005\u0347\u01a4\u0002\u0dda\u0ddb\u0005\u034f\u01a8\u0002',
- '\u0ddb\u0ddc\u0005\u032f\u0198\u0002\u0ddc\u0ddd\u0005\u034d\u01a7\u0002',
- '\u0ddd\u02b2\u0003\u0002\u0002\u0002\u0dde\u0ddf\u0005\u032d\u0197\u0002',
- '\u0ddf\u0de0\u0005\u032f\u0198\u0002\u0de0\u0de1\u0005\u033d\u019f\u0002',
- '\u0de1\u0de2\u0005\u034d\u01a7\u0002\u0de2\u0de3\u0005\u0327\u0194\u0002',
- '\u0de3\u02b4\u0003\u0002\u0002\u0002\u0de4\u0de5\u0005\u0327\u0194\u0002',
- '\u0de5\u0de6\u0005\u0351\u01a9\u0002\u0de6\u0de7\u0005\u0349\u01a5\u0002',
- '\u0de7\u0de8\u0005\u0343\u01a2\u0002\u0de8\u02b6\u0003\u0002\u0002\u0002',
- '\u0de9\u0dea\u0005\u032b\u0196\u0002\u0dea\u0deb\u0005\u034b\u01a6\u0002',
- '\u0deb\u0dec\u0005\u0351\u01a9\u0002\u0dec\u02b8\u0003\u0002\u0002\u0002',
- '\u0ded\u0dee\u0005\u0339\u019d\u0002\u0dee\u0def\u0005\u034b\u01a6\u0002',
- '\u0def\u0df0\u0005\u0343\u01a2\u0002\u0df0\u0df1\u0005\u0341\u01a1\u0002',
- '\u0df1\u02ba\u0003\u0002\u0002\u0002\u0df2\u0df3\u0005\u0339\u019d\u0002',
- '\u0df3\u0df4\u0005\u034b\u01a6\u0002\u0df4\u0df5\u0005\u0343\u01a2\u0002',
- '\u0df5\u0df6\u0005\u0341\u01a1\u0002\u0df6\u0df7\u0005\u0331\u0199\u0002',
- '\u0df7\u0df8\u0005\u0337\u019c\u0002\u0df8\u0df9\u0005\u033d\u019f\u0002',
- '\u0df9\u0dfa\u0005\u032f\u0198\u0002\u0dfa\u02bc\u0003\u0002\u0002\u0002',
- '\u0dfb\u0dfc\u0005\u0329\u0195\u0002\u0dfc\u0dfd\u0005\u033d\u019f\u0002',
- '\u0dfd\u0dfe\u0005\u0343\u01a2\u0002\u0dfe\u0dff\u0005\u0343\u01a2\u0002',
- '\u0dff\u0e00\u0005\u033f\u01a0\u0002\u0e00\u0e01\u0005\u0331\u0199\u0002',
- '\u0e01\u0e02\u0005\u0337\u019c\u0002\u0e02\u0e03\u0005\u033d\u019f\u0002',
- '\u0e03\u0e04\u0005\u034d\u01a7\u0002\u0e04\u0e05\u0005\u032f\u0198\u0002',
- '\u0e05\u0e06\u0005\u0349\u01a5\u0002\u0e06\u02be\u0003\u0002\u0002\u0002',
- '\u0e07\u0e08\u0005\u0333\u019a\u0002\u0e08\u0e09\u0005\u032f\u0198\u0002',
- '\u0e09\u0e0a\u0005\u0341\u01a1\u0002\u0e0a\u0e0b\u0005\u032f\u0198\u0002',
- '\u0e0b\u0e0c\u0005\u0349\u01a5\u0002\u0e0c\u0e0d\u0005\u0327\u0194\u0002',
- '\u0e0d\u0e0e\u0005\u034d\u01a7\u0002\u0e0e\u0e0f\u0005\u032f\u0198\u0002',
- '\u0e0f\u0e10\u0005\u032d\u0197\u0002\u0e10\u02c0\u0003\u0002\u0002\u0002',
- '\u0e11\u0e12\u0005\u0327\u0194\u0002\u0e12\u0e13\u0005\u033d\u019f\u0002',
- '\u0e13\u0e14\u0005\u0353\u01aa\u0002\u0e14\u0e15\u0005\u0327\u0194\u0002',
- '\u0e15\u0e16\u0005\u0357\u01ac\u0002\u0e16\u0e17\u0005\u034b\u01a6\u0002',
- '\u0e17\u02c2\u0003\u0002\u0002\u0002\u0e18\u0e19\u0005\u0337\u019c\u0002',
- '\u0e19\u0e1a\u0005\u032d\u0197\u0002\u0e1a\u0e1b\u0005\u032f\u0198\u0002',
- '\u0e1b\u0e1c\u0005\u0341\u01a1\u0002\u0e1c\u0e1d\u0005\u034d\u01a7\u0002',
- '\u0e1d\u0e1e\u0005\u0337\u019c\u0002\u0e1e\u0e1f\u0005\u034d\u01a7\u0002',
- '\u0e1f\u0e20\u0005\u0357\u01ac\u0002\u0e20\u02c4\u0003\u0002\u0002\u0002',
- '\u0e21\u0e22\u0005\u0337\u019c\u0002\u0e22\u0e23\u0005\u0341\u01a1\u0002',
- '\u0e23\u0e24\u0005\u032b\u0196\u0002\u0e24\u0e25\u0005\u0349\u01a5\u0002',
- '\u0e25\u0e26\u0005\u032f\u0198\u0002\u0e26\u0e27\u0005\u033f\u01a0\u0002',
- '\u0e27\u0e28\u0005\u032f\u0198\u0002\u0e28\u0e29\u0005\u0341\u01a1\u0002',
- '\u0e29\u0e2a\u0005\u034d\u01a7\u0002\u0e2a\u02c6\u0003\u0002\u0002\u0002',
- '\u0e2b\u0e2c\u0005\u034b\u01a6\u0002\u0e2c\u0e2d\u0005\u032b\u0196\u0002',
- '\u0e2d\u0e2e\u0005\u0335\u019b\u0002\u0e2e\u0e2f\u0005\u032f\u0198\u0002',
- '\u0e2f\u0e30\u0005\u032d\u0197\u0002\u0e30\u0e31\u0005\u034f\u01a8\u0002',
- '\u0e31\u0e32\u0005\u033d\u019f\u0002\u0e32\u0e33\u0005\u032f\u0198\u0002',
- '\u0e33\u02c8\u0003\u0002\u0002\u0002\u0e34\u0e35\u0005\u0349\u01a5\u0002',
- '\u0e35\u0e36\u0005\u032f\u0198\u0002\u0e36\u0e37\u0005\u0331\u0199\u0002',
- '\u0e37\u0e38\u0005\u0349\u01a5\u0002\u0e38\u0e39\u0005\u032f\u0198\u0002',
- '\u0e39\u0e3a\u0005\u034b\u01a6\u0002\u0e3a\u0e3b\u0005\u0335\u019b\u0002',
- '\u0e3b\u02ca\u0003\u0002\u0002\u0002\u0e3c\u0e3d\u0005\u032f\u0198\u0002',
- '\u0e3d\u0e3e\u0005\u0351\u01a9\u0002\u0e3e\u0e3f\u0005\u032f\u0198\u0002',
- '\u0e3f\u0e40\u0005\u0349\u01a5\u0002\u0e40\u0e41\u0005\u0357\u01ac\u0002',
- '\u0e41\u02cc\u0003\u0002\u0002\u0002\u0e42\u0e43\u0005\u032b\u0196\u0002',
- '\u0e43\u0e44\u0005\u0349\u01a5\u0002\u0e44\u0e45\u0005\u0343\u01a2\u0002',
- '\u0e45\u0e46\u0005\u0341\u01a1\u0002\u0e46\u02ce\u0003\u0002\u0002\u0002',
- '\u0e47\u0e48\u0005\u0327\u0194\u0002\u0e48\u0e49\u0005\u034d\u01a7\u0002',
- '\u0e49\u02d0\u0003\u0002\u0002\u0002\u0e4a\u0e4b\u0005\u0331\u0199\u0002',
- '\u0e4b\u0e4c\u0005\u0337\u019c\u0002\u0e4c\u0e4d\u0005\u033d\u019f\u0002',
- '\u0e4d\u0e4e\u0005\u034d\u01a7\u0002\u0e4e\u0e4f\u0005\u032f\u0198\u0002',
- '\u0e4f\u0e50\u0005\u0349\u01a5\u0002\u0e50\u02d2\u0003\u0002\u0002\u0002',
- '\u0e51\u0e52\u0005\u034b\u01a6\u0002\u0e52\u0e53\u0005\u034d\u01a7\u0002',
- '\u0e53\u0e54\u0005\u0349\u01a5\u0002\u0e54\u0e55\u0005\u032f\u0198\u0002',
- '\u0e55\u0e56\u0005\u0327\u0194\u0002\u0e56\u0e57\u0005\u033f\u01a0\u0002',
- '\u0e57\u02d4\u0003\u0002\u0002\u0002\u0e58\u0e59\u0005\u034b\u01a6\u0002',
- '\u0e59\u0e5a\u0005\u034d\u01a7\u0002\u0e5a\u0e5b\u0005\u0349\u01a5\u0002',
- '\u0e5b\u0e5c\u0005\u032f\u0198\u0002\u0e5c\u0e5d\u0005\u0327\u0194\u0002',
- '\u0e5d\u0e5e\u0005\u033f\u01a0\u0002\u0e5e\u0e5f\u0005\u0337\u019c\u0002',
- '\u0e5f\u0e60\u0005\u0341\u01a1\u0002\u0e60\u0e61\u0005\u0333\u019a\u0002',
- '\u0e61\u02d6\u0003\u0002\u0002\u0002\u0e62\u0e63\u0005\u033f\u01a0\u0002',
- '\u0e63\u0e64\u0005\u0343\u01a2\u0002\u0e64\u0e65\u0005\u034b\u01a6\u0002',
- '\u0e65\u0e66\u0005\u034d\u01a7\u0002\u0e66\u02d8\u0003\u0002\u0002\u0002',
- '\u0e67\u0e68\u0005\u032f\u0198\u0002\u0e68\u0e69\u0005\u0355\u01ab\u0002',
- '\u0e69\u0e6a\u0005\u0345\u01a3\u0002\u0e6a\u0e6b\u0005\u032f\u0198\u0002',
- '\u0e6b\u0e6c\u0005\u032b\u0196\u0002\u0e6c\u0e6d\u0005\u034d\u01a7\u0002',
- '\u0e6d\u02da\u0003\u0002\u0002\u0002\u0e6e\u0e6f\u0005\u0351\u01a9\u0002',
- '\u0e6f\u0e70\u0005\u0337\u019c\u0002\u0e70\u0e71\u0005\u0343\u01a2\u0002',
- '\u0e71\u0e72\u0005\u033d\u019f\u0002\u0e72\u0e73\u0005\u0327\u0194\u0002',
- '\u0e73\u0e74\u0005\u034d\u01a7\u0002\u0e74\u0e75\u0005\u0337\u019c\u0002',
- '\u0e75\u0e76\u0005\u0343\u01a2\u0002\u0e76\u0e77\u0005\u0341\u01a1\u0002',
- '\u0e77\u02dc\u0003\u0002\u0002\u0002\u0e78\u0e79\u0005\u0331\u0199\u0002',
- '\u0e79\u0e7a\u0005\u0327\u0194\u0002\u0e7a\u0e7b\u0005\u0337\u019c\u0002',
- '\u0e7b\u0e7c\u0005\u033d\u019f\u0002\u0e7c\u02de\u0003\u0002\u0002\u0002',
- '\u0e7d\u0e7e\u00070\u0002\u0002\u0e7e\u02e0\u0003\u0002\u0002\u0002',
- '\u0e7f\u0e80\u0007<\u0002\u0002\u0e80\u02e2\u0003\u0002\u0002\u0002',
- '\u0e81\u0e82\u0007.\u0002\u0002\u0e82\u02e4\u0003\u0002\u0002\u0002',
- '\u0e83\u0e84\u0007=\u0002\u0002\u0e84\u02e6\u0003\u0002\u0002\u0002',
- '\u0e85\u0e86\u0007*\u0002\u0002\u0e86\u02e8\u0003\u0002\u0002\u0002',
- '\u0e87\u0e88\u0007+\u0002\u0002\u0e88\u02ea\u0003\u0002\u0002\u0002',
- '\u0e89\u0e8a\u0007]\u0002\u0002\u0e8a\u02ec\u0003\u0002\u0002\u0002',
- '\u0e8b\u0e8c\u0007_\u0002\u0002\u0e8c\u02ee\u0003\u0002\u0002\u0002',
- '\u0e8d\u0e8e\u0007}\u0002\u0002\u0e8e\u02f0\u0003\u0002\u0002\u0002',
- '\u0e8f\u0e90\u0007\u007f\u0002\u0002\u0e90\u02f2\u0003\u0002\u0002\u0002',
- '\u0e91\u0e95\u0007?\u0002\u0002\u0e92\u0e93\u0007?\u0002\u0002\u0e93',
- '\u0e95\u0007?\u0002\u0002\u0e94\u0e91\u0003\u0002\u0002\u0002\u0e94',
- '\u0e92\u0003\u0002\u0002\u0002\u0e95\u02f4\u0003\u0002\u0002\u0002\u0e96',
- '\u0e97\u0007>\u0002\u0002\u0e97\u0e98\u0007?\u0002\u0002\u0e98\u0e99',
- '\u0007@\u0002\u0002\u0e99\u02f6\u0003\u0002\u0002\u0002\u0e9a\u0e9b',
- '\u0007>\u0002\u0002\u0e9b\u0e9f\u0007@\u0002\u0002\u0e9c\u0e9d\u0007',
- '#\u0002\u0002\u0e9d\u0e9f\u0007?\u0002\u0002\u0e9e\u0e9a\u0003\u0002',
- '\u0002\u0002\u0e9e\u0e9c\u0003\u0002\u0002\u0002\u0e9f\u02f8\u0003\u0002',
- '\u0002\u0002\u0ea0\u0ea1\u0007>\u0002\u0002\u0ea1\u0ea2\u0007?\u0002',
- '\u0002\u0ea2\u02fa\u0003\u0002\u0002\u0002\u0ea3\u0ea4\u0007>\u0002',
- '\u0002\u0ea4\u02fc\u0003\u0002\u0002\u0002\u0ea5\u0ea6\u0007@\u0002',
- '\u0002\u0ea6\u0ea7\u0007?\u0002\u0002\u0ea7\u02fe\u0003\u0002\u0002',
- '\u0002\u0ea8\u0ea9\u0007@\u0002\u0002\u0ea9\u0300\u0003\u0002\u0002',
- '\u0002\u0eaa\u0eab\u0007?\u0002\u0002\u0eab\u0eac\u0007@\u0002\u0002',
- '\u0eac\u0302\u0003\u0002\u0002\u0002\u0ead\u0eae\u00071\u0002\u0002',
- '\u0eae\u0304\u0003\u0002\u0002\u0002\u0eaf\u0eb0\u0007-\u0002\u0002',
- '\u0eb0\u0306\u0003\u0002\u0002\u0002\u0eb1\u0eb2\u0007/\u0002\u0002',
- '\u0eb2\u0308\u0003\u0002\u0002\u0002\u0eb3\u0eb4\u0007,\u0002\u0002',
- "\u0eb4\u030a\u0003\u0002\u0002\u0002\u0eb5\u0eb6\u0007\'\u0002\u0002",
- '\u0eb6\u030c\u0003\u0002\u0002\u0002\u0eb7\u0eb8\u0007F\u0002\u0002',
- '\u0eb8\u0eb9\u0007K\u0002\u0002\u0eb9\u0eba\u0007X\u0002\u0002\u0eba',
- '\u030e\u0003\u0002\u0002\u0002\u0ebb\u0ebc\u0007(\u0002\u0002\u0ebc',
- '\u0310\u0003\u0002\u0002\u0002\u0ebd\u0ebe\u0007\u0080\u0002\u0002\u0ebe',
- '\u0312\u0003\u0002\u0002\u0002\u0ebf\u0ec0\u0007~\u0002\u0002\u0ec0',
- '\u0314\u0003\u0002\u0002\u0002\u0ec1\u0ec2\u0007~\u0002\u0002\u0ec2',
- '\u0ec3\u0007~\u0002\u0002\u0ec3\u0316\u0003\u0002\u0002\u0002\u0ec4',
- '\u0ec5\u0007`\u0002\u0002\u0ec5\u0318\u0003\u0002\u0002\u0002\u0ec6',
- '\u0ec7\u0007A\u0002\u0002\u0ec7\u031a\u0003\u0002\u0002\u0002\u0ec8',
- '\u0ec9\u0007&\u0002\u0002\u0ec9\u031c\u0003\u0002\u0002\u0002\u0eca',
- '\u0ecb\t\u0002\u0002\u0002\u0ecb\u031e\u0003\u0002\u0002\u0002\u0ecc',
- '\u0ecd\t\u0003\u0002\u0002\u0ecd\u0320\u0003\u0002\u0002\u0002\u0ece',
- '\u0ecf\u00042;\u0002\u0ecf\u0322\u0003\u0002\u0002\u0002\u0ed0\u0ed3',
- '\t\u0004\u0002\u0002\u0ed1\u0ed4\u0005\u0305\u0183\u0002\u0ed2\u0ed4',
- '\u0005\u0307\u0184\u0002\u0ed3\u0ed1\u0003\u0002\u0002\u0002\u0ed3\u0ed2',
- '\u0003\u0002\u0002\u0002\u0ed3\u0ed4\u0003\u0002\u0002\u0002\u0ed4\u0ed6',
- '\u0003\u0002\u0002\u0002\u0ed5\u0ed7\u0005\u0321\u0191\u0002\u0ed6\u0ed5',
- '\u0003\u0002\u0002\u0002\u0ed7\u0ed8\u0003\u0002\u0002\u0002\u0ed8\u0ed6',
- '\u0003\u0002\u0002\u0002\u0ed8\u0ed9\u0003\u0002\u0002\u0002\u0ed9\u0324',
- '\u0003\u0002\u0002\u0002\u0eda\u0eeb\t\u0005\u0002\u0002\u0edb\u0eeb',
- '\u0005\u0305\u0183\u0002\u0edc\u0eeb\u0005\u0309\u0185\u0002\u0edd\u0eeb',
- '\u0005\u0319\u018d\u0002\u0ede\u0eeb\u0005\u0307\u0184\u0002\u0edf\u0eeb',
- '\u0005\u02df\u0170\u0002\u0ee0\u0eeb\u0005\u02e7\u0174\u0002\u0ee1\u0eeb',
- '\u0005\u02e9\u0175\u0002\u0ee2\u0eeb\u0005\u02eb\u0176\u0002\u0ee3\u0eeb',
- '\u0005\u02ed\u0177\u0002\u0ee4\u0eeb\u0005\u02ef\u0178\u0002\u0ee5\u0eeb',
- '\u0005\u02f1\u0179\u0002\u0ee6\u0eeb\u0005\u0317\u018c\u0002\u0ee7\u0eeb',
- '\u0005\u0313\u018a\u0002\u0ee8\u0eeb\u0005\u031b\u018e\u0002\u0ee9\u0eeb',
- '\u0007#\u0002\u0002\u0eea\u0eda\u0003\u0002\u0002\u0002\u0eea\u0edb',
- '\u0003\u0002\u0002\u0002\u0eea\u0edc\u0003\u0002\u0002\u0002\u0eea\u0edd',
- '\u0003\u0002\u0002\u0002\u0eea\u0ede\u0003\u0002\u0002\u0002\u0eea\u0edf',
- '\u0003\u0002\u0002\u0002\u0eea\u0ee0\u0003\u0002\u0002\u0002\u0eea\u0ee1',
- '\u0003\u0002\u0002\u0002\u0eea\u0ee2\u0003\u0002\u0002\u0002\u0eea\u0ee3',
- '\u0003\u0002\u0002\u0002\u0eea\u0ee4\u0003\u0002\u0002\u0002\u0eea\u0ee5',
- '\u0003\u0002\u0002\u0002\u0eea\u0ee6\u0003\u0002\u0002\u0002\u0eea\u0ee7',
- '\u0003\u0002\u0002\u0002\u0eea\u0ee8\u0003\u0002\u0002\u0002\u0eea\u0ee9',
- '\u0003\u0002\u0002\u0002\u0eeb\u0326\u0003\u0002\u0002\u0002\u0eec\u0eed',
- '\t\u0006\u0002\u0002\u0eed\u0328\u0003\u0002\u0002\u0002\u0eee\u0eef',
- '\t\u0007\u0002\u0002\u0eef\u032a\u0003\u0002\u0002\u0002\u0ef0\u0ef1',
- '\t\b\u0002\u0002\u0ef1\u032c\u0003\u0002\u0002\u0002\u0ef2\u0ef3\t\t',
- '\u0002\u0002\u0ef3\u032e\u0003\u0002\u0002\u0002\u0ef4\u0ef5\t\u0004',
- '\u0002\u0002\u0ef5\u0330\u0003\u0002\u0002\u0002\u0ef6\u0ef7\t\n\u0002',
- '\u0002\u0ef7\u0332\u0003\u0002\u0002\u0002\u0ef8\u0ef9\t\u000b\u0002',
- '\u0002\u0ef9\u0334\u0003\u0002\u0002\u0002\u0efa\u0efb\t\f\u0002\u0002',
- '\u0efb\u0336\u0003\u0002\u0002\u0002\u0efc\u0efd\t\r\u0002\u0002\u0efd',
- '\u0338\u0003\u0002\u0002\u0002\u0efe\u0eff\t\u000e\u0002\u0002\u0eff',
- '\u033a\u0003\u0002\u0002\u0002\u0f00\u0f01\t\u000f\u0002\u0002\u0f01',
- '\u033c\u0003\u0002\u0002\u0002\u0f02\u0f03\t\u0010\u0002\u0002\u0f03',
- '\u033e\u0003\u0002\u0002\u0002\u0f04\u0f05\t\u0011\u0002\u0002\u0f05',
- '\u0340\u0003\u0002\u0002\u0002\u0f06\u0f07\t\u0012\u0002\u0002\u0f07',
- '\u0342\u0003\u0002\u0002\u0002\u0f08\u0f09\t\u0013\u0002\u0002\u0f09',
- '\u0344\u0003\u0002\u0002\u0002\u0f0a\u0f0b\t\u0014\u0002\u0002\u0f0b',
- '\u0346\u0003\u0002\u0002\u0002\u0f0c\u0f0d\t\u0015\u0002\u0002\u0f0d',
- '\u0348\u0003\u0002\u0002\u0002\u0f0e\u0f0f\t\u0016\u0002\u0002\u0f0f',
- '\u034a\u0003\u0002\u0002\u0002\u0f10\u0f11\t\u0017\u0002\u0002\u0f11',
- '\u034c\u0003\u0002\u0002\u0002\u0f12\u0f13\t\u0018\u0002\u0002\u0f13',
- '\u034e\u0003\u0002\u0002\u0002\u0f14\u0f15\t\u0019\u0002\u0002\u0f15',
- '\u0350\u0003\u0002\u0002\u0002\u0f16\u0f17\t\u001a\u0002\u0002\u0f17',
- '\u0352\u0003\u0002\u0002\u0002\u0f18\u0f19\t\u001b\u0002\u0002\u0f19',
- '\u0354\u0003\u0002\u0002\u0002\u0f1a\u0f1b\t\u001c\u0002\u0002\u0f1b',
- '\u0356\u0003\u0002\u0002\u0002\u0f1c\u0f1d\t\u001d\u0002\u0002\u0f1d',
- '\u0358\u0003\u0002\u0002\u0002\u0f1e\u0f1f\t\u001e\u0002\u0002\u0f1f',
- '\u035a\u0003\u0002\u0002\u0002\u0f20\u0f26\u0007)\u0002\u0002\u0f21',
- '\u0f25\n\u001f\u0002\u0002\u0f22\u0f23\u0007^\u0002\u0002\u0f23\u0f25',
- '\u000b\u0002\u0002\u0002\u0f24\u0f21\u0003\u0002\u0002\u0002\u0f24\u0f22',
- '\u0003\u0002\u0002\u0002\u0f25\u0f28\u0003\u0002\u0002\u0002\u0f26\u0f24',
- '\u0003\u0002\u0002\u0002\u0f26\u0f27\u0003\u0002\u0002\u0002\u0f27\u0f29',
- '\u0003\u0002\u0002\u0002\u0f28\u0f26\u0003\u0002\u0002\u0002\u0f29\u0f35',
- '\u0007)\u0002\u0002\u0f2a\u0f30\u0007$\u0002\u0002\u0f2b\u0f2f\n \u0002',
- '\u0002\u0f2c\u0f2d\u0007^\u0002\u0002\u0f2d\u0f2f\u000b\u0002\u0002',
- '\u0002\u0f2e\u0f2b\u0003\u0002\u0002\u0002\u0f2e\u0f2c\u0003\u0002\u0002',
- '\u0002\u0f2f\u0f32\u0003\u0002\u0002\u0002\u0f30\u0f2e\u0003\u0002\u0002',
- '\u0002\u0f30\u0f31\u0003\u0002\u0002\u0002\u0f31\u0f33\u0003\u0002\u0002',
- '\u0002\u0f32\u0f30\u0003\u0002\u0002\u0002\u0f33\u0f35\u0007$\u0002',
- '\u0002\u0f34\u0f20\u0003\u0002\u0002\u0002\u0f34\u0f2a\u0003\u0002\u0002',
- '\u0002\u0f35\u0f36\u0003\u0002\u0002\u0002\u0f36\u0f34\u0003\u0002\u0002',
- '\u0002\u0f36\u0f37\u0003\u0002\u0002\u0002\u0f37\u035c\u0003\u0002\u0002',
- '\u0002\u0f38\u0f42\u0005\u035b\u01ae\u0002\u0f39\u0f3a\u00072\u0002',
- '\u0002\u0f3a\u0f3d\u0007Z\u0002\u0002\u0f3b\u0f3e\u0005\u031f\u0190',
- '\u0002\u0f3c\u0f3e\u0005\u0321\u0191\u0002\u0f3d\u0f3b\u0003\u0002\u0002',
- '\u0002\u0f3d\u0f3c\u0003\u0002\u0002\u0002\u0f3e\u0f3f\u0003\u0002\u0002',
- '\u0002\u0f3f\u0f3d\u0003\u0002\u0002\u0002\u0f3f\u0f40\u0003\u0002\u0002',
- '\u0002\u0f40\u0f42\u0003\u0002\u0002\u0002\u0f41\u0f38\u0003\u0002\u0002',
- '\u0002\u0f41\u0f39\u0003\u0002\u0002\u0002\u0f42\u035e\u0003\u0002\u0002',
- '\u0002\u0f43\u0f45\u0005\u0321\u0191\u0002\u0f44\u0f43\u0003\u0002\u0002',
- '\u0002\u0f45\u0f46\u0003\u0002\u0002\u0002\u0f46\u0f44\u0003\u0002\u0002',
- '\u0002\u0f46\u0f47\u0003\u0002\u0002\u0002\u0f47\u0f48\u0003\u0002\u0002',
- '\u0002\u0f48\u0f49\t!\u0002\u0002\u0f49\u0360\u0003\u0002\u0002\u0002',
- '\u0f4a\u0f4e\u0005\u0365\u01b3\u0002\u0f4b\u0f4f\u0007F\u0002\u0002',
- '\u0f4c\u0f4d\u0007D\u0002\u0002\u0f4d\u0f4f\u0007F\u0002\u0002\u0f4e',
- '\u0f4b\u0003\u0002\u0002\u0002\u0f4e\u0f4c\u0003\u0002\u0002\u0002\u0f4f',
- '\u0362\u0003\u0002\u0002\u0002\u0f50\u0f52\u0005\u0321\u0191\u0002\u0f51',
- '\u0f50\u0003\u0002\u0002\u0002\u0f52\u0f53\u0003\u0002\u0002\u0002\u0f53',
- '\u0f51\u0003\u0002\u0002\u0002\u0f53\u0f54\u0003\u0002\u0002\u0002\u0f54',
- '\u0f55\u0003\u0002\u0002\u0002\u0f55\u0f56\t"\u0002\u0002\u0f56\u0364',
- '\u0003\u0002\u0002\u0002\u0f57\u0f59\u0005\u0321\u0191\u0002\u0f58\u0f57',
- '\u0003\u0002\u0002\u0002\u0f59\u0f5a\u0003\u0002\u0002\u0002\u0f5a\u0f58',
- '\u0003\u0002\u0002\u0002\u0f5a\u0f5b\u0003\u0002\u0002\u0002\u0f5b\u0f67',
- '\u0003\u0002\u0002\u0002\u0f5c\u0f60\u0005\u02df\u0170\u0002\u0f5d\u0f5f',
- '\u0005\u0321\u0191\u0002\u0f5e\u0f5d\u0003\u0002\u0002\u0002\u0f5f\u0f62',
- '\u0003\u0002\u0002\u0002\u0f60\u0f5e\u0003\u0002\u0002\u0002\u0f60\u0f61',
- '\u0003\u0002\u0002\u0002\u0f61\u0f64\u0003\u0002\u0002\u0002\u0f62\u0f60',
- '\u0003\u0002\u0002\u0002\u0f63\u0f65\u0005\u0323\u0192\u0002\u0f64\u0f63',
- '\u0003\u0002\u0002\u0002\u0f64\u0f65\u0003\u0002\u0002\u0002\u0f65\u0f68',
- '\u0003\u0002\u0002\u0002\u0f66\u0f68\u0005\u0323\u0192\u0002\u0f67\u0f5c',
- '\u0003\u0002\u0002\u0002\u0f67\u0f66\u0003\u0002\u0002\u0002\u0f67\u0f68',
- '\u0003\u0002\u0002\u0002\u0f68\u0366\u0003\u0002\u0002\u0002\u0f69\u0f6d',
- '\u0005\u031d\u018f\u0002\u0f6a\u0f6d\u0005\u0321\u0191\u0002\u0f6b\u0f6d',
- '\u0007a\u0002\u0002\u0f6c\u0f69\u0003\u0002\u0002\u0002\u0f6c\u0f6a',
- '\u0003\u0002\u0002\u0002\u0f6c\u0f6b\u0003\u0002\u0002\u0002\u0f6d\u0f6e',
- '\u0003\u0002\u0002\u0002\u0f6e\u0f6c\u0003\u0002\u0002\u0002\u0f6e\u0f6f',
- '\u0003\u0002\u0002\u0002\u0f6f\u0f7a\u0003\u0002\u0002\u0002\u0f70\u0f7a',
- '\u0005\u0369\u01b5\u0002\u0f71\u0f73\u0007b\u0002\u0002\u0f72\u0f74',
- '\u0005\u0325\u0193\u0002\u0f73\u0f72\u0003\u0002\u0002\u0002\u0f74\u0f75',
- '\u0003\u0002\u0002\u0002\u0f75\u0f73\u0003\u0002\u0002\u0002\u0f75\u0f76',
- '\u0003\u0002\u0002\u0002\u0f76\u0f77\u0003\u0002\u0002\u0002\u0f77\u0f78',
- '\u0007b\u0002\u0002\u0f78\u0f7a\u0003\u0002\u0002\u0002\u0f79\u0f6c',
- '\u0003\u0002\u0002\u0002\u0f79\u0f70\u0003\u0002\u0002\u0002\u0f79\u0f71',
- '\u0003\u0002\u0002\u0002\u0f7a\u0368\u0003\u0002\u0002\u0002\u0f7b\u0f81',
- '\u0007b\u0002\u0002\u0f7c\u0f7d\u0007b\u0002\u0002\u0f7d\u0f80\u0007',
- 'b\u0002\u0002\u0f7e\u0f80\n#\u0002\u0002\u0f7f\u0f7c\u0003\u0002\u0002',
- '\u0002\u0f7f\u0f7e\u0003\u0002\u0002\u0002\u0f80\u0f83\u0003\u0002\u0002',
- '\u0002\u0f81\u0f7f\u0003\u0002\u0002\u0002\u0f81\u0f82\u0003\u0002\u0002',
- '\u0002\u0f82\u0f84\u0003\u0002\u0002\u0002\u0f83\u0f81\u0003\u0002\u0002',
- '\u0002\u0f84\u0f85\u0007b\u0002\u0002\u0f85\u036a\u0003\u0002\u0002',
- '\u0002\u0f86\u0f8a\u0007a\u0002\u0002\u0f87\u0f8b\u0005\u031d\u018f',
- '\u0002\u0f88\u0f8b\u0005\u0321\u0191\u0002\u0f89\u0f8b\t$\u0002\u0002',
- '\u0f8a\u0f87\u0003\u0002\u0002\u0002\u0f8a\u0f88\u0003\u0002\u0002\u0002',
- '\u0f8a\u0f89\u0003\u0002\u0002\u0002\u0f8b\u0f8c\u0003\u0002\u0002\u0002',
- '\u0f8c\u0f8a\u0003\u0002\u0002\u0002\u0f8c\u0f8d\u0003\u0002\u0002\u0002',
- '\u0f8d\u036c\u0003\u0002\u0002\u0002\u0f8e\u0f8f\t%\u0002\u0002\u0f8f',
- '\u0f90\u0003\u0002\u0002\u0002\u0f90\u0f91\b\u01b7\u0002\u0002\u0f91',
- '\u036e\u0003\u0002\u0002\u0002\u0f92\u0f93\u0007/\u0002\u0002\u0f93',
- '\u0f94\u0007/\u0002\u0002\u0f94\u0f98\u0003\u0002\u0002\u0002\u0f95',
- '\u0f97\n&\u0002\u0002\u0f96\u0f95\u0003\u0002\u0002\u0002\u0f97\u0f9a',
- '\u0003\u0002\u0002\u0002\u0f98\u0f96\u0003\u0002\u0002\u0002\u0f98\u0f99',
- '\u0003\u0002\u0002\u0002\u0f99\u0f9b\u0003\u0002\u0002\u0002\u0f9a\u0f98',
- '\u0003\u0002\u0002\u0002\u0f9b\u0f9c\b\u01b8\u0002\u0002\u0f9c\u0370',
- '\u0003\u0002\u0002\u0002\u0f9d\u0fa0\u0005\u0373\u01ba\u0002\u0f9e\u0fa0',
- '\u0005\u0375\u01bb\u0002\u0f9f\u0f9d\u0003\u0002\u0002\u0002\u0f9f\u0f9e',
- '\u0003\u0002\u0002\u0002\u0fa0\u0372\u0003\u0002\u0002\u0002\u0fa1\u0fa2',
- '\u00071\u0002\u0002\u0fa2\u0fa3\u0007,\u0002\u0002\u0fa3\u0fa4\u0007',
- '-\u0002\u0002\u0fa4\u0fa9\u0003\u0002\u0002\u0002\u0fa5\u0fa8\u0005',
- '\u0371\u01b9\u0002\u0fa6\u0fa8\u000b\u0002\u0002\u0002\u0fa7\u0fa5\u0003',
- '\u0002\u0002\u0002\u0fa7\u0fa6\u0003\u0002\u0002\u0002\u0fa8\u0fab\u0003',
- '\u0002\u0002\u0002\u0fa9\u0faa\u0003\u0002\u0002\u0002\u0fa9\u0fa7\u0003',
- '\u0002\u0002\u0002\u0faa\u0fac\u0003\u0002\u0002\u0002\u0fab\u0fa9\u0003',
- '\u0002\u0002\u0002\u0fac\u0fad\u0007,\u0002\u0002\u0fad\u0fae\u0007',
- '1\u0002\u0002\u0fae\u0faf\u0003\u0002\u0002\u0002\u0faf\u0fb0\b\u01ba',
- '\u0002\u0002\u0fb0\u0374\u0003\u0002\u0002\u0002\u0fb1\u0fb2\u00071',
- '\u0002\u0002\u0fb2\u0fb3\u0007,\u0002\u0002\u0fb3\u0fb8\u0003\u0002',
- '\u0002\u0002\u0fb4\u0fb7\u0005\u0371\u01b9\u0002\u0fb5\u0fb7\u000b\u0002',
- '\u0002\u0002\u0fb6\u0fb4\u0003\u0002\u0002\u0002\u0fb6\u0fb5\u0003\u0002',
- '\u0002\u0002\u0fb7\u0fba\u0003\u0002\u0002\u0002\u0fb8\u0fb9\u0003\u0002',
- '\u0002\u0002\u0fb8\u0fb6\u0003\u0002\u0002\u0002\u0fb9\u0fbb\u0003\u0002',
- '\u0002\u0002\u0fba\u0fb8\u0003\u0002\u0002\u0002\u0fbb\u0fbc\u0007,',
- '\u0002\u0002\u0fbc\u0fbd\u00071\u0002\u0002\u0fbd\u0fbe\u0003\u0002',
- '\u0002\u0002\u0fbe\u0fbf\b\u01bb\u0002\u0002\u0fbf\u0376\u0003\u0002',
- '\u0002\u00020\u0002\u039c\u0592\u060c\u0b76\u0b93\u0ba0\u0bab\u0bbc',
- '\u0bcd\u0bde\u0e94\u0e9e\u0ed3\u0ed8\u0eea\u0f24\u0f26\u0f2e\u0f30\u0f34',
- '\u0f36\u0f3d\u0f3f\u0f41\u0f46\u0f4e\u0f53\u0f5a\u0f60\u0f64\u0f67\u0f6c',
- '\u0f6e\u0f75\u0f79\u0f7f\u0f81\u0f8a\u0f8c\u0f98\u0f9f\u0fa7\u0fa9\u0fb6',
- '\u0fb8\u0003\u0002\u0003\u0002',
-].join('');
-
-const atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);
-
-const decisionsToDFA = atn.decisionToState.map((ds, index) => new antlr4.dfa.DFA(ds, index));
-
-class HiveLexer extends antlr4.Lexer {
- static grammarFileName = 'HiveLexer.g4';
- static channelNames = ['DEFAULT_TOKEN_CHANNEL', 'HIDDEN'];
- static modeNames = ['DEFAULT_MODE'];
- static literalNames = [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- "'.'",
- "':'",
- "','",
- "';'",
- "'('",
- "')'",
- "'['",
- "']'",
- "'{'",
- "'}'",
- null,
- "'<=>'",
- null,
- "'<='",
- "'<'",
- "'>='",
- "'>'",
- "'=>'",
- "'/'",
- "'+'",
- "'-'",
- "'*'",
- "'%'",
- "'DIV'",
- "'&'",
- "'~'",
- "'|'",
- "'||'",
- "'^'",
- "'?'",
- "'$'",
- ];
- static symbolicNames = [
- null,
- 'KW_TRUE',
- 'KW_FALSE',
- 'KW_ALL',
- 'KW_AUTO',
- 'KW_NONE',
- 'KW_AND',
- 'KW_OR',
- 'KW_NOT',
- 'KW_LIKE',
- 'KW_ANY',
- 'KW_IF',
- 'KW_EXISTS',
- 'KW_ASC',
- 'KW_DESC',
- 'KW_NULLS',
- 'KW_LAST',
- 'KW_ORDER',
- 'KW_GROUP',
- 'KW_BY',
- 'KW_HAVING',
- 'KW_WHERE',
- 'KW_FROM',
- 'KW_AS',
- 'KW_SELECT',
- 'KW_DISTINCT',
- 'KW_INSERT',
- 'KW_OVERWRITE',
- 'KW_OUTER',
- 'KW_UNIQUEJOIN',
- 'KW_PRESERVE',
- 'KW_JOIN',
- 'KW_LEFT',
- 'KW_RIGHT',
- 'KW_FULL',
- 'KW_ON',
- 'KW_PARTITION',
- 'KW_PARTITIONS',
- 'KW_TABLE',
- 'KW_TABLES',
- 'KW_TAGS',
- 'KW_COLUMNS',
- 'KW_INDEX',
- 'KW_INDEXES',
- 'KW_REBUILD',
- 'KW_FUNCTIONS',
- 'KW_SHOW',
- 'KW_MSCK',
- 'KW_REPAIR',
- 'KW_DIRECTORY',
- 'KW_LOCAL',
- 'KW_TRANSFORM',
- 'KW_USING',
- 'KW_CLUSTER',
- 'KW_DISTRIBUTE',
- 'KW_SORT',
- 'KW_UNION',
- 'KW_EXCEPT',
- 'KW_LOAD',
- 'KW_EXPORT',
- 'KW_IMPORT',
- 'KW_REPLICATION',
- 'KW_METADATA',
- 'KW_DATA',
- 'KW_INPATH',
- 'KW_IS',
- 'KW_NULL',
- 'KW_CREATE',
- 'KW_EXTERNAL',
- 'KW_ALTER',
- 'KW_CHANGE',
- 'KW_COLUMN',
- 'KW_FIRST',
- 'KW_AFTER',
- 'KW_DESCRIBE',
- 'KW_DROP',
- 'KW_RENAME',
- 'KW_TO',
- 'KW_COMMENT',
- 'KW_BOOLEAN',
- 'KW_TINYINT',
- 'KW_SMALLINT',
- 'KW_INT',
- 'KW_BIGINT',
- 'KW_FLOAT',
- 'KW_DOUBLE',
- 'KW_PRECISION',
- 'KW_DATE',
- 'KW_DATETIME',
- 'KW_TIMESTAMP',
- 'KW_TIMESTAMP_NTZ',
- 'KW_TIMESTAMPLOCALTZ',
- 'KW_TIME',
- 'KW_ZONE',
- 'KW_INTERVAL',
- 'KW_DECIMAL',
- 'KW_STRING',
- 'KW_CHAR',
- 'KW_VARCHAR',
- 'KW_ARRAY',
- 'KW_STRUCT',
- 'KW_MAP',
- 'KW_MASK',
- 'KW_VARIANT',
- 'KW_UNIONTYPE',
- 'KW_REDUCE',
- 'KW_PARTITIONED',
- 'KW_CLUSTERED',
- 'KW_SORTED',
- 'KW_INTO',
- 'KW_BUCKETS',
- 'KW_ROW',
- 'KW_ROWS',
- 'KW_FORMAT',
- 'KW_DELIMITED',
- 'KW_FIELDS',
- 'KW_TERMINATED',
- 'KW_ESCAPED',
- 'KW_COLLECTION',
- 'KW_ITEMS',
- 'KW_KEYS',
- 'KW_KEY_TYPE',
- 'KW_KILL',
- 'KW_LINES',
- 'KW_STORED',
- 'KW_FILEFORMAT',
- 'KW_INPUTFORMAT',
- 'KW_OUTPUTFORMAT',
- 'KW_INPUTDRIVER',
- 'KW_OUTPUTDRIVER',
- 'KW_ENABLE',
- 'KW_DISABLE',
- 'KW_LOCATION',
- 'KW_TABLESAMPLE',
- 'KW_BUCKET',
- 'KW_OUT',
- 'KW_OF',
- 'KW_PERCENT',
- 'KW_CAST',
- 'KW_ADD',
- 'KW_REPLACE',
- 'KW_RLIKE',
- 'KW_REGEXP',
- 'KW_TEMPORARY',
- 'KW_FUNCTION',
- 'KW_MACRO',
- 'KW_FILE',
- 'KW_JAR',
- 'KW_EXPLAIN',
- 'KW_EXTENDED',
- 'KW_FORMATTED',
- 'KW_DEPENDENCY',
- 'KW_LOGICAL',
- 'KW_SERDE',
- 'KW_WITH',
- 'KW_DEFERRED',
- 'KW_SERDEPROPERTIES',
- 'KW_DBPROPERTIES',
- 'KW_LIMIT',
- 'KW_OFFSET',
- 'KW_SET',
- 'KW_UNSET',
- 'KW_TBLPROPERTIES',
- 'KW_IDXPROPERTIES',
- 'KW_VALUE_TYPE',
- 'KW_ELEM_TYPE',
- 'KW_DEFINED',
- 'KW_CASE',
- 'KW_WHEN',
- 'KW_THEN',
- 'KW_ELSE',
- 'KW_END',
- 'KW_MAPJOIN',
- 'KW_STREAMTABLE',
- 'KW_CLUSTERSTATUS',
- 'KW_UTC',
- 'KW_UTCTIMESTAMP',
- 'KW_LONG',
- 'KW_DELETE',
- 'KW_PLUS',
- 'KW_MINUS',
- 'KW_FETCH',
- 'KW_INTERSECT',
- 'KW_VIEW',
- 'KW_VIEWS',
- 'KW_IN',
- 'KW_DATABASE',
- 'KW_DATABASES',
- 'KW_MATERIALIZED',
- 'KW_SCHEMA',
- 'KW_SCHEMAS',
- 'KW_GRANT',
- 'KW_REVOKE',
- 'KW_SSL',
- 'KW_UNDO',
- 'KW_LOCK',
- 'KW_LOCKS',
- 'KW_UNLOCK',
- 'KW_SHARED',
- 'KW_EXCLUSIVE',
- 'KW_PROCEDURE',
- 'KW_UNSIGNED',
- 'KW_WHILE',
- 'KW_READ',
- 'KW_READS',
- 'KW_PURGE',
- 'KW_RANGE',
- 'KW_ANALYZE',
- 'KW_BEFORE',
- 'KW_BETWEEN',
- 'KW_BOTH',
- 'KW_BINARY',
- 'KW_CROSS',
- 'KW_CONTINUE',
- 'KW_CURSOR',
- 'KW_TRIGGER',
- 'KW_RECORDREADER',
- 'KW_RECORDWRITER',
- 'KW_SEMI',
- 'KW_LATERAL',
- 'KW_TOUCH',
- 'KW_ARCHIVE',
- 'KW_UNARCHIVE',
- 'KW_COMPUTE',
- 'KW_STATISTICS',
- 'KW_USE',
- 'KW_OPTIONS',
- 'KW_OPTION',
- 'KW_CONCATENATE',
- 'KW_CATALOG',
- 'KW_SHOW_DATABASE',
- 'KW_UPDATE',
- 'KW_RESTRICT',
- 'KW_CASCADE',
- 'KW_SKEWED',
- 'KW_ROLLUP',
- 'KW_CUBE',
- 'KW_DIRECTORIES',
- 'KW_FOR',
- 'KW_WINDOW',
- 'KW_UNBOUNDED',
- 'KW_PRECEDING',
- 'KW_FOLLOWING',
- 'KW_CURRENT',
- 'KW_CURRENT_DATE',
- 'KW_CURRENT_TIMESTAMP',
- 'KW_LESS',
- 'KW_MORE',
- 'KW_OVER',
- 'KW_GROUPING',
- 'KW_SETS',
- 'KW_TRUNCATE',
- 'KW_NOSCAN',
- 'KW_USER',
- 'KW_ROLE',
- 'KW_ROLES',
- 'KW_INNER',
- 'KW_EXCHANGE',
- 'KW_URI',
- 'KW_SERVER',
- 'KW_ADMIN',
- 'KW_OWNER',
- 'KW_PRINCIPALS',
- 'KW_COMPACT',
- 'KW_COMPACTIONS',
- 'KW_TRANSACTIONS',
- 'KW_REWRITE',
- 'KW_AUTHORIZATION',
- 'KW_REOPTIMIZATION',
- 'KW_CONF',
- 'KW_VALUES',
- 'KW_RELOAD',
- 'KW_YEAR',
- 'KW_QUERY',
- 'KW_QUARTER',
- 'KW_MONTH',
- 'KW_WEEK',
- 'KW_DAY',
- 'KW_DOW',
- 'KW_HOUR',
- 'KW_MINUTE',
- 'KW_SECOND',
- 'KW_START',
- 'KW_TRANSACTION',
- 'KW_COMMIT',
- 'KW_ROLLBACK',
- 'KW_WORK',
- 'KW_ONLY',
- 'KW_WRITE',
- 'KW_ISOLATION',
- 'KW_LEVEL',
- 'KW_SNAPSHOT',
- 'KW_AUTOCOMMIT',
- 'KW_CACHE',
- 'KW_PRIMARY',
- 'KW_FOREIGN',
- 'KW_REFERENCES',
- 'KW_CONSTRAINT',
- 'KW_ENFORCED',
- 'KW_VALIDATE',
- 'KW_NOVALIDATE',
- 'KW_RELY',
- 'KW_NORELY',
- 'KW_UNIQUE',
- 'KW_KEY',
- 'KW_ABORT',
- 'KW_EXTRACT',
- 'KW_FLOOR',
- 'KW_MERGE',
- 'KW_MATCHED',
- 'KW_REPL',
- 'KW_DUMP',
- 'KW_STATUS',
- 'KW_VECTORIZATION',
- 'KW_SUMMARY',
- 'KW_OPERATOR',
- 'KW_EXPRESSION',
- 'KW_DETAIL',
- 'KW_WAIT',
- 'KW_RESOURCE',
- 'KW_PLAN',
- 'KW_QUERY_PARALLELISM',
- 'KW_PLANS',
- 'KW_ACTIVATE',
- 'KW_DEFAULT',
- 'KW_CHECK',
- 'KW_POOL',
- 'KW_MOVE',
- 'KW_DO',
- 'KW_ALLOC_FRACTION',
- 'KW_SCHEDULING_POLICY',
- 'KW_PATH',
- 'KW_MAPPING',
- 'KW_WORKLOAD',
- 'KW_MANAGEMENT',
- 'KW_ACTIVE',
- 'KW_MANAGED',
- 'KW_UNMANAGED',
- 'KW_APPLICATION',
- 'KW_SYNC',
- 'KW_SEQUENCEFILE',
- 'KW_TEXTFILE',
- 'KW_RCFILE',
- 'KW_ORC',
- 'KW_PARQUET',
- 'KW_DELTA',
- 'KW_AVRO',
- 'KW_CSV',
- 'KW_JSON',
- 'KW_JSONFILE',
- 'KW_BLOOMFILTER',
- 'KW_GENERATED',
- 'KW_ALWAYS',
- 'KW_IDENTITY',
- 'KW_INCREMENT',
- 'KW_SCHEDULE',
- 'KW_REFRESH',
- 'KW_EVERY',
- 'KW_CRON',
- 'KW_AT',
- 'KW_FILTER',
- 'KW_STREAM',
- 'KW_STREAMING',
- 'KW_MOST',
- 'KW_EXPECT',
- 'KW_VIOLATION',
- 'KW_FAIL',
- 'DOT',
- 'COLON',
- 'COMMA',
- 'SEMICOLON',
- 'LPAREN',
- 'RPAREN',
- 'LSQUARE',
- 'RSQUARE',
- 'LCURLY',
- 'RCURLY',
- 'EQUAL',
- 'EQUAL_NS',
- 'NOTEQUAL',
- 'LESSTHANOREQUALTO',
- 'LESSTHAN',
- 'GREATERTHANOREQUALTO',
- 'GREATERTHAN',
- 'FAT_ARROW',
- 'DIVIDE',
- 'PLUS',
- 'MINUS',
- 'STAR',
- 'MOD',
- 'DIV',
- 'AMPERSAND',
- 'TILDE',
- 'BITWISEOR',
- 'CONCATENATE',
- 'BITWISEXOR',
- 'QUESTION',
- 'DOLLAR',
- 'StringLiteral',
- 'CharSetLiteral',
- 'IntegralLiteral',
- 'NumberLiteral',
- 'ByteLengthLiteral',
- 'Number',
- 'Identifier',
- 'QuotedIdentifier',
- 'CharSetName',
- 'WS',
- 'LINE_COMMENT',
- 'QUERY_HINT',
- 'SHOW_HINT',
- 'HIDDEN_HINT',
- ];
- static ruleNames = [
- 'KW_TRUE',
- 'KW_FALSE',
- 'KW_ALL',
- 'KW_AUTO',
- 'KW_NONE',
- 'KW_AND',
- 'KW_OR',
- 'KW_NOT',
- 'KW_LIKE',
- 'KW_ANY',
- 'KW_IF',
- 'KW_EXISTS',
- 'KW_ASC',
- 'KW_DESC',
- 'KW_NULLS',
- 'KW_LAST',
- 'KW_ORDER',
- 'KW_GROUP',
- 'KW_BY',
- 'KW_HAVING',
- 'KW_WHERE',
- 'KW_FROM',
- 'KW_AS',
- 'KW_SELECT',
- 'KW_DISTINCT',
- 'KW_INSERT',
- 'KW_OVERWRITE',
- 'KW_OUTER',
- 'KW_UNIQUEJOIN',
- 'KW_PRESERVE',
- 'KW_JOIN',
- 'KW_LEFT',
- 'KW_RIGHT',
- 'KW_FULL',
- 'KW_ON',
- 'KW_PARTITION',
- 'KW_PARTITIONS',
- 'KW_TABLE',
- 'KW_TABLES',
- 'KW_TAGS',
- 'KW_COLUMNS',
- 'KW_INDEX',
- 'KW_INDEXES',
- 'KW_REBUILD',
- 'KW_FUNCTIONS',
- 'KW_SHOW',
- 'KW_MSCK',
- 'KW_REPAIR',
- 'KW_DIRECTORY',
- 'KW_LOCAL',
- 'KW_TRANSFORM',
- 'KW_USING',
- 'KW_CLUSTER',
- 'KW_DISTRIBUTE',
- 'KW_SORT',
- 'KW_UNION',
- 'KW_EXCEPT',
- 'KW_LOAD',
- 'KW_EXPORT',
- 'KW_IMPORT',
- 'KW_REPLICATION',
- 'KW_METADATA',
- 'KW_DATA',
- 'KW_INPATH',
- 'KW_IS',
- 'KW_NULL',
- 'KW_CREATE',
- 'KW_EXTERNAL',
- 'KW_ALTER',
- 'KW_CHANGE',
- 'KW_COLUMN',
- 'KW_FIRST',
- 'KW_AFTER',
- 'KW_DESCRIBE',
- 'KW_DROP',
- 'KW_RENAME',
- 'KW_TO',
- 'KW_COMMENT',
- 'KW_BOOLEAN',
- 'KW_TINYINT',
- 'KW_SMALLINT',
- 'KW_INT',
- 'KW_BIGINT',
- 'KW_FLOAT',
- 'KW_DOUBLE',
- 'KW_PRECISION',
- 'KW_DATE',
- 'KW_DATETIME',
- 'KW_TIMESTAMP',
- 'KW_TIMESTAMP_NTZ',
- 'KW_TIMESTAMPLOCALTZ',
- 'KW_TIME',
- 'KW_ZONE',
- 'KW_INTERVAL',
- 'KW_DECIMAL',
- 'KW_STRING',
- 'KW_CHAR',
- 'KW_VARCHAR',
- 'KW_ARRAY',
- 'KW_STRUCT',
- 'KW_MAP',
- 'KW_MASK',
- 'KW_VARIANT',
- 'KW_UNIONTYPE',
- 'KW_REDUCE',
- 'KW_PARTITIONED',
- 'KW_CLUSTERED',
- 'KW_SORTED',
- 'KW_INTO',
- 'KW_BUCKETS',
- 'KW_ROW',
- 'KW_ROWS',
- 'KW_FORMAT',
- 'KW_DELIMITED',
- 'KW_FIELDS',
- 'KW_TERMINATED',
- 'KW_ESCAPED',
- 'KW_COLLECTION',
- 'KW_ITEMS',
- 'KW_KEYS',
- 'KW_KEY_TYPE',
- 'KW_KILL',
- 'KW_LINES',
- 'KW_STORED',
- 'KW_FILEFORMAT',
- 'KW_INPUTFORMAT',
- 'KW_OUTPUTFORMAT',
- 'KW_INPUTDRIVER',
- 'KW_OUTPUTDRIVER',
- 'KW_ENABLE',
- 'KW_DISABLE',
- 'KW_LOCATION',
- 'KW_TABLESAMPLE',
- 'KW_BUCKET',
- 'KW_OUT',
- 'KW_OF',
- 'KW_PERCENT',
- 'KW_CAST',
- 'KW_ADD',
- 'KW_REPLACE',
- 'KW_RLIKE',
- 'KW_REGEXP',
- 'KW_TEMPORARY',
- 'KW_FUNCTION',
- 'KW_MACRO',
- 'KW_FILE',
- 'KW_JAR',
- 'KW_EXPLAIN',
- 'KW_EXTENDED',
- 'KW_FORMATTED',
- 'KW_DEPENDENCY',
- 'KW_LOGICAL',
- 'KW_SERDE',
- 'KW_WITH',
- 'KW_DEFERRED',
- 'KW_SERDEPROPERTIES',
- 'KW_DBPROPERTIES',
- 'KW_LIMIT',
- 'KW_OFFSET',
- 'KW_SET',
- 'KW_UNSET',
- 'KW_TBLPROPERTIES',
- 'KW_IDXPROPERTIES',
- 'KW_VALUE_TYPE',
- 'KW_ELEM_TYPE',
- 'KW_DEFINED',
- 'KW_CASE',
- 'KW_WHEN',
- 'KW_THEN',
- 'KW_ELSE',
- 'KW_END',
- 'KW_MAPJOIN',
- 'KW_STREAMTABLE',
- 'KW_CLUSTERSTATUS',
- 'KW_UTC',
- 'KW_UTCTIMESTAMP',
- 'KW_LONG',
- 'KW_DELETE',
- 'KW_PLUS',
- 'KW_MINUS',
- 'KW_FETCH',
- 'KW_INTERSECT',
- 'KW_VIEW',
- 'KW_VIEWS',
- 'KW_IN',
- 'KW_DATABASE',
- 'KW_DATABASES',
- 'KW_MATERIALIZED',
- 'KW_SCHEMA',
- 'KW_SCHEMAS',
- 'KW_GRANT',
- 'KW_REVOKE',
- 'KW_SSL',
- 'KW_UNDO',
- 'KW_LOCK',
- 'KW_LOCKS',
- 'KW_UNLOCK',
- 'KW_SHARED',
- 'KW_EXCLUSIVE',
- 'KW_PROCEDURE',
- 'KW_UNSIGNED',
- 'KW_WHILE',
- 'KW_READ',
- 'KW_READS',
- 'KW_PURGE',
- 'KW_RANGE',
- 'KW_ANALYZE',
- 'KW_BEFORE',
- 'KW_BETWEEN',
- 'KW_BOTH',
- 'KW_BINARY',
- 'KW_CROSS',
- 'KW_CONTINUE',
- 'KW_CURSOR',
- 'KW_TRIGGER',
- 'KW_RECORDREADER',
- 'KW_RECORDWRITER',
- 'KW_SEMI',
- 'KW_LATERAL',
- 'KW_TOUCH',
- 'KW_ARCHIVE',
- 'KW_UNARCHIVE',
- 'KW_COMPUTE',
- 'KW_STATISTICS',
- 'KW_USE',
- 'KW_OPTIONS',
- 'KW_OPTION',
- 'KW_CONCATENATE',
- 'KW_CATALOG',
- 'KW_SHOW_DATABASE',
- 'KW_UPDATE',
- 'KW_RESTRICT',
- 'KW_CASCADE',
- 'KW_SKEWED',
- 'KW_ROLLUP',
- 'KW_CUBE',
- 'KW_DIRECTORIES',
- 'KW_FOR',
- 'KW_WINDOW',
- 'KW_UNBOUNDED',
- 'KW_PRECEDING',
- 'KW_FOLLOWING',
- 'KW_CURRENT',
- 'KW_CURRENT_DATE',
- 'KW_CURRENT_TIMESTAMP',
- 'KW_LESS',
- 'KW_MORE',
- 'KW_OVER',
- 'KW_GROUPING',
- 'KW_SETS',
- 'KW_TRUNCATE',
- 'KW_NOSCAN',
- 'KW_USER',
- 'KW_ROLE',
- 'KW_ROLES',
- 'KW_INNER',
- 'KW_EXCHANGE',
- 'KW_URI',
- 'KW_SERVER',
- 'KW_ADMIN',
- 'KW_OWNER',
- 'KW_PRINCIPALS',
- 'KW_COMPACT',
- 'KW_COMPACTIONS',
- 'KW_TRANSACTIONS',
- 'KW_REWRITE',
- 'KW_AUTHORIZATION',
- 'KW_REOPTIMIZATION',
- 'KW_CONF',
- 'KW_VALUES',
- 'KW_RELOAD',
- 'KW_YEAR',
- 'KW_QUERY',
- 'KW_QUARTER',
- 'KW_MONTH',
- 'KW_WEEK',
- 'KW_DAY',
- 'KW_DOW',
- 'KW_HOUR',
- 'KW_MINUTE',
- 'KW_SECOND',
- 'KW_START',
- 'KW_TRANSACTION',
- 'KW_COMMIT',
- 'KW_ROLLBACK',
- 'KW_WORK',
- 'KW_ONLY',
- 'KW_WRITE',
- 'KW_ISOLATION',
- 'KW_LEVEL',
- 'KW_SNAPSHOT',
- 'KW_AUTOCOMMIT',
- 'KW_CACHE',
- 'KW_PRIMARY',
- 'KW_FOREIGN',
- 'KW_REFERENCES',
- 'KW_CONSTRAINT',
- 'KW_ENFORCED',
- 'KW_VALIDATE',
- 'KW_NOVALIDATE',
- 'KW_RELY',
- 'KW_NORELY',
- 'KW_UNIQUE',
- 'KW_KEY',
- 'KW_ABORT',
- 'KW_EXTRACT',
- 'KW_FLOOR',
- 'KW_MERGE',
- 'KW_MATCHED',
- 'KW_REPL',
- 'KW_DUMP',
- 'KW_STATUS',
- 'KW_VECTORIZATION',
- 'KW_SUMMARY',
- 'KW_OPERATOR',
- 'KW_EXPRESSION',
- 'KW_DETAIL',
- 'KW_WAIT',
- 'KW_RESOURCE',
- 'KW_PLAN',
- 'KW_QUERY_PARALLELISM',
- 'KW_PLANS',
- 'KW_ACTIVATE',
- 'KW_DEFAULT',
- 'KW_CHECK',
- 'KW_POOL',
- 'KW_MOVE',
- 'KW_DO',
- 'KW_ALLOC_FRACTION',
- 'KW_SCHEDULING_POLICY',
- 'KW_PATH',
- 'KW_MAPPING',
- 'KW_WORKLOAD',
- 'KW_MANAGEMENT',
- 'KW_ACTIVE',
- 'KW_MANAGED',
- 'KW_UNMANAGED',
- 'KW_APPLICATION',
- 'KW_SYNC',
- 'KW_SEQUENCEFILE',
- 'KW_TEXTFILE',
- 'KW_RCFILE',
- 'KW_ORC',
- 'KW_PARQUET',
- 'KW_DELTA',
- 'KW_AVRO',
- 'KW_CSV',
- 'KW_JSON',
- 'KW_JSONFILE',
- 'KW_BLOOMFILTER',
- 'KW_GENERATED',
- 'KW_ALWAYS',
- 'KW_IDENTITY',
- 'KW_INCREMENT',
- 'KW_SCHEDULE',
- 'KW_REFRESH',
- 'KW_EVERY',
- 'KW_CRON',
- 'KW_AT',
- 'KW_FILTER',
- 'KW_STREAM',
- 'KW_STREAMING',
- 'KW_MOST',
- 'KW_EXPECT',
- 'KW_VIOLATION',
- 'KW_FAIL',
- 'DOT',
- 'COLON',
- 'COMMA',
- 'SEMICOLON',
- 'LPAREN',
- 'RPAREN',
- 'LSQUARE',
- 'RSQUARE',
- 'LCURLY',
- 'RCURLY',
- 'EQUAL',
- 'EQUAL_NS',
- 'NOTEQUAL',
- 'LESSTHANOREQUALTO',
- 'LESSTHAN',
- 'GREATERTHANOREQUALTO',
- 'GREATERTHAN',
- 'FAT_ARROW',
- 'DIVIDE',
- 'PLUS',
- 'MINUS',
- 'STAR',
- 'MOD',
- 'DIV',
- 'AMPERSAND',
- 'TILDE',
- 'BITWISEOR',
- 'CONCATENATE',
- 'BITWISEXOR',
- 'QUESTION',
- 'DOLLAR',
- 'Letter',
- 'HexDigit',
- 'Digit',
- 'Exponent',
- 'RegexComponent',
- 'A',
- 'B',
- 'C',
- 'D',
- 'E',
- 'F',
- 'G',
- 'H',
- 'I',
- 'J',
- 'K',
- 'L',
- 'M',
- 'N',
- 'O',
- 'P',
- 'Q',
- 'R',
- 'S',
- 'T',
- 'U',
- 'V',
- 'W',
- 'X',
- 'Y',
- 'Z',
- 'StringLiteral',
- 'CharSetLiteral',
- 'IntegralLiteral',
- 'NumberLiteral',
- 'ByteLengthLiteral',
- 'Number',
- 'Identifier',
- 'QuotedIdentifier',
- 'CharSetName',
- 'WS',
- 'LINE_COMMENT',
- 'QUERY_HINT',
- 'SHOW_HINT',
- 'HIDDEN_HINT',
- ];
-
- constructor(input) {
- super(input);
- this._interp = new antlr4.atn.LexerATNSimulator(this, atn, decisionsToDFA, new antlr4.PredictionContextCache());
- }
-
- get atn() {
- return atn;
- }
-}
-
-HiveLexer.EOF = antlr4.Token.EOF;
-HiveLexer.KW_TRUE = 1;
-HiveLexer.KW_FALSE = 2;
-HiveLexer.KW_ALL = 3;
-HiveLexer.KW_AUTO = 4;
-HiveLexer.KW_NONE = 5;
-HiveLexer.KW_AND = 6;
-HiveLexer.KW_OR = 7;
-HiveLexer.KW_NOT = 8;
-HiveLexer.KW_LIKE = 9;
-HiveLexer.KW_ANY = 10;
-HiveLexer.KW_IF = 11;
-HiveLexer.KW_EXISTS = 12;
-HiveLexer.KW_ASC = 13;
-HiveLexer.KW_DESC = 14;
-HiveLexer.KW_NULLS = 15;
-HiveLexer.KW_LAST = 16;
-HiveLexer.KW_ORDER = 17;
-HiveLexer.KW_GROUP = 18;
-HiveLexer.KW_BY = 19;
-HiveLexer.KW_HAVING = 20;
-HiveLexer.KW_WHERE = 21;
-HiveLexer.KW_FROM = 22;
-HiveLexer.KW_AS = 23;
-HiveLexer.KW_SELECT = 24;
-HiveLexer.KW_DISTINCT = 25;
-HiveLexer.KW_INSERT = 26;
-HiveLexer.KW_OVERWRITE = 27;
-HiveLexer.KW_OUTER = 28;
-HiveLexer.KW_UNIQUEJOIN = 29;
-HiveLexer.KW_PRESERVE = 30;
-HiveLexer.KW_JOIN = 31;
-HiveLexer.KW_LEFT = 32;
-HiveLexer.KW_RIGHT = 33;
-HiveLexer.KW_FULL = 34;
-HiveLexer.KW_ON = 35;
-HiveLexer.KW_PARTITION = 36;
-HiveLexer.KW_PARTITIONS = 37;
-HiveLexer.KW_TABLE = 38;
-HiveLexer.KW_TABLES = 39;
-HiveLexer.KW_TAGS = 40;
-HiveLexer.KW_COLUMNS = 41;
-HiveLexer.KW_INDEX = 42;
-HiveLexer.KW_INDEXES = 43;
-HiveLexer.KW_REBUILD = 44;
-HiveLexer.KW_FUNCTIONS = 45;
-HiveLexer.KW_SHOW = 46;
-HiveLexer.KW_MSCK = 47;
-HiveLexer.KW_REPAIR = 48;
-HiveLexer.KW_DIRECTORY = 49;
-HiveLexer.KW_LOCAL = 50;
-HiveLexer.KW_TRANSFORM = 51;
-HiveLexer.KW_USING = 52;
-HiveLexer.KW_CLUSTER = 53;
-HiveLexer.KW_DISTRIBUTE = 54;
-HiveLexer.KW_SORT = 55;
-HiveLexer.KW_UNION = 56;
-HiveLexer.KW_EXCEPT = 57;
-HiveLexer.KW_LOAD = 58;
-HiveLexer.KW_EXPORT = 59;
-HiveLexer.KW_IMPORT = 60;
-HiveLexer.KW_REPLICATION = 61;
-HiveLexer.KW_METADATA = 62;
-HiveLexer.KW_DATA = 63;
-HiveLexer.KW_INPATH = 64;
-HiveLexer.KW_IS = 65;
-HiveLexer.KW_NULL = 66;
-HiveLexer.KW_CREATE = 67;
-HiveLexer.KW_EXTERNAL = 68;
-HiveLexer.KW_ALTER = 69;
-HiveLexer.KW_CHANGE = 70;
-HiveLexer.KW_COLUMN = 71;
-HiveLexer.KW_FIRST = 72;
-HiveLexer.KW_AFTER = 73;
-HiveLexer.KW_DESCRIBE = 74;
-HiveLexer.KW_DROP = 75;
-HiveLexer.KW_RENAME = 76;
-HiveLexer.KW_TO = 77;
-HiveLexer.KW_COMMENT = 78;
-HiveLexer.KW_BOOLEAN = 79;
-HiveLexer.KW_TINYINT = 80;
-HiveLexer.KW_SMALLINT = 81;
-HiveLexer.KW_INT = 82;
-HiveLexer.KW_BIGINT = 83;
-HiveLexer.KW_FLOAT = 84;
-HiveLexer.KW_DOUBLE = 85;
-HiveLexer.KW_PRECISION = 86;
-HiveLexer.KW_DATE = 87;
-HiveLexer.KW_DATETIME = 88;
-HiveLexer.KW_TIMESTAMP = 89;
-HiveLexer.KW_TIMESTAMP_NTZ = 90;
-HiveLexer.KW_TIMESTAMPLOCALTZ = 91;
-HiveLexer.KW_TIME = 92;
-HiveLexer.KW_ZONE = 93;
-HiveLexer.KW_INTERVAL = 94;
-HiveLexer.KW_DECIMAL = 95;
-HiveLexer.KW_STRING = 96;
-HiveLexer.KW_CHAR = 97;
-HiveLexer.KW_VARCHAR = 98;
-HiveLexer.KW_ARRAY = 99;
-HiveLexer.KW_STRUCT = 100;
-HiveLexer.KW_MAP = 101;
-HiveLexer.KW_MASK = 102;
-HiveLexer.KW_VARIANT = 103;
-HiveLexer.KW_UNIONTYPE = 104;
-HiveLexer.KW_REDUCE = 105;
-HiveLexer.KW_PARTITIONED = 106;
-HiveLexer.KW_CLUSTERED = 107;
-HiveLexer.KW_SORTED = 108;
-HiveLexer.KW_INTO = 109;
-HiveLexer.KW_BUCKETS = 110;
-HiveLexer.KW_ROW = 111;
-HiveLexer.KW_ROWS = 112;
-HiveLexer.KW_FORMAT = 113;
-HiveLexer.KW_DELIMITED = 114;
-HiveLexer.KW_FIELDS = 115;
-HiveLexer.KW_TERMINATED = 116;
-HiveLexer.KW_ESCAPED = 117;
-HiveLexer.KW_COLLECTION = 118;
-HiveLexer.KW_ITEMS = 119;
-HiveLexer.KW_KEYS = 120;
-HiveLexer.KW_KEY_TYPE = 121;
-HiveLexer.KW_KILL = 122;
-HiveLexer.KW_LINES = 123;
-HiveLexer.KW_STORED = 124;
-HiveLexer.KW_FILEFORMAT = 125;
-HiveLexer.KW_INPUTFORMAT = 126;
-HiveLexer.KW_OUTPUTFORMAT = 127;
-HiveLexer.KW_INPUTDRIVER = 128;
-HiveLexer.KW_OUTPUTDRIVER = 129;
-HiveLexer.KW_ENABLE = 130;
-HiveLexer.KW_DISABLE = 131;
-HiveLexer.KW_LOCATION = 132;
-HiveLexer.KW_TABLESAMPLE = 133;
-HiveLexer.KW_BUCKET = 134;
-HiveLexer.KW_OUT = 135;
-HiveLexer.KW_OF = 136;
-HiveLexer.KW_PERCENT = 137;
-HiveLexer.KW_CAST = 138;
-HiveLexer.KW_ADD = 139;
-HiveLexer.KW_REPLACE = 140;
-HiveLexer.KW_RLIKE = 141;
-HiveLexer.KW_REGEXP = 142;
-HiveLexer.KW_TEMPORARY = 143;
-HiveLexer.KW_FUNCTION = 144;
-HiveLexer.KW_MACRO = 145;
-HiveLexer.KW_FILE = 146;
-HiveLexer.KW_JAR = 147;
-HiveLexer.KW_EXPLAIN = 148;
-HiveLexer.KW_EXTENDED = 149;
-HiveLexer.KW_FORMATTED = 150;
-HiveLexer.KW_DEPENDENCY = 151;
-HiveLexer.KW_LOGICAL = 152;
-HiveLexer.KW_SERDE = 153;
-HiveLexer.KW_WITH = 154;
-HiveLexer.KW_DEFERRED = 155;
-HiveLexer.KW_SERDEPROPERTIES = 156;
-HiveLexer.KW_DBPROPERTIES = 157;
-HiveLexer.KW_LIMIT = 158;
-HiveLexer.KW_OFFSET = 159;
-HiveLexer.KW_SET = 160;
-HiveLexer.KW_UNSET = 161;
-HiveLexer.KW_TBLPROPERTIES = 162;
-HiveLexer.KW_IDXPROPERTIES = 163;
-HiveLexer.KW_VALUE_TYPE = 164;
-HiveLexer.KW_ELEM_TYPE = 165;
-HiveLexer.KW_DEFINED = 166;
-HiveLexer.KW_CASE = 167;
-HiveLexer.KW_WHEN = 168;
-HiveLexer.KW_THEN = 169;
-HiveLexer.KW_ELSE = 170;
-HiveLexer.KW_END = 171;
-HiveLexer.KW_MAPJOIN = 172;
-HiveLexer.KW_STREAMTABLE = 173;
-HiveLexer.KW_CLUSTERSTATUS = 174;
-HiveLexer.KW_UTC = 175;
-HiveLexer.KW_UTCTIMESTAMP = 176;
-HiveLexer.KW_LONG = 177;
-HiveLexer.KW_DELETE = 178;
-HiveLexer.KW_PLUS = 179;
-HiveLexer.KW_MINUS = 180;
-HiveLexer.KW_FETCH = 181;
-HiveLexer.KW_INTERSECT = 182;
-HiveLexer.KW_VIEW = 183;
-HiveLexer.KW_VIEWS = 184;
-HiveLexer.KW_IN = 185;
-HiveLexer.KW_DATABASE = 186;
-HiveLexer.KW_DATABASES = 187;
-HiveLexer.KW_MATERIALIZED = 188;
-HiveLexer.KW_SCHEMA = 189;
-HiveLexer.KW_SCHEMAS = 190;
-HiveLexer.KW_GRANT = 191;
-HiveLexer.KW_REVOKE = 192;
-HiveLexer.KW_SSL = 193;
-HiveLexer.KW_UNDO = 194;
-HiveLexer.KW_LOCK = 195;
-HiveLexer.KW_LOCKS = 196;
-HiveLexer.KW_UNLOCK = 197;
-HiveLexer.KW_SHARED = 198;
-HiveLexer.KW_EXCLUSIVE = 199;
-HiveLexer.KW_PROCEDURE = 200;
-HiveLexer.KW_UNSIGNED = 201;
-HiveLexer.KW_WHILE = 202;
-HiveLexer.KW_READ = 203;
-HiveLexer.KW_READS = 204;
-HiveLexer.KW_PURGE = 205;
-HiveLexer.KW_RANGE = 206;
-HiveLexer.KW_ANALYZE = 207;
-HiveLexer.KW_BEFORE = 208;
-HiveLexer.KW_BETWEEN = 209;
-HiveLexer.KW_BOTH = 210;
-HiveLexer.KW_BINARY = 211;
-HiveLexer.KW_CROSS = 212;
-HiveLexer.KW_CONTINUE = 213;
-HiveLexer.KW_CURSOR = 214;
-HiveLexer.KW_TRIGGER = 215;
-HiveLexer.KW_RECORDREADER = 216;
-HiveLexer.KW_RECORDWRITER = 217;
-HiveLexer.KW_SEMI = 218;
-HiveLexer.KW_LATERAL = 219;
-HiveLexer.KW_TOUCH = 220;
-HiveLexer.KW_ARCHIVE = 221;
-HiveLexer.KW_UNARCHIVE = 222;
-HiveLexer.KW_COMPUTE = 223;
-HiveLexer.KW_STATISTICS = 224;
-HiveLexer.KW_USE = 225;
-HiveLexer.KW_OPTIONS = 226;
-HiveLexer.KW_OPTION = 227;
-HiveLexer.KW_CONCATENATE = 228;
-HiveLexer.KW_CATALOG = 229;
-HiveLexer.KW_SHOW_DATABASE = 230;
-HiveLexer.KW_UPDATE = 231;
-HiveLexer.KW_RESTRICT = 232;
-HiveLexer.KW_CASCADE = 233;
-HiveLexer.KW_SKEWED = 234;
-HiveLexer.KW_ROLLUP = 235;
-HiveLexer.KW_CUBE = 236;
-HiveLexer.KW_DIRECTORIES = 237;
-HiveLexer.KW_FOR = 238;
-HiveLexer.KW_WINDOW = 239;
-HiveLexer.KW_UNBOUNDED = 240;
-HiveLexer.KW_PRECEDING = 241;
-HiveLexer.KW_FOLLOWING = 242;
-HiveLexer.KW_CURRENT = 243;
-HiveLexer.KW_CURRENT_DATE = 244;
-HiveLexer.KW_CURRENT_TIMESTAMP = 245;
-HiveLexer.KW_LESS = 246;
-HiveLexer.KW_MORE = 247;
-HiveLexer.KW_OVER = 248;
-HiveLexer.KW_GROUPING = 249;
-HiveLexer.KW_SETS = 250;
-HiveLexer.KW_TRUNCATE = 251;
-HiveLexer.KW_NOSCAN = 252;
-HiveLexer.KW_USER = 253;
-HiveLexer.KW_ROLE = 254;
-HiveLexer.KW_ROLES = 255;
-HiveLexer.KW_INNER = 256;
-HiveLexer.KW_EXCHANGE = 257;
-HiveLexer.KW_URI = 258;
-HiveLexer.KW_SERVER = 259;
-HiveLexer.KW_ADMIN = 260;
-HiveLexer.KW_OWNER = 261;
-HiveLexer.KW_PRINCIPALS = 262;
-HiveLexer.KW_COMPACT = 263;
-HiveLexer.KW_COMPACTIONS = 264;
-HiveLexer.KW_TRANSACTIONS = 265;
-HiveLexer.KW_REWRITE = 266;
-HiveLexer.KW_AUTHORIZATION = 267;
-HiveLexer.KW_REOPTIMIZATION = 268;
-HiveLexer.KW_CONF = 269;
-HiveLexer.KW_VALUES = 270;
-HiveLexer.KW_RELOAD = 271;
-HiveLexer.KW_YEAR = 272;
-HiveLexer.KW_QUERY = 273;
-HiveLexer.KW_QUARTER = 274;
-HiveLexer.KW_MONTH = 275;
-HiveLexer.KW_WEEK = 276;
-HiveLexer.KW_DAY = 277;
-HiveLexer.KW_DOW = 278;
-HiveLexer.KW_HOUR = 279;
-HiveLexer.KW_MINUTE = 280;
-HiveLexer.KW_SECOND = 281;
-HiveLexer.KW_START = 282;
-HiveLexer.KW_TRANSACTION = 283;
-HiveLexer.KW_COMMIT = 284;
-HiveLexer.KW_ROLLBACK = 285;
-HiveLexer.KW_WORK = 286;
-HiveLexer.KW_ONLY = 287;
-HiveLexer.KW_WRITE = 288;
-HiveLexer.KW_ISOLATION = 289;
-HiveLexer.KW_LEVEL = 290;
-HiveLexer.KW_SNAPSHOT = 291;
-HiveLexer.KW_AUTOCOMMIT = 292;
-HiveLexer.KW_CACHE = 293;
-HiveLexer.KW_PRIMARY = 294;
-HiveLexer.KW_FOREIGN = 295;
-HiveLexer.KW_REFERENCES = 296;
-HiveLexer.KW_CONSTRAINT = 297;
-HiveLexer.KW_ENFORCED = 298;
-HiveLexer.KW_VALIDATE = 299;
-HiveLexer.KW_NOVALIDATE = 300;
-HiveLexer.KW_RELY = 301;
-HiveLexer.KW_NORELY = 302;
-HiveLexer.KW_UNIQUE = 303;
-HiveLexer.KW_KEY = 304;
-HiveLexer.KW_ABORT = 305;
-HiveLexer.KW_EXTRACT = 306;
-HiveLexer.KW_FLOOR = 307;
-HiveLexer.KW_MERGE = 308;
-HiveLexer.KW_MATCHED = 309;
-HiveLexer.KW_REPL = 310;
-HiveLexer.KW_DUMP = 311;
-HiveLexer.KW_STATUS = 312;
-HiveLexer.KW_VECTORIZATION = 313;
-HiveLexer.KW_SUMMARY = 314;
-HiveLexer.KW_OPERATOR = 315;
-HiveLexer.KW_EXPRESSION = 316;
-HiveLexer.KW_DETAIL = 317;
-HiveLexer.KW_WAIT = 318;
-HiveLexer.KW_RESOURCE = 319;
-HiveLexer.KW_PLAN = 320;
-HiveLexer.KW_QUERY_PARALLELISM = 321;
-HiveLexer.KW_PLANS = 322;
-HiveLexer.KW_ACTIVATE = 323;
-HiveLexer.KW_DEFAULT = 324;
-HiveLexer.KW_CHECK = 325;
-HiveLexer.KW_POOL = 326;
-HiveLexer.KW_MOVE = 327;
-HiveLexer.KW_DO = 328;
-HiveLexer.KW_ALLOC_FRACTION = 329;
-HiveLexer.KW_SCHEDULING_POLICY = 330;
-HiveLexer.KW_PATH = 331;
-HiveLexer.KW_MAPPING = 332;
-HiveLexer.KW_WORKLOAD = 333;
-HiveLexer.KW_MANAGEMENT = 334;
-HiveLexer.KW_ACTIVE = 335;
-HiveLexer.KW_MANAGED = 336;
-HiveLexer.KW_UNMANAGED = 337;
-HiveLexer.KW_APPLICATION = 338;
-HiveLexer.KW_SYNC = 339;
-HiveLexer.KW_SEQUENCEFILE = 340;
-HiveLexer.KW_TEXTFILE = 341;
-HiveLexer.KW_RCFILE = 342;
-HiveLexer.KW_ORC = 343;
-HiveLexer.KW_PARQUET = 344;
-HiveLexer.KW_DELTA = 345;
-HiveLexer.KW_AVRO = 346;
-HiveLexer.KW_CSV = 347;
-HiveLexer.KW_JSON = 348;
-HiveLexer.KW_JSONFILE = 349;
-HiveLexer.KW_BLOOMFILTER = 350;
-HiveLexer.KW_GENERATED = 351;
-HiveLexer.KW_ALWAYS = 352;
-HiveLexer.KW_IDENTITY = 353;
-HiveLexer.KW_INCREMENT = 354;
-HiveLexer.KW_SCHEDULE = 355;
-HiveLexer.KW_REFRESH = 356;
-HiveLexer.KW_EVERY = 357;
-HiveLexer.KW_CRON = 358;
-HiveLexer.KW_AT = 359;
-HiveLexer.KW_FILTER = 360;
-HiveLexer.KW_STREAM = 361;
-HiveLexer.KW_STREAMING = 362;
-HiveLexer.KW_MOST = 363;
-HiveLexer.KW_EXPECT = 364;
-HiveLexer.KW_VIOLATION = 365;
-HiveLexer.KW_FAIL = 366;
-HiveLexer.DOT = 367;
-HiveLexer.COLON = 368;
-HiveLexer.COMMA = 369;
-HiveLexer.SEMICOLON = 370;
-HiveLexer.LPAREN = 371;
-HiveLexer.RPAREN = 372;
-HiveLexer.LSQUARE = 373;
-HiveLexer.RSQUARE = 374;
-HiveLexer.LCURLY = 375;
-HiveLexer.RCURLY = 376;
-HiveLexer.EQUAL = 377;
-HiveLexer.EQUAL_NS = 378;
-HiveLexer.NOTEQUAL = 379;
-HiveLexer.LESSTHANOREQUALTO = 380;
-HiveLexer.LESSTHAN = 381;
-HiveLexer.GREATERTHANOREQUALTO = 382;
-HiveLexer.GREATERTHAN = 383;
-HiveLexer.FAT_ARROW = 384;
-HiveLexer.DIVIDE = 385;
-HiveLexer.PLUS = 386;
-HiveLexer.MINUS = 387;
-HiveLexer.STAR = 388;
-HiveLexer.MOD = 389;
-HiveLexer.DIV = 390;
-HiveLexer.AMPERSAND = 391;
-HiveLexer.TILDE = 392;
-HiveLexer.BITWISEOR = 393;
-HiveLexer.CONCATENATE = 394;
-HiveLexer.BITWISEXOR = 395;
-HiveLexer.QUESTION = 396;
-HiveLexer.DOLLAR = 397;
-HiveLexer.StringLiteral = 398;
-HiveLexer.CharSetLiteral = 399;
-HiveLexer.IntegralLiteral = 400;
-HiveLexer.NumberLiteral = 401;
-HiveLexer.ByteLengthLiteral = 402;
-HiveLexer.Number = 403;
-HiveLexer.Identifier = 404;
-HiveLexer.QuotedIdentifier = 405;
-HiveLexer.CharSetName = 406;
-HiveLexer.WS = 407;
-HiveLexer.LINE_COMMENT = 408;
-HiveLexer.QUERY_HINT = 409;
-HiveLexer.SHOW_HINT = 410;
-HiveLexer.HIDDEN_HINT = 411;
-
-module.exports = { HiveLexer };
diff --git a/reverse_engineering/parser/Hive/HiveLexer.tokens b/reverse_engineering/parser/Hive/HiveLexer.tokens
deleted file mode 100644
index 37abebd..0000000
--- a/reverse_engineering/parser/Hive/HiveLexer.tokens
+++ /dev/null
@@ -1,440 +0,0 @@
-KW_TRUE=1
-KW_FALSE=2
-KW_ALL=3
-KW_AUTO=4
-KW_NONE=5
-KW_AND=6
-KW_OR=7
-KW_NOT=8
-KW_LIKE=9
-KW_ANY=10
-KW_IF=11
-KW_EXISTS=12
-KW_ASC=13
-KW_DESC=14
-KW_NULLS=15
-KW_LAST=16
-KW_ORDER=17
-KW_GROUP=18
-KW_BY=19
-KW_HAVING=20
-KW_WHERE=21
-KW_FROM=22
-KW_AS=23
-KW_SELECT=24
-KW_DISTINCT=25
-KW_INSERT=26
-KW_OVERWRITE=27
-KW_OUTER=28
-KW_UNIQUEJOIN=29
-KW_PRESERVE=30
-KW_JOIN=31
-KW_LEFT=32
-KW_RIGHT=33
-KW_FULL=34
-KW_ON=35
-KW_PARTITION=36
-KW_PARTITIONS=37
-KW_TABLE=38
-KW_TABLES=39
-KW_TAGS=40
-KW_COLUMNS=41
-KW_INDEX=42
-KW_INDEXES=43
-KW_REBUILD=44
-KW_FUNCTIONS=45
-KW_SHOW=46
-KW_MSCK=47
-KW_REPAIR=48
-KW_DIRECTORY=49
-KW_LOCAL=50
-KW_TRANSFORM=51
-KW_USING=52
-KW_CLUSTER=53
-KW_DISTRIBUTE=54
-KW_SORT=55
-KW_UNION=56
-KW_EXCEPT=57
-KW_LOAD=58
-KW_EXPORT=59
-KW_IMPORT=60
-KW_REPLICATION=61
-KW_METADATA=62
-KW_DATA=63
-KW_INPATH=64
-KW_IS=65
-KW_NULL=66
-KW_CREATE=67
-KW_EXTERNAL=68
-KW_ALTER=69
-KW_CHANGE=70
-KW_COLUMN=71
-KW_FIRST=72
-KW_AFTER=73
-KW_DESCRIBE=74
-KW_DROP=75
-KW_RENAME=76
-KW_TO=77
-KW_COMMENT=78
-KW_BOOLEAN=79
-KW_TINYINT=80
-KW_SMALLINT=81
-KW_INT=82
-KW_BIGINT=83
-KW_FLOAT=84
-KW_DOUBLE=85
-KW_PRECISION=86
-KW_DATE=87
-KW_DATETIME=88
-KW_TIMESTAMP=89
-KW_TIMESTAMP_NTZ=90
-KW_TIMESTAMPLOCALTZ=91
-KW_TIME=92
-KW_ZONE=93
-KW_INTERVAL=94
-KW_DECIMAL=95
-KW_STRING=96
-KW_CHAR=97
-KW_VARCHAR=98
-KW_ARRAY=99
-KW_STRUCT=100
-KW_MAP=101
-KW_MASK=102
-KW_VARIANT=103
-KW_UNIONTYPE=104
-KW_REDUCE=105
-KW_PARTITIONED=106
-KW_CLUSTERED=107
-KW_SORTED=108
-KW_INTO=109
-KW_BUCKETS=110
-KW_ROW=111
-KW_ROWS=112
-KW_FORMAT=113
-KW_DELIMITED=114
-KW_FIELDS=115
-KW_TERMINATED=116
-KW_ESCAPED=117
-KW_COLLECTION=118
-KW_ITEMS=119
-KW_KEYS=120
-KW_KEY_TYPE=121
-KW_KILL=122
-KW_LINES=123
-KW_STORED=124
-KW_FILEFORMAT=125
-KW_INPUTFORMAT=126
-KW_OUTPUTFORMAT=127
-KW_INPUTDRIVER=128
-KW_OUTPUTDRIVER=129
-KW_ENABLE=130
-KW_DISABLE=131
-KW_LOCATION=132
-KW_TABLESAMPLE=133
-KW_BUCKET=134
-KW_OUT=135
-KW_OF=136
-KW_PERCENT=137
-KW_CAST=138
-KW_ADD=139
-KW_REPLACE=140
-KW_RLIKE=141
-KW_REGEXP=142
-KW_TEMPORARY=143
-KW_FUNCTION=144
-KW_MACRO=145
-KW_FILE=146
-KW_JAR=147
-KW_EXPLAIN=148
-KW_EXTENDED=149
-KW_FORMATTED=150
-KW_DEPENDENCY=151
-KW_LOGICAL=152
-KW_SERDE=153
-KW_WITH=154
-KW_DEFERRED=155
-KW_SERDEPROPERTIES=156
-KW_DBPROPERTIES=157
-KW_LIMIT=158
-KW_OFFSET=159
-KW_SET=160
-KW_UNSET=161
-KW_TBLPROPERTIES=162
-KW_IDXPROPERTIES=163
-KW_VALUE_TYPE=164
-KW_ELEM_TYPE=165
-KW_DEFINED=166
-KW_CASE=167
-KW_WHEN=168
-KW_THEN=169
-KW_ELSE=170
-KW_END=171
-KW_MAPJOIN=172
-KW_STREAMTABLE=173
-KW_CLUSTERSTATUS=174
-KW_UTC=175
-KW_UTCTIMESTAMP=176
-KW_LONG=177
-KW_DELETE=178
-KW_PLUS=179
-KW_MINUS=180
-KW_FETCH=181
-KW_INTERSECT=182
-KW_VIEW=183
-KW_VIEWS=184
-KW_IN=185
-KW_DATABASE=186
-KW_DATABASES=187
-KW_MATERIALIZED=188
-KW_SCHEMA=189
-KW_SCHEMAS=190
-KW_GRANT=191
-KW_REVOKE=192
-KW_SSL=193
-KW_UNDO=194
-KW_LOCK=195
-KW_LOCKS=196
-KW_UNLOCK=197
-KW_SHARED=198
-KW_EXCLUSIVE=199
-KW_PROCEDURE=200
-KW_UNSIGNED=201
-KW_WHILE=202
-KW_READ=203
-KW_READS=204
-KW_PURGE=205
-KW_RANGE=206
-KW_ANALYZE=207
-KW_BEFORE=208
-KW_BETWEEN=209
-KW_BOTH=210
-KW_BINARY=211
-KW_CROSS=212
-KW_CONTINUE=213
-KW_CURSOR=214
-KW_TRIGGER=215
-KW_RECORDREADER=216
-KW_RECORDWRITER=217
-KW_SEMI=218
-KW_LATERAL=219
-KW_TOUCH=220
-KW_ARCHIVE=221
-KW_UNARCHIVE=222
-KW_COMPUTE=223
-KW_STATISTICS=224
-KW_USE=225
-KW_OPTIONS=226
-KW_OPTION=227
-KW_CONCATENATE=228
-KW_CATALOG=229
-KW_SHOW_DATABASE=230
-KW_UPDATE=231
-KW_RESTRICT=232
-KW_CASCADE=233
-KW_SKEWED=234
-KW_ROLLUP=235
-KW_CUBE=236
-KW_DIRECTORIES=237
-KW_FOR=238
-KW_WINDOW=239
-KW_UNBOUNDED=240
-KW_PRECEDING=241
-KW_FOLLOWING=242
-KW_CURRENT=243
-KW_CURRENT_DATE=244
-KW_CURRENT_TIMESTAMP=245
-KW_LESS=246
-KW_MORE=247
-KW_OVER=248
-KW_GROUPING=249
-KW_SETS=250
-KW_TRUNCATE=251
-KW_NOSCAN=252
-KW_USER=253
-KW_ROLE=254
-KW_ROLES=255
-KW_INNER=256
-KW_EXCHANGE=257
-KW_URI=258
-KW_SERVER=259
-KW_ADMIN=260
-KW_OWNER=261
-KW_PRINCIPALS=262
-KW_COMPACT=263
-KW_COMPACTIONS=264
-KW_TRANSACTIONS=265
-KW_REWRITE=266
-KW_AUTHORIZATION=267
-KW_REOPTIMIZATION=268
-KW_CONF=269
-KW_VALUES=270
-KW_RELOAD=271
-KW_YEAR=272
-KW_QUERY=273
-KW_QUARTER=274
-KW_MONTH=275
-KW_WEEK=276
-KW_DAY=277
-KW_DOW=278
-KW_HOUR=279
-KW_MINUTE=280
-KW_SECOND=281
-KW_START=282
-KW_TRANSACTION=283
-KW_COMMIT=284
-KW_ROLLBACK=285
-KW_WORK=286
-KW_ONLY=287
-KW_WRITE=288
-KW_ISOLATION=289
-KW_LEVEL=290
-KW_SNAPSHOT=291
-KW_AUTOCOMMIT=292
-KW_CACHE=293
-KW_PRIMARY=294
-KW_FOREIGN=295
-KW_REFERENCES=296
-KW_CONSTRAINT=297
-KW_ENFORCED=298
-KW_VALIDATE=299
-KW_NOVALIDATE=300
-KW_RELY=301
-KW_NORELY=302
-KW_UNIQUE=303
-KW_KEY=304
-KW_ABORT=305
-KW_EXTRACT=306
-KW_FLOOR=307
-KW_MERGE=308
-KW_MATCHED=309
-KW_REPL=310
-KW_DUMP=311
-KW_STATUS=312
-KW_VECTORIZATION=313
-KW_SUMMARY=314
-KW_OPERATOR=315
-KW_EXPRESSION=316
-KW_DETAIL=317
-KW_WAIT=318
-KW_RESOURCE=319
-KW_PLAN=320
-KW_QUERY_PARALLELISM=321
-KW_PLANS=322
-KW_ACTIVATE=323
-KW_DEFAULT=324
-KW_CHECK=325
-KW_POOL=326
-KW_MOVE=327
-KW_DO=328
-KW_ALLOC_FRACTION=329
-KW_SCHEDULING_POLICY=330
-KW_PATH=331
-KW_MAPPING=332
-KW_WORKLOAD=333
-KW_MANAGEMENT=334
-KW_ACTIVE=335
-KW_MANAGED=336
-KW_UNMANAGED=337
-KW_APPLICATION=338
-KW_SYNC=339
-KW_SEQUENCEFILE=340
-KW_TEXTFILE=341
-KW_RCFILE=342
-KW_ORC=343
-KW_PARQUET=344
-KW_DELTA=345
-KW_AVRO=346
-KW_CSV=347
-KW_JSON=348
-KW_JSONFILE=349
-KW_BLOOMFILTER=350
-KW_GENERATED=351
-KW_ALWAYS=352
-KW_IDENTITY=353
-KW_INCREMENT=354
-KW_SCHEDULE=355
-KW_REFRESH=356
-KW_EVERY=357
-KW_CRON=358
-KW_AT=359
-KW_FILTER=360
-KW_STREAM=361
-KW_STREAMING=362
-KW_MOST=363
-KW_EXPECT=364
-KW_VIOLATION=365
-KW_FAIL=366
-DOT=367
-COLON=368
-COMMA=369
-SEMICOLON=370
-LPAREN=371
-RPAREN=372
-LSQUARE=373
-RSQUARE=374
-LCURLY=375
-RCURLY=376
-EQUAL=377
-EQUAL_NS=378
-NOTEQUAL=379
-LESSTHANOREQUALTO=380
-LESSTHAN=381
-GREATERTHANOREQUALTO=382
-GREATERTHAN=383
-FAT_ARROW=384
-DIVIDE=385
-PLUS=386
-MINUS=387
-STAR=388
-MOD=389
-DIV=390
-AMPERSAND=391
-TILDE=392
-BITWISEOR=393
-CONCATENATE=394
-BITWISEXOR=395
-QUESTION=396
-DOLLAR=397
-StringLiteral=398
-CharSetLiteral=399
-IntegralLiteral=400
-NumberLiteral=401
-ByteLengthLiteral=402
-Number=403
-Identifier=404
-QuotedIdentifier=405
-CharSetName=406
-WS=407
-LINE_COMMENT=408
-QUERY_HINT=409
-SHOW_HINT=410
-HIDDEN_HINT=411
-'.'=367
-':'=368
-','=369
-';'=370
-'('=371
-')'=372
-'['=373
-']'=374
-'{'=375
-'}'=376
-'<=>'=378
-'<='=380
-'<'=381
-'>='=382
-'>'=383
-'=>'=384
-'/'=385
-'+'=386
-'-'=387
-'*'=388
-'%'=389
-'DIV'=390
-'&'=391
-'~'=392
-'|'=393
-'||'=394
-'^'=395
-'?'=396
-'$'=397
diff --git a/reverse_engineering/parser/Hive/HiveParser.interp b/reverse_engineering/parser/Hive/HiveParser.interp
deleted file mode 100644
index f071fd0..0000000
--- a/reverse_engineering/parser/Hive/HiveParser.interp
+++ /dev/null
@@ -1,1302 +0,0 @@
-token literal names:
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-'.'
-':'
-','
-';'
-'('
-')'
-'['
-']'
-'{'
-'}'
-null
-'<=>'
-null
-'<='
-'<'
-'>='
-'>'
-'=>'
-'/'
-'+'
-'-'
-'*'
-'%'
-'DIV'
-'&'
-'~'
-'|'
-'||'
-'^'
-'?'
-'$'
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-
-token symbolic names:
-null
-KW_TRUE
-KW_FALSE
-KW_ALL
-KW_AUTO
-KW_NONE
-KW_AND
-KW_OR
-KW_NOT
-KW_LIKE
-KW_ANY
-KW_IF
-KW_EXISTS
-KW_ASC
-KW_DESC
-KW_NULLS
-KW_LAST
-KW_ORDER
-KW_GROUP
-KW_BY
-KW_HAVING
-KW_WHERE
-KW_FROM
-KW_AS
-KW_SELECT
-KW_DISTINCT
-KW_INSERT
-KW_OVERWRITE
-KW_OUTER
-KW_UNIQUEJOIN
-KW_PRESERVE
-KW_JOIN
-KW_LEFT
-KW_RIGHT
-KW_FULL
-KW_ON
-KW_PARTITION
-KW_PARTITIONS
-KW_TABLE
-KW_TABLES
-KW_TAGS
-KW_COLUMNS
-KW_INDEX
-KW_INDEXES
-KW_REBUILD
-KW_FUNCTIONS
-KW_SHOW
-KW_MSCK
-KW_REPAIR
-KW_DIRECTORY
-KW_LOCAL
-KW_TRANSFORM
-KW_USING
-KW_CLUSTER
-KW_DISTRIBUTE
-KW_SORT
-KW_UNION
-KW_EXCEPT
-KW_LOAD
-KW_EXPORT
-KW_IMPORT
-KW_REPLICATION
-KW_METADATA
-KW_DATA
-KW_INPATH
-KW_IS
-KW_NULL
-KW_CREATE
-KW_EXTERNAL
-KW_ALTER
-KW_CHANGE
-KW_COLUMN
-KW_FIRST
-KW_AFTER
-KW_DESCRIBE
-KW_DROP
-KW_RENAME
-KW_TO
-KW_COMMENT
-KW_BOOLEAN
-KW_TINYINT
-KW_SMALLINT
-KW_INT
-KW_BIGINT
-KW_FLOAT
-KW_DOUBLE
-KW_PRECISION
-KW_DATE
-KW_DATETIME
-KW_TIMESTAMP
-KW_TIMESTAMP_NTZ
-KW_TIMESTAMPLOCALTZ
-KW_TIME
-KW_ZONE
-KW_INTERVAL
-KW_DECIMAL
-KW_STRING
-KW_CHAR
-KW_VARCHAR
-KW_ARRAY
-KW_STRUCT
-KW_MAP
-KW_MASK
-KW_VARIANT
-KW_UNIONTYPE
-KW_REDUCE
-KW_PARTITIONED
-KW_CLUSTERED
-KW_SORTED
-KW_INTO
-KW_BUCKETS
-KW_ROW
-KW_ROWS
-KW_FORMAT
-KW_DELIMITED
-KW_FIELDS
-KW_TERMINATED
-KW_ESCAPED
-KW_COLLECTION
-KW_ITEMS
-KW_KEYS
-KW_KEY_TYPE
-KW_KILL
-KW_LINES
-KW_STORED
-KW_FILEFORMAT
-KW_INPUTFORMAT
-KW_OUTPUTFORMAT
-KW_INPUTDRIVER
-KW_OUTPUTDRIVER
-KW_ENABLE
-KW_DISABLE
-KW_LOCATION
-KW_TABLESAMPLE
-KW_BUCKET
-KW_OUT
-KW_OF
-KW_PERCENT
-KW_CAST
-KW_ADD
-KW_REPLACE
-KW_RLIKE
-KW_REGEXP
-KW_TEMPORARY
-KW_FUNCTION
-KW_MACRO
-KW_FILE
-KW_JAR
-KW_EXPLAIN
-KW_EXTENDED
-KW_FORMATTED
-KW_DEPENDENCY
-KW_LOGICAL
-KW_SERDE
-KW_WITH
-KW_DEFERRED
-KW_SERDEPROPERTIES
-KW_DBPROPERTIES
-KW_LIMIT
-KW_OFFSET
-KW_SET
-KW_UNSET
-KW_TBLPROPERTIES
-KW_IDXPROPERTIES
-KW_VALUE_TYPE
-KW_ELEM_TYPE
-KW_DEFINED
-KW_CASE
-KW_WHEN
-KW_THEN
-KW_ELSE
-KW_END
-KW_MAPJOIN
-KW_STREAMTABLE
-KW_CLUSTERSTATUS
-KW_UTC
-KW_UTCTIMESTAMP
-KW_LONG
-KW_DELETE
-KW_PLUS
-KW_MINUS
-KW_FETCH
-KW_INTERSECT
-KW_VIEW
-KW_VIEWS
-KW_IN
-KW_DATABASE
-KW_DATABASES
-KW_MATERIALIZED
-KW_SCHEMA
-KW_SCHEMAS
-KW_GRANT
-KW_REVOKE
-KW_SSL
-KW_UNDO
-KW_LOCK
-KW_LOCKS
-KW_UNLOCK
-KW_SHARED
-KW_EXCLUSIVE
-KW_PROCEDURE
-KW_UNSIGNED
-KW_WHILE
-KW_READ
-KW_READS
-KW_PURGE
-KW_RANGE
-KW_ANALYZE
-KW_BEFORE
-KW_BETWEEN
-KW_BOTH
-KW_BINARY
-KW_CROSS
-KW_CONTINUE
-KW_CURSOR
-KW_TRIGGER
-KW_RECORDREADER
-KW_RECORDWRITER
-KW_SEMI
-KW_LATERAL
-KW_TOUCH
-KW_ARCHIVE
-KW_UNARCHIVE
-KW_COMPUTE
-KW_STATISTICS
-KW_USE
-KW_OPTIONS
-KW_OPTION
-KW_CONCATENATE
-KW_CATALOG
-KW_SHOW_DATABASE
-KW_UPDATE
-KW_RESTRICT
-KW_CASCADE
-KW_SKEWED
-KW_ROLLUP
-KW_CUBE
-KW_DIRECTORIES
-KW_FOR
-KW_WINDOW
-KW_UNBOUNDED
-KW_PRECEDING
-KW_FOLLOWING
-KW_CURRENT
-KW_CURRENT_DATE
-KW_CURRENT_TIMESTAMP
-KW_LESS
-KW_MORE
-KW_OVER
-KW_GROUPING
-KW_SETS
-KW_TRUNCATE
-KW_NOSCAN
-KW_USER
-KW_ROLE
-KW_ROLES
-KW_INNER
-KW_EXCHANGE
-KW_URI
-KW_SERVER
-KW_ADMIN
-KW_OWNER
-KW_PRINCIPALS
-KW_COMPACT
-KW_COMPACTIONS
-KW_TRANSACTIONS
-KW_REWRITE
-KW_AUTHORIZATION
-KW_REOPTIMIZATION
-KW_CONF
-KW_VALUES
-KW_RELOAD
-KW_YEAR
-KW_QUERY
-KW_QUARTER
-KW_MONTH
-KW_WEEK
-KW_DAY
-KW_DOW
-KW_HOUR
-KW_MINUTE
-KW_SECOND
-KW_START
-KW_TRANSACTION
-KW_COMMIT
-KW_ROLLBACK
-KW_WORK
-KW_ONLY
-KW_WRITE
-KW_ISOLATION
-KW_LEVEL
-KW_SNAPSHOT
-KW_AUTOCOMMIT
-KW_CACHE
-KW_PRIMARY
-KW_FOREIGN
-KW_REFERENCES
-KW_CONSTRAINT
-KW_ENFORCED
-KW_VALIDATE
-KW_NOVALIDATE
-KW_RELY
-KW_NORELY
-KW_UNIQUE
-KW_KEY
-KW_ABORT
-KW_EXTRACT
-KW_FLOOR
-KW_MERGE
-KW_MATCHED
-KW_REPL
-KW_DUMP
-KW_STATUS
-KW_VECTORIZATION
-KW_SUMMARY
-KW_OPERATOR
-KW_EXPRESSION
-KW_DETAIL
-KW_WAIT
-KW_RESOURCE
-KW_PLAN
-KW_QUERY_PARALLELISM
-KW_PLANS
-KW_ACTIVATE
-KW_DEFAULT
-KW_CHECK
-KW_POOL
-KW_MOVE
-KW_DO
-KW_ALLOC_FRACTION
-KW_SCHEDULING_POLICY
-KW_PATH
-KW_MAPPING
-KW_WORKLOAD
-KW_MANAGEMENT
-KW_ACTIVE
-KW_MANAGED
-KW_UNMANAGED
-KW_APPLICATION
-KW_SYNC
-KW_SEQUENCEFILE
-KW_TEXTFILE
-KW_RCFILE
-KW_ORC
-KW_PARQUET
-KW_DELTA
-KW_AVRO
-KW_CSV
-KW_JSON
-KW_JSONFILE
-KW_BLOOMFILTER
-KW_GENERATED
-KW_ALWAYS
-KW_IDENTITY
-KW_INCREMENT
-KW_SCHEDULE
-KW_REFRESH
-KW_EVERY
-KW_CRON
-KW_AT
-KW_FILTER
-KW_STREAM
-KW_STREAMING
-KW_MOST
-KW_EXPECT
-KW_VIOLATION
-KW_FAIL
-DOT
-COLON
-COMMA
-SEMICOLON
-LPAREN
-RPAREN
-LSQUARE
-RSQUARE
-LCURLY
-RCURLY
-EQUAL
-EQUAL_NS
-NOTEQUAL
-LESSTHANOREQUALTO
-LESSTHAN
-GREATERTHANOREQUALTO
-GREATERTHAN
-FAT_ARROW
-DIVIDE
-PLUS
-MINUS
-STAR
-MOD
-DIV
-AMPERSAND
-TILDE
-BITWISEOR
-CONCATENATE
-BITWISEXOR
-QUESTION
-DOLLAR
-StringLiteral
-CharSetLiteral
-IntegralLiteral
-NumberLiteral
-ByteLengthLiteral
-Number
-Identifier
-QuotedIdentifier
-CharSetName
-WS
-LINE_COMMENT
-QUERY_HINT
-SHOW_HINT
-HIDDEN_HINT
-
-rule names:
-statements
-statementSeparator
-empty
-statement
-explainStatement
-explainOption
-vectorizationOnly
-vectorizatonDetail
-execStatement
-loadStatement
-replicationClause
-exportStatement
-importStatement
-replDumpStatement
-replLoadStatement
-replConfigs
-replConfigsList
-replStatusStatement
-ddlStatement
-ifExists
-restrictOrCascade
-ifNotExists
-rewriteEnabled
-rewriteDisabled
-storedAsDirs
-orReplace
-orRefresh
-createDatabaseStatement
-dbLocation
-dbProperties
-dbPropertiesList
-switchCatalogStatement
-switchDatabaseStatement
-dropDatabaseStatement
-databaseComment
-createTableStatement
-truncateTableStatement
-dropTableStatement
-tagValue
-tagsPair
-unityTags
-alterStatement
-alterTableStatementSuffix
-alterTblPartitionStatementSuffix
-alterStatementPartitionKeyType
-alterViewStatementSuffix
-alterMaterializedViewStatementSuffix
-alterDatabaseStatementSuffix
-alterDatabaseSuffixProperties
-alterDatabaseSuffixSetOwner
-alterDatabaseSuffixSetLocation
-alterStatementSuffixRename
-alterStatementSuffixAddCol
-alterStatementSuffixAddConstraint
-alterStatementSuffixUpdateColumns
-alterStatementSuffixDropConstraint
-alterStatementSuffixRenameCol
-alterStatementSuffixUpdateStatsCol
-alterStatementSuffixUpdateStats
-alterStatementChangeColPosition
-alterStatementSuffixAddPartitions
-alterStatementSuffixAddPartitionsElement
-alterStatementSuffixTouch
-alterStatementSuffixArchive
-alterStatementSuffixUnArchive
-partitionLocation
-alterStatementSuffixDropPartitions
-alterStatementSuffixProperties
-alterViewSuffixProperties
-alterMaterializedViewSuffixRewrite
-alterMaterializedViewSuffixRebuild
-alterStatementSuffixSerdeProperties
-alterIndexStatementSuffix
-alterStatementSuffixFileFormat
-alterStatementSuffixClusterbySortby
-alterStatementSuffixClusterBy
-alterTblPartitionStatementSuffixSkewedLocation
-skewedLocations
-skewedLocationsList
-skewedLocationMap
-alterStatementSuffixLocation
-alterStatementSuffixSkewedby
-alterStatementSuffixExchangePartition
-alterStatementSuffixRenamePart
-alterStatementSuffixStatsPart
-alterStatementSuffixMergeFiles
-alterStatementSuffixBucketNum
-createIndexStatement
-createIndexMainStatement
-dropIndexStatement
-createBloomfilterIndexStatement
-createBloomfilterIndexMainStatement
-bloomfilterColumnParenthesesList
-bloomfilterColumnNameList
-bloomfilterColumnName
-bloomfilterIndexOptions
-dropBloomfilterIndexStatement
-dropBloomfilterIndexMainStatement
-tablePartitionPrefix
-blocking
-alterStatementSuffixCompact
-alterStatementSuffixSetOwner
-fileFormat
-inputFileFormat
-tabTypeExpr
-partTypeExpr
-tabPartColTypeExpr
-descStatement
-analyzeStatement
-showStatement
-lockStatement
-lockDatabase
-lockMode
-unlockStatement
-unlockDatabase
-createRoleStatement
-dropRoleStatement
-grantPrivileges
-revokePrivileges
-grantRole
-revokeRole
-showRoleGrants
-showRoles
-showCurrentRole
-setRole
-showGrants
-showRolePrincipals
-privilegeIncludeColObject
-privilegeObject
-privObject
-privObjectCols
-privilegeList
-privlegeDef
-privilegeType
-principalSpecification
-principalName
-withGrantOption
-grantOptionFor
-adminOptionFor
-withAdminOption
-metastoreCheck
-resourceList
-resource
-resourceType
-createFunctionStatement
-dropFunctionStatement
-reloadFunctionStatement
-createMacroStatement
-dropMacroStatement
-createViewStatement
-createMaterializedViewStatement
-materializedViewClause
-scheduleClause
-timeZoneValue
-rowClause
-triggerOnUpdateClause
-intervalClause
-intervalQualifier
-viewPartition
-dropViewStatement
-dropMaterializedViewStatement
-showFunctionIdentifier
-showStmtIdentifier
-tableComment
-tableUsingDataSource
-tableDataSource
-tablePartition
-tableBuckets
-tableSkewed
-rowFormat
-recordReader
-recordWriter
-rowFormatSerde
-rowFormatDelimited
-tableRowFormat
-tableOptions
-tablePropertiesPrefixed
-tableProperties
-tablePropertiesList
-keyValueProperty
-keyValue
-keyProperty
-tableRowFormatFieldIdentifier
-tableRowFormatFieldIdentifierEcapedBy
-tableRowFormatCollItemsIdentifier
-tableRowFormatMapKeysIdentifier
-tableRowFormatLinesIdentifier
-tableRowNullFormat
-tableFileFormat
-tableFileFormatStoredBy
-tableFileFormatStoredAs
-tableFileFormatStoredAsFormat
-tableInputOutputFileFormat
-tableInputLiteral
-tableOutputLiteral
-tableLocation
-columnNameTypeList
-columnNameTypeOrConstraintList
-columnNameColonTypeList
-columnNameList
-columnName
-extColumnName
-columnNameOrderList
-columnParenthesesList
-enableValidateSpecification
-enableSpecification
-validateSpecification
-enforcedSpecification
-relySpecification
-createConstraint
-alterConstraintWithName
-tableLevelConstraint
-pkUkConstraint
-checkConstraint
-expectConstraint
-createForeignKey
-alterForeignKeyWithName
-skewedValueElement
-skewedColumnValuePairList
-skewedColumnValuePair
-skewedColumnValues
-skewedColumnValue
-skewedValueLocationElement
-orderSpecification
-nullOrdering
-columnNameOrder
-columnNameCommentList
-columnNameComment
-columnRefOrder
-columnNameType
-columnNameTypeOrConstraint
-tableConstraint
-columnNameTypeConstraint
-columnGeneratedAs
-generatedAsExpression
-generatedAsIdentity
-identityOptions
-startWith
-incrementBy
-partitionedColumnNameTypeConstraint
-columnConstraint
-foreignKeyConstraint
-colConstraint
-alterColumnConstraint
-alterForeignKeyConstraint
-alterColConstraint
-columnConstraintType
-defaultVal
-tableConstraintType
-constraintOptsCreate
-constraintOptsAlter
-columnNameColonType
-colType
-colTypeList
-type_db_col
-primitiveType
-listType
-structType
-mapType
-unionType
-setOperator
-queryStatementExpression
-queryStatementExpressionBody
-withClause
-cteStatement
-fromStatement
-singleFromStatement
-regularBody
-atomSelectStatement
-selectStatement
-setOpSelectStatement
-selectStatementWithCTE
-body
-insertClause
-destination
-limitClause
-deleteStatement
-columnAssignmentClause
-setColumnsClause
-updateStatement
-sqlTransactionStatement
-startTransactionStatement
-transactionMode
-transactionAccessMode
-isolationLevel
-levelOfIsolation
-commitStatement
-rollbackStatement
-setAutoCommitStatement
-abortTransactionStatement
-mergeStatement
-whenClauses
-whenNotMatchedClause
-whenMatchedAndClause
-whenMatchedThenClause
-updateOrDelete
-killQueryStatement
-selectClause
-selectList
-selectTrfmClause
-selectItem
-trfmClause
-selectExpression
-selectExpressionList
-exceptClause
-window_clause
-window_defn
-window_specification
-window_frame
-window_range_expression
-window_value_expression
-window_frame_start_boundary
-window_frame_boundary
-tableAllColumns
-tableOrColumn
-expressionList
-aliasList
-fromClause
-fromSource
-atomjoinSource
-joinSource
-streamSource
-joinSourcePart
-uniqueJoinSource
-uniqueJoinExpr
-uniqueJoinToken
-joinToken
-lateralView
-tableAlias
-tableBucketSample
-splitSample
-tableSample
-tableSource
-uniqueJoinTableSource
-tableName
-viewName
-subQuerySource
-partitioningSpec
-partitionTableFunctionSource
-partitionedTableFunction
-whereClause
-searchCondition
-valuesClause
-valuesTableConstructor
-valueRowConstructor
-virtualTableSource
-rangeTableValuedFunction
-tableFunctionCall
-functionArgList
-functionArg
-namedArg
-groupByClause
-groupby_expression
-groupByEmpty
-rollupStandard
-rollupOldSyntax
-groupingSetExpression
-groupingSetExpressionMultiple
-groupingExpressionSingle
-havingClause
-havingCondition
-expressionsInParenthesis
-expressionsNotInParenthesis
-expressionPart
-expressions
-columnRefOrderInParenthesis
-columnRefOrderNotInParenthesis
-orderByClause
-clusterByClause
-partitionByClause
-distributeByClause
-sortByClause
-functionStatement
-functionName
-castExpression
-caseExpression
-whenExpression
-floorExpression
-floorDateQualifiers
-extractExpression
-timeQualifiers
-constant
-stringLiteralSequence
-charSetStringLiteral
-dateLiteral
-timestampLiteral
-timestampLocalTZLiteral
-intervalValue
-intervalLiteral
-intervalExpression
-intervalQualifiers
-atomExpression
-precedenceUnaryOperator
-isCondition
-precedenceBitwiseXorOperator
-precedenceStarOperator
-precedencePlusOperator
-precedenceConcatenateOperator
-precedenceAmpersandOperator
-precedenceBitwiseOrOperator
-precedenceRegexpOperator
-precedenceSimilarOperator
-precedenceDistinctOperator
-precedenceEqualOperator
-precedenceNotOperator
-precedenceAndOperator
-precedenceOrOperator
-expression
-subQueryExpression
-precedenceSimilarExpressionPart
-precedenceSimilarExpressionAtom
-precedenceSimilarExpressionIn
-precedenceSimilarExpressionPartNot
-booleanValue
-booleanValueTok
-tableOrPartition
-partitionSpec
-partitionVal
-dropPartitionSpec
-dropPartitionVal
-dropPartitionOperator
-sysFuncNames
-descFuncNames
-identifier
-functionIdentifier
-principalIdentifier
-nonReserved
-sql11ReservedKeywordsUsedAsFunctionName
-databricksAllowedReservedNames
-resourcePlanDdlStatements
-rpAssign
-rpAssignList
-rpUnassign
-rpUnassignList
-createResourcePlanStatement
-createResourcePlanStatementLikeExisting
-createNewResourcePlanStatement
-withReplace
-activate
-enable
-disable
-unmanaged
-alterResourcePlanStatement
-alterResourcePlanRenameSuffix
-globalWmStatement
-replaceResourcePlanStatement
-dropResourcePlanStatement
-poolPath
-triggerExpression
-triggerExpressionStandalone
-triggerOrExpression
-triggerAndExpression
-triggerAtomExpression
-triggerLiteral
-comparisionOperator
-triggerActionExpression
-triggerActionExpressionStandalone
-createTriggerStatement
-alterTriggerStatement
-triggerConditionExpression
-dropTriggerStatement
-poolAssign
-poolAssignList
-createPoolStatement
-alterPoolStatement
-dropPoolStatement
-createMappingStatement
-alterMappingStatement
-dropMappingStatement
-
-
-atn:
-[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 413, 5063, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4, 60, 9, 60, 4, 61, 9, 61, 4, 62, 9, 62, 4, 63, 9, 63, 4, 64, 9, 64, 4, 65, 9, 65, 4, 66, 9, 66, 4, 67, 9, 67, 4, 68, 9, 68, 4, 69, 9, 69, 4, 70, 9, 70, 4, 71, 9, 71, 4, 72, 9, 72, 4, 73, 9, 73, 4, 74, 9, 74, 4, 75, 9, 75, 4, 76, 9, 76, 4, 77, 9, 77, 4, 78, 9, 78, 4, 79, 9, 79, 4, 80, 9, 80, 4, 81, 9, 81, 4, 82, 9, 82, 4, 83, 9, 83, 4, 84, 9, 84, 4, 85, 9, 85, 4, 86, 9, 86, 4, 87, 9, 87, 4, 88, 9, 88, 4, 89, 9, 89, 4, 90, 9, 90, 4, 91, 9, 91, 4, 92, 9, 92, 4, 93, 9, 93, 4, 94, 9, 94, 4, 95, 9, 95, 4, 96, 9, 96, 4, 97, 9, 97, 4, 98, 9, 98, 4, 99, 9, 99, 4, 100, 9, 100, 4, 101, 9, 101, 4, 102, 9, 102, 4, 103, 9, 103, 4, 104, 9, 104, 4, 105, 9, 105, 4, 106, 9, 106, 4, 107, 9, 107, 4, 108, 9, 108, 4, 109, 9, 109, 4, 110, 9, 110, 4, 111, 9, 111, 4, 112, 9, 112, 4, 113, 9, 113, 4, 114, 9, 114, 4, 115, 9, 115, 4, 116, 9, 116, 4, 117, 9, 117, 4, 118, 9, 118, 4, 119, 9, 119, 4, 120, 9, 120, 4, 121, 9, 121, 4, 122, 9, 122, 4, 123, 9, 123, 4, 124, 9, 124, 4, 125, 9, 125, 4, 126, 9, 126, 4, 127, 9, 127, 4, 128, 9, 128, 4, 129, 9, 129, 4, 130, 9, 130, 4, 131, 9, 131, 4, 132, 9, 132, 4, 133, 9, 133, 4, 134, 9, 134, 4, 135, 9, 135, 4, 136, 9, 136, 4, 137, 9, 137, 4, 138, 9, 138, 4, 139, 9, 139, 4, 140, 9, 140, 4, 141, 9, 141, 4, 142, 9, 142, 4, 143, 9, 143, 4, 144, 9, 144, 4, 145, 9, 145, 4, 146, 9, 146, 4, 147, 9, 147, 4, 148, 9, 148, 4, 149, 9, 149, 4, 150, 9, 150, 4, 151, 9, 151, 4, 152, 9, 152, 4, 153, 9, 153, 4, 154, 9, 154, 4, 155, 9, 155, 4, 156, 9, 156, 4, 157, 9, 157, 4, 158, 9, 158, 4, 159, 9, 159, 4, 160, 9, 160, 4, 161, 9, 161, 4, 162, 9, 162, 4, 163, 9, 163, 4, 164, 9, 164, 4, 165, 9, 165, 4, 166, 9, 166, 4, 167, 9, 167, 4, 168, 9, 168, 4, 169, 9, 169, 4, 170, 9, 170, 4, 171, 9, 171, 4, 172, 9, 172, 4, 173, 9, 173, 4, 174, 9, 174, 4, 175, 9, 175, 4, 176, 9, 176, 4, 177, 9, 177, 4, 178, 9, 178, 4, 179, 9, 179, 4, 180, 9, 180, 4, 181, 9, 181, 4, 182, 9, 182, 4, 183, 9, 183, 4, 184, 9, 184, 4, 185, 9, 185, 4, 186, 9, 186, 4, 187, 9, 187, 4, 188, 9, 188, 4, 189, 9, 189, 4, 190, 9, 190, 4, 191, 9, 191, 4, 192, 9, 192, 4, 193, 9, 193, 4, 194, 9, 194, 4, 195, 9, 195, 4, 196, 9, 196, 4, 197, 9, 197, 4, 198, 9, 198, 4, 199, 9, 199, 4, 200, 9, 200, 4, 201, 9, 201, 4, 202, 9, 202, 4, 203, 9, 203, 4, 204, 9, 204, 4, 205, 9, 205, 4, 206, 9, 206, 4, 207, 9, 207, 4, 208, 9, 208, 4, 209, 9, 209, 4, 210, 9, 210, 4, 211, 9, 211, 4, 212, 9, 212, 4, 213, 9, 213, 4, 214, 9, 214, 4, 215, 9, 215, 4, 216, 9, 216, 4, 217, 9, 217, 4, 218, 9, 218, 4, 219, 9, 219, 4, 220, 9, 220, 4, 221, 9, 221, 4, 222, 9, 222, 4, 223, 9, 223, 4, 224, 9, 224, 4, 225, 9, 225, 4, 226, 9, 226, 4, 227, 9, 227, 4, 228, 9, 228, 4, 229, 9, 229, 4, 230, 9, 230, 4, 231, 9, 231, 4, 232, 9, 232, 4, 233, 9, 233, 4, 234, 9, 234, 4, 235, 9, 235, 4, 236, 9, 236, 4, 237, 9, 237, 4, 238, 9, 238, 4, 239, 9, 239, 4, 240, 9, 240, 4, 241, 9, 241, 4, 242, 9, 242, 4, 243, 9, 243, 4, 244, 9, 244, 4, 245, 9, 245, 4, 246, 9, 246, 4, 247, 9, 247, 4, 248, 9, 248, 4, 249, 9, 249, 4, 250, 9, 250, 4, 251, 9, 251, 4, 252, 9, 252, 4, 253, 9, 253, 4, 254, 9, 254, 4, 255, 9, 255, 4, 256, 9, 256, 4, 257, 9, 257, 4, 258, 9, 258, 4, 259, 9, 259, 4, 260, 9, 260, 4, 261, 9, 261, 4, 262, 9, 262, 4, 263, 9, 263, 4, 264, 9, 264, 4, 265, 9, 265, 4, 266, 9, 266, 4, 267, 9, 267, 4, 268, 9, 268, 4, 269, 9, 269, 4, 270, 9, 270, 4, 271, 9, 271, 4, 272, 9, 272, 4, 273, 9, 273, 4, 274, 9, 274, 4, 275, 9, 275, 4, 276, 9, 276, 4, 277, 9, 277, 4, 278, 9, 278, 4, 279, 9, 279, 4, 280, 9, 280, 4, 281, 9, 281, 4, 282, 9, 282, 4, 283, 9, 283, 4, 284, 9, 284, 4, 285, 9, 285, 4, 286, 9, 286, 4, 287, 9, 287, 4, 288, 9, 288, 4, 289, 9, 289, 4, 290, 9, 290, 4, 291, 9, 291, 4, 292, 9, 292, 4, 293, 9, 293, 4, 294, 9, 294, 4, 295, 9, 295, 4, 296, 9, 296, 4, 297, 9, 297, 4, 298, 9, 298, 4, 299, 9, 299, 4, 300, 9, 300, 4, 301, 9, 301, 4, 302, 9, 302, 4, 303, 9, 303, 4, 304, 9, 304, 4, 305, 9, 305, 4, 306, 9, 306, 4, 307, 9, 307, 4, 308, 9, 308, 4, 309, 9, 309, 4, 310, 9, 310, 4, 311, 9, 311, 4, 312, 9, 312, 4, 313, 9, 313, 4, 314, 9, 314, 4, 315, 9, 315, 4, 316, 9, 316, 4, 317, 9, 317, 4, 318, 9, 318, 4, 319, 9, 319, 4, 320, 9, 320, 4, 321, 9, 321, 4, 322, 9, 322, 4, 323, 9, 323, 4, 324, 9, 324, 4, 325, 9, 325, 4, 326, 9, 326, 4, 327, 9, 327, 4, 328, 9, 328, 4, 329, 9, 329, 4, 330, 9, 330, 4, 331, 9, 331, 4, 332, 9, 332, 4, 333, 9, 333, 4, 334, 9, 334, 4, 335, 9, 335, 4, 336, 9, 336, 4, 337, 9, 337, 4, 338, 9, 338, 4, 339, 9, 339, 4, 340, 9, 340, 4, 341, 9, 341, 4, 342, 9, 342, 4, 343, 9, 343, 4, 344, 9, 344, 4, 345, 9, 345, 4, 346, 9, 346, 4, 347, 9, 347, 4, 348, 9, 348, 4, 349, 9, 349, 4, 350, 9, 350, 4, 351, 9, 351, 4, 352, 9, 352, 4, 353, 9, 353, 4, 354, 9, 354, 4, 355, 9, 355, 4, 356, 9, 356, 4, 357, 9, 357, 4, 358, 9, 358, 4, 359, 9, 359, 4, 360, 9, 360, 4, 361, 9, 361, 4, 362, 9, 362, 4, 363, 9, 363, 4, 364, 9, 364, 4, 365, 9, 365, 4, 366, 9, 366, 4, 367, 9, 367, 4, 368, 9, 368, 4, 369, 9, 369, 4, 370, 9, 370, 4, 371, 9, 371, 4, 372, 9, 372, 4, 373, 9, 373, 4, 374, 9, 374, 4, 375, 9, 375, 4, 376, 9, 376, 4, 377, 9, 377, 4, 378, 9, 378, 4, 379, 9, 379, 4, 380, 9, 380, 4, 381, 9, 381, 4, 382, 9, 382, 4, 383, 9, 383, 4, 384, 9, 384, 4, 385, 9, 385, 4, 386, 9, 386, 4, 387, 9, 387, 4, 388, 9, 388, 4, 389, 9, 389, 4, 390, 9, 390, 4, 391, 9, 391, 4, 392, 9, 392, 4, 393, 9, 393, 4, 394, 9, 394, 4, 395, 9, 395, 4, 396, 9, 396, 4, 397, 9, 397, 4, 398, 9, 398, 4, 399, 9, 399, 4, 400, 9, 400, 4, 401, 9, 401, 4, 402, 9, 402, 4, 403, 9, 403, 4, 404, 9, 404, 4, 405, 9, 405, 4, 406, 9, 406, 4, 407, 9, 407, 4, 408, 9, 408, 4, 409, 9, 409, 4, 410, 9, 410, 4, 411, 9, 411, 4, 412, 9, 412, 4, 413, 9, 413, 4, 414, 9, 414, 4, 415, 9, 415, 4, 416, 9, 416, 4, 417, 9, 417, 4, 418, 9, 418, 4, 419, 9, 419, 4, 420, 9, 420, 4, 421, 9, 421, 4, 422, 9, 422, 4, 423, 9, 423, 4, 424, 9, 424, 4, 425, 9, 425, 4, 426, 9, 426, 4, 427, 9, 427, 4, 428, 9, 428, 4, 429, 9, 429, 4, 430, 9, 430, 4, 431, 9, 431, 4, 432, 9, 432, 4, 433, 9, 433, 4, 434, 9, 434, 4, 435, 9, 435, 4, 436, 9, 436, 4, 437, 9, 437, 4, 438, 9, 438, 4, 439, 9, 439, 4, 440, 9, 440, 4, 441, 9, 441, 4, 442, 9, 442, 4, 443, 9, 443, 4, 444, 9, 444, 4, 445, 9, 445, 4, 446, 9, 446, 4, 447, 9, 447, 4, 448, 9, 448, 4, 449, 9, 449, 4, 450, 9, 450, 4, 451, 9, 451, 4, 452, 9, 452, 4, 453, 9, 453, 4, 454, 9, 454, 4, 455, 9, 455, 4, 456, 9, 456, 4, 457, 9, 457, 4, 458, 9, 458, 4, 459, 9, 459, 4, 460, 9, 460, 4, 461, 9, 461, 4, 462, 9, 462, 4, 463, 9, 463, 4, 464, 9, 464, 4, 465, 9, 465, 4, 466, 9, 466, 4, 467, 9, 467, 4, 468, 9, 468, 4, 469, 9, 469, 4, 470, 9, 470, 3, 2, 3, 2, 5, 2, 943, 10, 2, 3, 2, 7, 2, 946, 10, 2, 12, 2, 14, 2, 949, 11, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 5, 5, 959, 10, 5, 3, 6, 3, 6, 7, 6, 963, 10, 6, 12, 6, 14, 6, 966, 11, 6, 3, 6, 3, 6, 3, 6, 5, 6, 971, 10, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 5, 7, 982, 10, 7, 3, 7, 5, 7, 985, 10, 7, 5, 7, 987, 10, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 5, 10, 1005, 10, 10, 3, 11, 3, 11, 3, 11, 5, 11, 1010, 10, 11, 3, 11, 3, 11, 3, 11, 5, 11, 1015, 10, 11, 3, 11, 3, 11, 3, 11, 3, 11, 5, 11, 1021, 10, 11, 3, 12, 3, 12, 5, 12, 1025, 10, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 5, 13, 1038, 10, 13, 3, 14, 3, 14, 5, 14, 1042, 10, 14, 3, 14, 3, 14, 5, 14, 1046, 10, 14, 3, 14, 3, 14, 3, 14, 5, 14, 1051, 10, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 5, 15, 1058, 10, 15, 3, 15, 3, 15, 3, 15, 3, 15, 5, 15, 1064, 10, 15, 3, 15, 3, 15, 5, 15, 1068, 10, 15, 5, 15, 1070, 10, 15, 3, 15, 3, 15, 5, 15, 1074, 10, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 5, 16, 1081, 10, 16, 5, 16, 1083, 10, 16, 3, 16, 3, 16, 3, 16, 3, 16, 5, 16, 1089, 10, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 7, 18, 1098, 10, 18, 12, 18, 14, 18, 1101, 11, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 5, 19, 1108, 10, 19, 3, 19, 3, 19, 5, 19, 1112, 10, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 5, 20, 1159, 10, 20, 3, 21, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 5, 29, 1189, 10, 29, 3, 29, 3, 29, 5, 29, 1193, 10, 29, 3, 29, 5, 29, 1196, 10, 29, 3, 29, 3, 29, 3, 29, 5, 29, 1201, 10, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 5, 30, 1208, 10, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 7, 32, 1217, 10, 32, 12, 32, 14, 32, 1220, 11, 32, 3, 33, 3, 33, 3, 33, 3, 33, 3, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 5, 35, 1232, 10, 35, 3, 35, 3, 35, 5, 35, 1236, 10, 35, 3, 36, 3, 36, 3, 36, 3, 37, 3, 37, 5, 37, 1243, 10, 37, 3, 37, 5, 37, 1246, 10, 37, 3, 37, 5, 37, 1249, 10, 37, 3, 37, 5, 37, 1252, 10, 37, 3, 37, 3, 37, 5, 37, 1256, 10, 37, 3, 37, 3, 37, 3, 37, 3, 37, 5, 37, 1262, 10, 37, 3, 37, 5, 37, 1265, 10, 37, 3, 37, 5, 37, 1268, 10, 37, 3, 37, 5, 37, 1271, 10, 37, 3, 37, 5, 37, 1274, 10, 37, 3, 37, 5, 37, 1277, 10, 37, 3, 37, 3, 37, 3, 37, 3, 37, 5, 37, 1283, 10, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 7, 37, 1299, 10, 37, 12, 37, 14, 37, 1302, 11, 37, 3, 37, 3, 37, 5, 37, 1306, 10, 37, 5, 37, 1308, 10, 37, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 5, 38, 1318, 10, 38, 3, 39, 3, 39, 3, 39, 5, 39, 1323, 10, 39, 3, 39, 3, 39, 5, 39, 1327, 10, 39, 3, 39, 5, 39, 1330, 10, 39, 3, 40, 3, 40, 3, 40, 3, 41, 3, 41, 5, 41, 1337, 10, 41, 3, 42, 3, 42, 3, 42, 3, 42, 5, 42, 1343, 10, 42, 3, 42, 3, 42, 3, 42, 5, 42, 1348, 10, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 7, 42, 1356, 10, 42, 12, 42, 14, 42, 1359, 11, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 5, 43, 1372, 10, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 5, 43, 1388, 10, 43, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 5, 44, 1403, 10, 44, 3, 44, 3, 44, 5, 44, 1407, 10, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 5, 45, 1424, 10, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 5, 47, 1437, 10, 47, 3, 48, 3, 48, 5, 48, 1441, 10, 48, 3, 49, 3, 49, 3, 49, 5, 49, 1446, 10, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 5, 54, 1473, 10, 54, 3, 55, 3, 55, 3, 55, 5, 55, 1478, 10, 55, 3, 56, 3, 56, 3, 56, 5, 56, 1483, 10, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 5, 58, 1491, 10, 58, 3, 58, 3, 58, 3, 58, 3, 58, 5, 58, 1497, 10, 58, 3, 58, 3, 58, 5, 58, 1501, 10, 58, 3, 58, 5, 58, 1504, 10, 58, 3, 58, 5, 58, 1507, 10, 58, 3, 59, 3, 59, 3, 59, 3, 59, 5, 59, 1513, 10, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 5, 59, 1520, 10, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 5, 61, 1530, 10, 61, 3, 62, 3, 62, 5, 62, 1534, 10, 62, 3, 62, 6, 62, 1537, 10, 62, 13, 62, 14, 62, 1538, 3, 63, 3, 63, 5, 63, 1543, 10, 63, 3, 64, 3, 64, 7, 64, 1547, 10, 64, 12, 64, 14, 64, 1550, 11, 64, 3, 65, 3, 65, 7, 65, 1554, 10, 65, 12, 65, 14, 65, 1557, 11, 65, 3, 66, 3, 66, 7, 66, 1561, 10, 66, 12, 66, 14, 66, 1564, 11, 66, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 5, 68, 1571, 10, 68, 3, 68, 3, 68, 3, 68, 7, 68, 1576, 10, 68, 12, 68, 14, 68, 1579, 11, 68, 3, 68, 5, 68, 1582, 10, 68, 3, 68, 5, 68, 1585, 10, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 1593, 10, 69, 3, 69, 5, 69, 1596, 10, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 5, 70, 1604, 10, 70, 3, 70, 5, 70, 1607, 10, 70, 3, 71, 3, 71, 5, 71, 1611, 10, 71, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 5, 73, 1621, 10, 73, 3, 73, 3, 73, 3, 73, 5, 73, 1626, 10, 73, 3, 74, 3, 74, 3, 74, 3, 74, 5, 74, 1632, 10, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 75, 3, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 5, 76, 1645, 10, 76, 3, 77, 3, 77, 3, 77, 3, 77, 5, 77, 1651, 10, 77, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3, 80, 7, 80, 1665, 10, 80, 12, 80, 14, 80, 1668, 11, 80, 3, 81, 3, 81, 3, 81, 3, 81, 3, 82, 3, 82, 3, 82, 3, 82, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 5, 83, 1683, 10, 83, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 85, 3, 85, 3, 85, 3, 85, 3, 86, 3, 86, 3, 86, 3, 86, 5, 86, 1699, 10, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 5, 86, 1706, 10, 86, 3, 87, 3, 87, 3, 88, 3, 88, 3, 88, 3, 88, 3, 89, 3, 89, 3, 89, 3, 89, 5, 89, 1718, 10, 89, 3, 89, 3, 89, 5, 89, 1722, 10, 89, 3, 89, 3, 89, 3, 89, 5, 89, 1727, 10, 89, 3, 89, 3, 89, 3, 89, 5, 89, 1732, 10, 89, 3, 89, 5, 89, 1735, 10, 89, 3, 89, 5, 89, 1738, 10, 89, 3, 89, 3, 89, 5, 89, 1742, 10, 89, 3, 89, 5, 89, 1745, 10, 89, 3, 89, 5, 89, 1748, 10, 89, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 92, 3, 92, 3, 92, 3, 92, 5, 92, 1770, 10, 92, 3, 92, 5, 92, 1773, 10, 92, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 5, 93, 1780, 10, 93, 3, 93, 3, 93, 3, 94, 3, 94, 3, 94, 3, 94, 3, 95, 3, 95, 3, 95, 7, 95, 1791, 10, 95, 12, 95, 14, 95, 1794, 11, 95, 3, 96, 3, 96, 5, 96, 1798, 10, 96, 3, 97, 3, 97, 3, 97, 3, 98, 3, 98, 3, 98, 3, 98, 5, 98, 1807, 10, 98, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 5, 99, 1814, 10, 99, 3, 99, 3, 99, 3, 100, 3, 100, 5, 100, 1820, 10, 100, 3, 101, 3, 101, 3, 101, 3, 102, 3, 102, 3, 102, 5, 102, 1828, 10, 102, 3, 102, 3, 102, 3, 102, 3, 102, 5, 102, 1834, 10, 102, 3, 103, 3, 103, 3, 103, 3, 103, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 5, 104, 1850, 10, 104, 3, 104, 5, 104, 1853, 10, 104, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 106, 3, 106, 3, 106, 5, 106, 1863, 10, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 5, 106, 1871, 10, 106, 7, 106, 1873, 10, 106, 12, 106, 14, 106, 1876, 11, 106, 5, 106, 1878, 10, 106, 3, 107, 3, 107, 5, 107, 1882, 10, 107, 3, 108, 3, 108, 5, 108, 1886, 10, 108, 3, 108, 5, 108, 1889, 10, 108, 3, 109, 3, 109, 3, 109, 5, 109, 1894, 10, 109, 3, 109, 3, 109, 3, 109, 5, 109, 1899, 10, 109, 3, 109, 3, 109, 3, 109, 3, 109, 5, 109, 1905, 10, 109, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 5, 110, 1916, 10, 110, 5, 110, 1918, 10, 110, 3, 110, 3, 110, 5, 110, 1922, 10, 110, 3, 111, 3, 111, 3, 111, 3, 111, 5, 111, 1928, 10, 111, 3, 111, 3, 111, 3, 111, 3, 111, 5, 111, 1934, 10, 111, 3, 111, 3, 111, 3, 111, 5, 111, 1939, 10, 111, 3, 111, 3, 111, 3, 111, 3, 111, 5, 111, 1945, 10, 111, 3, 111, 3, 111, 3, 111, 5, 111, 1950, 10, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 5, 111, 1957, 10, 111, 3, 111, 3, 111, 3, 111, 5, 111, 1962, 10, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 5, 111, 1970, 10, 111, 3, 111, 3, 111, 3, 111, 5, 111, 1975, 10, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 5, 111, 1982, 10, 111, 3, 111, 3, 111, 3, 111, 3, 111, 5, 111, 1988, 10, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 5, 111, 1996, 10, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 5, 111, 2003, 10, 111, 3, 111, 3, 111, 3, 111, 5, 111, 2008, 10, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 5, 111, 2016, 10, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 5, 111, 2023, 10, 111, 3, 111, 5, 111, 2026, 10, 111, 3, 111, 5, 111, 2029, 10, 111, 5, 111, 2031, 10, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 5, 111, 2045, 10, 111, 5, 111, 2047, 10, 111, 3, 112, 3, 112, 3, 112, 3, 112, 5, 112, 2053, 10, 112, 3, 112, 3, 112, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 114, 3, 114, 3, 115, 3, 115, 3, 115, 3, 115, 5, 115, 2068, 10, 115, 3, 116, 3, 116, 3, 116, 3, 116, 3, 117, 3, 117, 3, 117, 3, 117, 3, 118, 3, 118, 3, 118, 3, 118, 3, 119, 3, 119, 3, 119, 5, 119, 2085, 10, 119, 3, 119, 3, 119, 3, 119, 5, 119, 2090, 10, 119, 3, 120, 3, 120, 5, 120, 2094, 10, 120, 3, 120, 3, 120, 5, 120, 2098, 10, 120, 3, 120, 3, 120, 3, 120, 3, 121, 3, 121, 5, 121, 2105, 10, 121, 3, 121, 3, 121, 3, 121, 7, 121, 2110, 10, 121, 12, 121, 14, 121, 2113, 11, 121, 3, 121, 3, 121, 3, 121, 5, 121, 2118, 10, 121, 3, 122, 3, 122, 5, 122, 2122, 10, 122, 3, 122, 5, 122, 2125, 10, 122, 3, 122, 3, 122, 3, 122, 7, 122, 2130, 10, 122, 12, 122, 14, 122, 2133, 11, 122, 3, 122, 3, 122, 3, 122, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 124, 3, 124, 3, 124, 3, 125, 3, 125, 3, 125, 3, 125, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 5, 126, 2155, 10, 126, 3, 127, 3, 127, 3, 127, 5, 127, 2160, 10, 127, 3, 127, 3, 127, 5, 127, 2164, 10, 127, 3, 128, 3, 128, 3, 128, 3, 128, 3, 129, 3, 129, 5, 129, 2172, 10, 129, 3, 130, 3, 130, 3, 130, 3, 131, 3, 131, 3, 131, 5, 131, 2180, 10, 131, 3, 131, 3, 131, 5, 131, 2184, 10, 131, 3, 131, 3, 131, 3, 131, 3, 131, 5, 131, 2190, 10, 131, 3, 132, 3, 132, 3, 132, 5, 132, 2195, 10, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 5, 132, 2202, 10, 132, 3, 132, 5, 132, 2205, 10, 132, 3, 132, 3, 132, 3, 132, 3, 132, 5, 132, 2211, 10, 132, 3, 133, 3, 133, 3, 133, 7, 133, 2216, 10, 133, 12, 133, 14, 133, 2219, 11, 133, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 5, 134, 2226, 10, 134, 3, 135, 3, 135, 3, 136, 3, 136, 3, 136, 7, 136, 2233, 10, 136, 12, 136, 14, 136, 2236, 11, 136, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 5, 137, 2244, 10, 137, 3, 138, 3, 138, 3, 138, 3, 138, 3, 139, 3, 139, 3, 139, 3, 139, 3, 140, 3, 140, 3, 140, 3, 140, 3, 141, 3, 141, 3, 141, 3, 141, 3, 142, 3, 142, 5, 142, 2264, 10, 142, 3, 142, 3, 142, 3, 142, 3, 142, 5, 142, 2270, 10, 142, 3, 142, 5, 142, 2273, 10, 142, 5, 142, 2275, 10, 142, 3, 143, 3, 143, 3, 143, 7, 143, 2280, 10, 143, 12, 143, 14, 143, 2283, 11, 143, 3, 144, 3, 144, 3, 144, 3, 145, 3, 145, 3, 146, 3, 146, 5, 146, 2292, 10, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 5, 146, 2300, 10, 146, 3, 147, 3, 147, 5, 147, 2304, 10, 147, 3, 147, 3, 147, 5, 147, 2308, 10, 147, 3, 147, 3, 147, 3, 148, 3, 148, 3, 148, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 5, 149, 2321, 10, 149, 3, 149, 3, 149, 3, 149, 3, 150, 3, 150, 3, 150, 3, 150, 5, 150, 2330, 10, 150, 3, 150, 3, 150, 3, 151, 3, 151, 5, 151, 2336, 10, 151, 3, 151, 3, 151, 5, 151, 2340, 10, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 5, 151, 2347, 10, 151, 3, 151, 5, 151, 2350, 10, 151, 3, 151, 5, 151, 2353, 10, 151, 3, 151, 5, 151, 2356, 10, 151, 3, 151, 3, 151, 3, 151, 3, 152, 3, 152, 5, 152, 2363, 10, 152, 3, 152, 3, 152, 3, 152, 5, 152, 2368, 10, 152, 3, 152, 3, 152, 3, 152, 3, 152, 5, 152, 2374, 10, 152, 3, 152, 3, 152, 5, 152, 2378, 10, 152, 3, 152, 7, 152, 2381, 10, 152, 12, 152, 14, 152, 2384, 11, 152, 3, 152, 3, 152, 3, 152, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 5, 153, 2400, 10, 153, 3, 154, 3, 154, 5, 154, 2404, 10, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 5, 154, 2411, 10, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 5, 154, 2419, 10, 154, 5, 154, 2421, 10, 154, 3, 155, 3, 155, 5, 155, 2425, 10, 155, 3, 156, 5, 156, 2428, 10, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 7, 156, 2438, 10, 156, 12, 156, 14, 156, 2441, 11, 156, 3, 156, 3, 156, 5, 156, 2445, 10, 156, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 5, 157, 2454, 10, 157, 3, 158, 3, 158, 5, 158, 2458, 10, 158, 3, 158, 3, 158, 3, 159, 3, 159, 3, 159, 5, 159, 2465, 10, 159, 3, 159, 3, 159, 3, 159, 3, 159, 5, 159, 2471, 10, 159, 3, 159, 3, 159, 3, 159, 5, 159, 2476, 10, 159, 3, 159, 3, 159, 3, 159, 5, 159, 2481, 10, 159, 3, 159, 5, 159, 2484, 10, 159, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 161, 3, 161, 3, 161, 5, 161, 2495, 10, 161, 3, 161, 3, 161, 3, 162, 3, 162, 3, 162, 3, 162, 5, 162, 2503, 10, 162, 3, 162, 3, 162, 3, 163, 3, 163, 5, 163, 2509, 10, 163, 3, 164, 3, 164, 5, 164, 2513, 10, 164, 3, 165, 3, 165, 3, 165, 3, 166, 3, 166, 3, 166, 3, 167, 3, 167, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 7, 168, 2529, 10, 168, 12, 168, 14, 168, 2532, 11, 168, 3, 168, 3, 168, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 5, 169, 2547, 10, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 5, 170, 2563, 10, 170, 3, 171, 3, 171, 5, 171, 2567, 10, 171, 3, 172, 3, 172, 3, 172, 3, 173, 3, 173, 3, 173, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 5, 174, 2582, 10, 174, 3, 175, 3, 175, 3, 175, 3, 175, 5, 175, 2588, 10, 175, 3, 175, 5, 175, 2591, 10, 175, 3, 175, 5, 175, 2594, 10, 175, 3, 175, 5, 175, 2597, 10, 175, 3, 175, 5, 175, 2600, 10, 175, 3, 176, 3, 176, 5, 176, 2604, 10, 176, 3, 177, 3, 177, 3, 177, 3, 178, 3, 178, 3, 178, 3, 179, 3, 179, 3, 179, 3, 179, 3, 180, 3, 180, 3, 180, 7, 180, 2619, 10, 180, 12, 180, 14, 180, 2622, 11, 180, 3, 180, 3, 180, 3, 180, 7, 180, 2627, 10, 180, 12, 180, 14, 180, 2630, 11, 180, 5, 180, 2632, 10, 180, 3, 181, 3, 181, 5, 181, 2636, 10, 181, 3, 181, 3, 181, 3, 182, 3, 182, 3, 182, 5, 182, 2643, 10, 182, 3, 183, 3, 183, 3, 183, 7, 183, 2648, 10, 183, 12, 183, 14, 183, 2651, 11, 183, 3, 183, 5, 183, 2654, 10, 183, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 5, 184, 2661, 10, 184, 3, 185, 3, 185, 3, 185, 3, 185, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 190, 3, 190, 3, 190, 5, 190, 2692, 10, 190, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 5, 191, 2700, 10, 191, 3, 192, 3, 192, 3, 192, 3, 192, 3, 193, 3, 193, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 5, 194, 2716, 10, 194, 3, 195, 3, 195, 3, 195, 3, 196, 3, 196, 3, 196, 3, 197, 3, 197, 3, 197, 3, 198, 3, 198, 3, 198, 7, 198, 2730, 10, 198, 12, 198, 14, 198, 2733, 11, 198, 3, 199, 3, 199, 3, 199, 7, 199, 2738, 10, 199, 12, 199, 14, 199, 2741, 11, 199, 3, 200, 3, 200, 3, 200, 7, 200, 2746, 10, 200, 12, 200, 14, 200, 2749, 11, 200, 3, 201, 3, 201, 3, 201, 7, 201, 2754, 10, 201, 12, 201, 14, 201, 2757, 11, 201, 3, 202, 3, 202, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 5, 203, 2767, 10, 203, 7, 203, 2769, 10, 203, 12, 203, 14, 203, 2772, 11, 203, 3, 204, 3, 204, 3, 204, 7, 204, 2777, 10, 204, 12, 204, 14, 204, 2780, 11, 204, 3, 205, 3, 205, 3, 205, 3, 205, 3, 206, 3, 206, 5, 206, 2788, 10, 206, 3, 206, 5, 206, 2791, 10, 206, 3, 207, 3, 207, 3, 208, 3, 208, 3, 209, 3, 209, 3, 209, 5, 209, 2800, 10, 209, 3, 210, 3, 210, 5, 210, 2804, 10, 210, 5, 210, 2806, 10, 210, 3, 211, 3, 211, 5, 211, 2810, 10, 211, 3, 211, 3, 211, 5, 211, 2814, 10, 211, 3, 212, 3, 212, 3, 212, 3, 212, 5, 212, 2820, 10, 212, 3, 213, 3, 213, 3, 213, 3, 213, 5, 213, 2826, 10, 213, 3, 214, 3, 214, 3, 214, 3, 215, 3, 215, 3, 215, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 5, 216, 2844, 10, 216, 5, 216, 2846, 10, 216, 3, 217, 3, 217, 5, 217, 2850, 10, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 5, 217, 2859, 10, 217, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 5, 218, 2870, 10, 218, 3, 219, 3, 219, 5, 219, 2874, 10, 219, 3, 220, 3, 220, 3, 220, 7, 220, 2879, 10, 220, 12, 220, 14, 220, 2882, 11, 220, 3, 221, 3, 221, 3, 221, 3, 221, 3, 222, 3, 222, 3, 222, 7, 222, 2891, 10, 222, 12, 222, 14, 222, 2894, 11, 222, 3, 223, 3, 223, 3, 224, 3, 224, 5, 224, 2900, 10, 224, 3, 225, 3, 225, 3, 226, 3, 226, 3, 226, 3, 226, 5, 226, 2908, 10, 226, 3, 227, 3, 227, 5, 227, 2912, 10, 227, 3, 227, 5, 227, 2915, 10, 227, 3, 228, 3, 228, 3, 228, 7, 228, 2920, 10, 228, 12, 228, 14, 228, 2923, 11, 228, 3, 229, 3, 229, 3, 229, 5, 229, 2928, 10, 229, 3, 230, 3, 230, 5, 230, 2932, 10, 230, 3, 230, 5, 230, 2935, 10, 230, 3, 231, 3, 231, 3, 231, 3, 231, 5, 231, 2941, 10, 231, 3, 232, 3, 232, 5, 232, 2945, 10, 232, 3, 233, 3, 233, 5, 233, 2949, 10, 233, 3, 234, 3, 234, 3, 234, 7, 234, 2954, 10, 234, 12, 234, 14, 234, 2957, 11, 234, 3, 235, 3, 235, 3, 235, 5, 235, 2962, 10, 235, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 237, 3, 237, 3, 237, 5, 237, 2973, 10, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 5, 237, 2981, 10, 237, 3, 238, 5, 238, 2984, 10, 238, 3, 238, 5, 238, 2987, 10, 238, 3, 239, 3, 239, 3, 239, 3, 239, 3, 240, 3, 240, 3, 240, 3, 240, 3, 241, 3, 241, 5, 241, 2999, 10, 241, 3, 242, 3, 242, 5, 242, 3003, 10, 242, 3, 243, 3, 243, 5, 243, 3007, 10, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 5, 243, 3015, 10, 243, 3, 244, 3, 244, 5, 244, 3019, 10, 244, 3, 244, 3, 244, 7, 244, 3023, 10, 244, 12, 244, 14, 244, 3026, 11, 244, 3, 244, 5, 244, 3029, 10, 244, 3, 245, 3, 245, 5, 245, 3033, 10, 245, 3, 246, 3, 246, 5, 246, 3037, 10, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 5, 246, 3045, 10, 246, 3, 247, 3, 247, 5, 247, 3049, 10, 247, 3, 247, 3, 247, 5, 247, 3053, 10, 247, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 5, 248, 3066, 10, 248, 3, 249, 3, 249, 3, 249, 3, 249, 5, 249, 3072, 10, 249, 3, 250, 3, 250, 3, 250, 5, 250, 3077, 10, 250, 3, 251, 5, 251, 3080, 10, 251, 3, 251, 3, 251, 3, 252, 5, 252, 3085, 10, 252, 3, 252, 3, 252, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 5, 253, 3094, 10, 253, 3, 254, 3, 254, 3, 255, 3, 255, 3, 255, 7, 255, 3101, 10, 255, 12, 255, 14, 255, 3104, 11, 255, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 5, 256, 3111, 10, 256, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 5, 257, 3121, 10, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 5, 257, 3140, 10, 257, 3, 257, 5, 257, 3143, 10, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 5, 257, 3154, 10, 257, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 262, 3, 262, 3, 262, 3, 262, 5, 262, 3182, 10, 262, 3, 262, 3, 262, 3, 262, 3, 262, 5, 262, 3188, 10, 262, 3, 262, 3, 262, 3, 262, 3, 262, 5, 262, 3194, 10, 262, 3, 262, 3, 262, 3, 262, 3, 262, 5, 262, 3200, 10, 262, 5, 262, 3202, 10, 262, 3, 263, 5, 263, 3205, 10, 263, 3, 263, 3, 263, 3, 264, 3, 264, 5, 264, 3211, 10, 264, 3, 265, 3, 265, 3, 265, 3, 265, 7, 265, 3217, 10, 265, 12, 265, 14, 265, 3220, 11, 265, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 267, 3, 267, 3, 267, 3, 267, 7, 267, 3232, 10, 267, 12, 267, 14, 267, 3235, 11, 267, 3, 268, 3, 268, 6, 268, 3239, 10, 268, 13, 268, 14, 268, 3240, 3, 269, 3, 269, 3, 269, 5, 269, 3246, 10, 269, 3, 269, 5, 269, 3249, 10, 269, 3, 270, 3, 270, 5, 270, 3253, 10, 270, 3, 270, 5, 270, 3256, 10, 270, 3, 270, 5, 270, 3259, 10, 270, 3, 270, 5, 270, 3262, 10, 270, 3, 270, 5, 270, 3265, 10, 270, 3, 270, 3, 270, 3, 270, 3, 270, 5, 270, 3271, 10, 270, 3, 271, 3, 271, 5, 271, 3275, 10, 271, 3, 271, 5, 271, 3278, 10, 271, 3, 271, 5, 271, 3281, 10, 271, 3, 271, 5, 271, 3284, 10, 271, 3, 271, 5, 271, 3287, 10, 271, 3, 271, 5, 271, 3290, 10, 271, 3, 272, 3, 272, 3, 272, 6, 272, 3295, 10, 272, 13, 272, 14, 272, 3296, 3, 273, 5, 273, 3300, 10, 273, 3, 273, 3, 273, 3, 274, 3, 274, 3, 274, 5, 274, 3307, 10, 274, 3, 274, 5, 274, 3310, 10, 274, 3, 274, 5, 274, 3313, 10, 274, 3, 274, 5, 274, 3316, 10, 274, 3, 274, 5, 274, 3319, 10, 274, 3, 274, 5, 274, 3322, 10, 274, 3, 274, 5, 274, 3325, 10, 274, 3, 274, 5, 274, 3328, 10, 274, 3, 274, 5, 274, 3331, 10, 274, 3, 274, 5, 274, 3334, 10, 274, 3, 274, 3, 274, 5, 274, 3338, 10, 274, 3, 274, 5, 274, 3341, 10, 274, 3, 274, 5, 274, 3344, 10, 274, 3, 274, 5, 274, 3347, 10, 274, 3, 274, 5, 274, 3350, 10, 274, 3, 274, 5, 274, 3353, 10, 274, 3, 274, 5, 274, 3356, 10, 274, 3, 274, 5, 274, 3359, 10, 274, 3, 274, 5, 274, 3362, 10, 274, 3, 274, 5, 274, 3365, 10, 274, 5, 274, 3367, 10, 274, 3, 275, 3, 275, 3, 275, 3, 275, 5, 275, 3373, 10, 275, 3, 275, 3, 275, 3, 275, 5, 275, 3378, 10, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 5, 275, 3385, 10, 275, 5, 275, 3387, 10, 275, 3, 276, 5, 276, 3390, 10, 276, 3, 276, 3, 276, 3, 276, 5, 276, 3395, 10, 276, 3, 276, 5, 276, 3398, 10, 276, 3, 276, 3, 276, 5, 276, 3402, 10, 276, 3, 277, 3, 277, 3, 277, 5, 277, 3407, 10, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 5, 277, 3414, 10, 277, 3, 278, 3, 278, 3, 278, 3, 278, 5, 278, 3420, 10, 278, 3, 279, 3, 279, 3, 279, 3, 279, 3, 280, 3, 280, 3, 280, 3, 280, 7, 280, 3430, 10, 280, 12, 280, 14, 280, 3433, 11, 280, 3, 281, 3, 281, 3, 281, 3, 281, 5, 281, 3439, 10, 281, 3, 282, 3, 282, 3, 282, 3, 282, 5, 282, 3445, 10, 282, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 7, 283, 3452, 10, 283, 12, 283, 14, 283, 3455, 11, 283, 5, 283, 3457, 10, 283, 3, 284, 3, 284, 5, 284, 3461, 10, 284, 3, 285, 3, 285, 3, 285, 3, 285, 5, 285, 3467, 10, 285, 3, 286, 3, 286, 3, 286, 3, 286, 3, 287, 3, 287, 3, 288, 3, 288, 5, 288, 3477, 10, 288, 3, 289, 3, 289, 5, 289, 3481, 10, 289, 3, 290, 3, 290, 3, 290, 3, 290, 3, 291, 3, 291, 3, 291, 6, 291, 3490, 10, 291, 13, 291, 14, 291, 3491, 3, 292, 3, 292, 3, 292, 3, 292, 5, 292, 3498, 10, 292, 3, 292, 5, 292, 3501, 10, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 293, 3, 293, 7, 293, 3511, 10, 293, 12, 293, 14, 293, 3514, 11, 293, 3, 293, 5, 293, 3517, 10, 293, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 5, 294, 3524, 10, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 297, 3, 297, 3, 297, 5, 297, 3546, 10, 297, 3, 298, 3, 298, 3, 298, 6, 298, 3551, 10, 298, 13, 298, 14, 298, 3552, 3, 299, 3, 299, 5, 299, 3557, 10, 299, 3, 299, 5, 299, 3560, 10, 299, 3, 299, 3, 299, 3, 299, 5, 299, 3565, 10, 299, 3, 299, 5, 299, 3568, 10, 299, 3, 300, 3, 300, 3, 300, 7, 300, 3573, 10, 300, 12, 300, 14, 300, 3576, 11, 300, 3, 301, 3, 301, 3, 301, 3, 301, 5, 301, 3582, 10, 301, 3, 301, 5, 301, 3585, 10, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 5, 301, 3593, 10, 301, 3, 301, 3, 301, 3, 301, 3, 301, 5, 301, 3599, 10, 301, 5, 301, 3601, 10, 301, 5, 301, 3603, 10, 301, 3, 301, 5, 301, 3606, 10, 301, 3, 301, 5, 301, 3609, 10, 301, 3, 302, 3, 302, 5, 302, 3613, 10, 302, 3, 302, 3, 302, 5, 302, 3617, 10, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 7, 302, 3625, 10, 302, 12, 302, 14, 302, 3628, 11, 302, 3, 302, 3, 302, 5, 302, 3632, 10, 302, 5, 302, 3634, 10, 302, 3, 303, 3, 303, 3, 303, 3, 303, 5, 303, 3640, 10, 303, 3, 303, 5, 303, 3643, 10, 303, 3, 303, 5, 303, 3646, 10, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 5, 303, 3654, 10, 303, 3, 303, 3, 303, 3, 303, 3, 303, 5, 303, 3660, 10, 303, 5, 303, 3662, 10, 303, 5, 303, 3664, 10, 303, 3, 303, 5, 303, 3667, 10, 303, 3, 303, 5, 303, 3670, 10, 303, 3, 304, 3, 304, 5, 304, 3674, 10, 304, 3, 304, 5, 304, 3677, 10, 304, 3, 305, 3, 305, 3, 305, 7, 305, 3682, 10, 305, 12, 305, 14, 305, 3685, 11, 305, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 307, 3, 307, 3, 307, 3, 307, 7, 307, 3696, 10, 307, 12, 307, 14, 307, 3699, 11, 307, 3, 308, 3, 308, 3, 308, 3, 308, 3, 309, 3, 309, 3, 309, 5, 309, 3708, 10, 309, 3, 309, 5, 309, 3711, 10, 309, 3, 309, 5, 309, 3714, 10, 309, 3, 309, 5, 309, 3717, 10, 309, 3, 310, 3, 310, 5, 310, 3721, 10, 310, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 5, 311, 3731, 10, 311, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 5, 312, 3741, 10, 312, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 5, 313, 3749, 10, 313, 3, 314, 3, 314, 3, 314, 3, 314, 3, 314, 3, 314, 5, 314, 3757, 10, 314, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 5, 315, 3764, 10, 315, 3, 316, 3, 316, 3, 317, 3, 317, 3, 317, 7, 317, 3771, 10, 317, 12, 317, 14, 317, 3774, 11, 317, 3, 318, 3, 318, 3, 318, 7, 318, 3779, 10, 318, 12, 318, 14, 318, 3782, 11, 318, 3, 319, 3, 319, 3, 319, 3, 320, 3, 320, 3, 320, 3, 320, 6, 320, 3791, 10, 320, 13, 320, 14, 320, 3792, 3, 320, 3, 320, 3, 320, 5, 320, 3798, 10, 320, 3, 321, 3, 321, 7, 321, 3802, 10, 321, 12, 321, 14, 321, 3805, 11, 321, 3, 321, 3, 321, 7, 321, 3809, 10, 321, 12, 321, 14, 321, 3812, 11, 321, 3, 321, 3, 321, 7, 321, 3816, 10, 321, 12, 321, 14, 321, 3819, 11, 321, 3, 321, 3, 321, 7, 321, 3823, 10, 321, 12, 321, 14, 321, 3826, 11, 321, 3, 321, 3, 321, 3, 321, 3, 321, 5, 321, 3832, 10, 321, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 5, 322, 3841, 10, 322, 7, 322, 3843, 10, 322, 12, 322, 14, 322, 3846, 11, 322, 3, 323, 3, 323, 5, 323, 3850, 10, 323, 3, 323, 3, 323, 5, 323, 3854, 10, 323, 3, 323, 5, 323, 3857, 10, 323, 3, 323, 3, 323, 5, 323, 3861, 10, 323, 3, 324, 3, 324, 3, 324, 3, 324, 5, 324, 3867, 10, 324, 3, 324, 7, 324, 3870, 10, 324, 12, 324, 14, 324, 3873, 11, 324, 3, 325, 5, 325, 3876, 10, 325, 3, 325, 3, 325, 3, 325, 3, 326, 3, 326, 3, 326, 3, 326, 3, 327, 3, 327, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 5, 328, 3895, 10, 328, 3, 328, 3, 328, 3, 328, 5, 328, 3900, 10, 328, 3, 328, 3, 328, 3, 328, 5, 328, 3905, 10, 328, 3, 328, 3, 328, 3, 328, 3, 328, 5, 328, 3911, 10, 328, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 7, 329, 3922, 10, 329, 12, 329, 14, 329, 3925, 11, 329, 5, 329, 3927, 10, 329, 3, 329, 5, 329, 3930, 10, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 7, 329, 3940, 10, 329, 12, 329, 14, 329, 3943, 11, 329, 5, 329, 3945, 10, 329, 3, 329, 5, 329, 3948, 10, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 5, 329, 3956, 10, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 7, 329, 3963, 10, 329, 12, 329, 14, 329, 3966, 11, 329, 3, 329, 3, 329, 5, 329, 3970, 10, 329, 5, 329, 3972, 10, 329, 3, 330, 3, 330, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 7, 331, 3987, 10, 331, 12, 331, 14, 331, 3990, 11, 331, 5, 331, 3992, 10, 331, 3, 331, 3, 331, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 5, 332, 4005, 10, 332, 3, 333, 3, 333, 5, 333, 4009, 10, 333, 3, 334, 3, 334, 5, 334, 4013, 10, 334, 3, 334, 5, 334, 4016, 10, 334, 3, 334, 5, 334, 4019, 10, 334, 3, 334, 5, 334, 4022, 10, 334, 3, 335, 3, 335, 5, 335, 4026, 10, 335, 3, 335, 5, 335, 4029, 10, 335, 3, 335, 5, 335, 4032, 10, 335, 3, 336, 3, 336, 3, 336, 7, 336, 4037, 10, 336, 12, 336, 14, 336, 4040, 11, 336, 3, 337, 3, 337, 3, 337, 5, 337, 4045, 10, 337, 3, 337, 3, 337, 3, 338, 3, 338, 3, 338, 3, 338, 5, 338, 4053, 10, 338, 3, 338, 5, 338, 4056, 10, 338, 3, 339, 3, 339, 5, 339, 4060, 10, 339, 3, 339, 3, 339, 3, 339, 5, 339, 4065, 10, 339, 3, 339, 3, 339, 5, 339, 4069, 10, 339, 3, 340, 3, 340, 3, 340, 5, 340, 4074, 10, 340, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 5, 341, 4081, 10, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 7, 341, 4093, 10, 341, 12, 341, 14, 341, 4096, 11, 341, 5, 341, 4098, 10, 341, 3, 341, 3, 341, 5, 341, 4102, 10, 341, 3, 342, 3, 342, 3, 342, 3, 343, 3, 343, 3, 344, 3, 344, 3, 344, 3, 345, 3, 345, 3, 345, 7, 345, 4115, 10, 345, 12, 345, 14, 345, 4118, 11, 345, 3, 346, 3, 346, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 5, 347, 4127, 10, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 7, 347, 4134, 10, 347, 12, 347, 14, 347, 4137, 11, 347, 5, 347, 4139, 10, 347, 3, 347, 3, 347, 3, 348, 3, 348, 3, 348, 3, 348, 3, 348, 7, 348, 4148, 10, 348, 12, 348, 14, 348, 4151, 11, 348, 3, 348, 3, 348, 3, 349, 3, 349, 3, 349, 5, 349, 4158, 10, 349, 3, 349, 3, 349, 3, 350, 3, 350, 3, 350, 7, 350, 4165, 10, 350, 12, 350, 14, 350, 4168, 11, 350, 3, 351, 3, 351, 3, 351, 5, 351, 4173, 10, 351, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 5, 352, 4180, 10, 352, 3, 353, 3, 353, 3, 353, 3, 353, 3, 354, 3, 354, 3, 354, 5, 354, 4189, 10, 354, 3, 355, 3, 355, 3, 355, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 7, 356, 4199, 10, 356, 12, 356, 14, 356, 4202, 11, 356, 3, 356, 3, 356, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 5, 357, 4211, 10, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 7, 357, 4219, 10, 357, 12, 357, 14, 357, 4222, 11, 357, 3, 357, 3, 357, 5, 357, 4226, 10, 357, 3, 358, 3, 358, 5, 358, 4230, 10, 358, 3, 359, 3, 359, 5, 359, 4234, 10, 359, 3, 359, 3, 359, 7, 359, 4238, 10, 359, 12, 359, 14, 359, 4241, 11, 359, 3, 359, 3, 359, 3, 360, 3, 360, 3, 361, 3, 361, 3, 361, 3, 362, 3, 362, 3, 363, 3, 363, 3, 363, 3, 363, 3, 364, 3, 364, 5, 364, 4258, 10, 364, 3, 365, 3, 365, 6, 365, 4262, 10, 365, 13, 365, 14, 365, 4263, 3, 366, 3, 366, 5, 366, 4268, 10, 366, 3, 367, 3, 367, 3, 367, 3, 367, 7, 367, 4274, 10, 367, 12, 367, 14, 367, 4277, 11, 367, 3, 367, 3, 367, 3, 368, 3, 368, 3, 368, 7, 368, 4284, 10, 368, 12, 368, 14, 368, 4287, 11, 368, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 7, 369, 4294, 10, 369, 12, 369, 14, 369, 4297, 11, 369, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 5, 370, 4307, 10, 370, 3, 371, 3, 371, 3, 371, 3, 371, 3, 372, 3, 372, 3, 372, 3, 372, 3, 373, 3, 373, 3, 373, 3, 373, 5, 373, 4321, 10, 373, 3, 374, 3, 374, 3, 374, 3, 374, 5, 374, 4327, 10, 374, 3, 374, 3, 374, 3, 374, 7, 374, 4332, 10, 374, 12, 374, 14, 374, 4335, 11, 374, 5, 374, 4337, 10, 374, 5, 374, 4339, 10, 374, 3, 374, 3, 374, 3, 374, 5, 374, 4344, 10, 374, 3, 375, 3, 375, 5, 375, 4348, 10, 375, 3, 376, 3, 376, 3, 376, 3, 376, 3, 376, 3, 376, 5, 376, 4356, 10, 376, 3, 376, 3, 376, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 6, 377, 4367, 10, 377, 13, 377, 14, 377, 4368, 3, 377, 3, 377, 5, 377, 4373, 10, 377, 3, 377, 3, 377, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 6, 378, 4383, 10, 378, 13, 378, 14, 378, 4384, 3, 378, 3, 378, 5, 378, 4389, 10, 378, 3, 378, 3, 378, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 5, 379, 4398, 10, 379, 3, 379, 3, 379, 3, 380, 3, 380, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 382, 3, 382, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 5, 383, 4425, 10, 383, 3, 384, 3, 384, 6, 384, 4429, 10, 384, 13, 384, 14, 384, 4430, 3, 385, 3, 385, 3, 385, 3, 386, 3, 386, 3, 386, 5, 386, 4439, 10, 386, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 5, 387, 4448, 10, 387, 3, 388, 3, 388, 3, 388, 3, 389, 3, 389, 3, 390, 3, 390, 3, 390, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 5, 391, 4473, 10, 391, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 5, 392, 4487, 10, 392, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 5, 393, 4500, 10, 393, 3, 394, 3, 394, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 5, 395, 4513, 10, 395, 3, 396, 3, 396, 3, 397, 3, 397, 3, 398, 3, 398, 3, 399, 3, 399, 3, 400, 3, 400, 3, 401, 3, 401, 3, 402, 3, 402, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 5, 403, 4534, 10, 403, 3, 404, 3, 404, 3, 404, 3, 404, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 5, 405, 4547, 10, 405, 3, 406, 3, 406, 3, 407, 3, 407, 3, 408, 3, 408, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 7, 409, 4563, 10, 409, 12, 409, 14, 409, 4566, 11, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 5, 409, 4580, 10, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 5, 409, 4609, 10, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 7, 409, 4626, 10, 409, 12, 409, 14, 409, 4629, 11, 409, 3, 410, 3, 410, 3, 410, 3, 410, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 5, 411, 4641, 10, 411, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 5, 412, 4656, 10, 412, 3, 413, 3, 413, 5, 413, 4660, 10, 413, 3, 414, 3, 414, 3, 414, 3, 414, 5, 414, 4666, 10, 414, 3, 415, 3, 415, 3, 416, 3, 416, 3, 417, 3, 417, 5, 417, 4674, 10, 417, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 7, 418, 4681, 10, 418, 12, 418, 14, 418, 4684, 11, 418, 3, 418, 3, 418, 3, 419, 3, 419, 3, 419, 5, 419, 4691, 10, 419, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 7, 420, 4698, 10, 420, 12, 420, 14, 420, 4701, 11, 420, 3, 420, 3, 420, 3, 421, 3, 421, 3, 421, 3, 421, 3, 422, 3, 422, 3, 423, 3, 423, 3, 424, 3, 424, 3, 424, 5, 424, 4716, 10, 424, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 5, 425, 4726, 10, 425, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 7, 426, 4737, 10, 426, 12, 426, 14, 426, 4740, 11, 426, 3, 426, 5, 426, 4743, 10, 426, 3, 427, 3, 427, 5, 427, 4747, 10, 427, 3, 428, 3, 428, 3, 429, 3, 429, 3, 430, 3, 430, 5, 430, 4755, 10, 430, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 5, 431, 4771, 10, 431, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 5, 432, 4780, 10, 432, 3, 433, 3, 433, 3, 433, 7, 433, 4785, 10, 433, 12, 433, 14, 433, 4788, 11, 433, 3, 434, 3, 434, 3, 434, 5, 434, 4793, 10, 434, 3, 435, 3, 435, 3, 435, 7, 435, 4798, 10, 435, 12, 435, 14, 435, 4801, 11, 435, 3, 436, 3, 436, 3, 436, 3, 436, 3, 436, 5, 436, 4808, 10, 436, 3, 437, 3, 437, 3, 437, 3, 437, 3, 438, 3, 438, 3, 438, 5, 438, 4817, 10, 438, 3, 439, 3, 439, 3, 439, 3, 440, 3, 440, 5, 440, 4824, 10, 440, 3, 441, 3, 441, 3, 442, 3, 442, 3, 443, 3, 443, 3, 444, 3, 444, 3, 444, 3, 444, 3, 444, 3, 444, 3, 444, 3, 444, 3, 444, 3, 444, 3, 444, 3, 444, 3, 444, 5, 444, 4845, 10, 444, 3, 444, 3, 444, 5, 444, 4849, 10, 444, 5, 444, 4851, 10, 444, 5, 444, 4853, 10, 444, 3, 445, 3, 445, 3, 445, 3, 445, 3, 446, 3, 446, 5, 446, 4861, 10, 446, 3, 446, 3, 446, 3, 446, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 5, 447, 4878, 10, 447, 3, 448, 3, 448, 3, 448, 3, 448, 3, 448, 3, 449, 3, 449, 3, 449, 7, 449, 4888, 10, 449, 12, 449, 14, 449, 4891, 11, 449, 3, 450, 3, 450, 3, 451, 3, 451, 3, 451, 3, 452, 3, 452, 3, 452, 7, 452, 4901, 10, 452, 12, 452, 14, 452, 4904, 11, 452, 3, 453, 3, 453, 3, 453, 7, 453, 4909, 10, 453, 12, 453, 14, 453, 4912, 11, 453, 3, 454, 3, 454, 3, 454, 3, 454, 3, 455, 3, 455, 3, 456, 3, 456, 3, 457, 3, 457, 3, 457, 3, 457, 5, 457, 4926, 10, 457, 3, 458, 3, 458, 3, 458, 3, 459, 3, 459, 3, 459, 3, 459, 3, 459, 3, 459, 3, 459, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 5, 460, 4958, 10, 460, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 462, 3, 462, 3, 462, 3, 462, 3, 462, 3, 462, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 5, 463, 4983, 10, 463, 3, 464, 3, 464, 3, 464, 7, 464, 4988, 10, 464, 12, 464, 14, 464, 4991, 11, 464, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 5, 466, 5016, 10, 466, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 5, 468, 5033, 10, 468, 3, 468, 3, 468, 3, 468, 5, 468, 5038, 10, 468, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 5, 469, 5049, 10, 469, 3, 469, 3, 469, 3, 469, 5, 469, 5054, 10, 469, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 2, 3, 816, 471, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, 286, 288, 290, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326, 328, 330, 332, 334, 336, 338, 340, 342, 344, 346, 348, 350, 352, 354, 356, 358, 360, 362, 364, 366, 368, 370, 372, 374, 376, 378, 380, 382, 384, 386, 388, 390, 392, 394, 396, 398, 400, 402, 404, 406, 408, 410, 412, 414, 416, 418, 420, 422, 424, 426, 428, 430, 432, 434, 436, 438, 440, 442, 444, 446, 448, 450, 452, 454, 456, 458, 460, 462, 464, 466, 468, 470, 472, 474, 476, 478, 480, 482, 484, 486, 488, 490, 492, 494, 496, 498, 500, 502, 504, 506, 508, 510, 512, 514, 516, 518, 520, 522, 524, 526, 528, 530, 532, 534, 536, 538, 540, 542, 544, 546, 548, 550, 552, 554, 556, 558, 560, 562, 564, 566, 568, 570, 572, 574, 576, 578, 580, 582, 584, 586, 588, 590, 592, 594, 596, 598, 600, 602, 604, 606, 608, 610, 612, 614, 616, 618, 620, 622, 624, 626, 628, 630, 632, 634, 636, 638, 640, 642, 644, 646, 648, 650, 652, 654, 656, 658, 660, 662, 664, 666, 668, 670, 672, 674, 676, 678, 680, 682, 684, 686, 688, 690, 692, 694, 696, 698, 700, 702, 704, 706, 708, 710, 712, 714, 716, 718, 720, 722, 724, 726, 728, 730, 732, 734, 736, 738, 740, 742, 744, 746, 748, 750, 752, 754, 756, 758, 760, 762, 764, 766, 768, 770, 772, 774, 776, 778, 780, 782, 784, 786, 788, 790, 792, 794, 796, 798, 800, 802, 804, 806, 808, 810, 812, 814, 816, 818, 820, 822, 824, 826, 828, 830, 832, 834, 836, 838, 840, 842, 844, 846, 848, 850, 852, 854, 856, 858, 860, 862, 864, 866, 868, 870, 872, 874, 876, 878, 880, 882, 884, 886, 888, 890, 892, 894, 896, 898, 900, 902, 904, 906, 908, 910, 912, 914, 916, 918, 920, 922, 924, 926, 928, 930, 932, 934, 936, 938, 2, 40, 3, 2, 316, 319, 3, 2, 234, 235, 4, 2, 188, 188, 191, 191, 6, 2, 40, 40, 185, 185, 191, 191, 231, 231, 3, 2, 141, 142, 4, 2, 16, 16, 76, 76, 3, 2, 151, 152, 4, 2, 189, 189, 192, 192, 4, 2, 24, 24, 187, 187, 3, 2, 200, 201, 11, 2, 5, 5, 26, 26, 28, 28, 69, 69, 71, 71, 77, 77, 180, 180, 197, 197, 232, 233, 5, 2, 77, 77, 141, 141, 341, 341, 4, 2, 148, 149, 223, 223, 4, 2, 278, 279, 281, 281, 3, 2, 281, 283, 3, 2, 282, 283, 3, 2, 345, 350, 5, 2, 342, 346, 348, 348, 351, 351, 3, 2, 132, 133, 3, 2, 301, 302, 3, 2, 15, 16, 4, 2, 5, 5, 27, 27, 3, 2, 243, 244, 4, 2, 114, 114, 139, 139, 3, 2, 237, 238, 5, 2, 274, 274, 276, 279, 281, 283, 4, 2, 274, 274, 276, 283, 4, 2, 400, 400, 405, 405, 4, 2, 388, 389, 394, 394, 4, 2, 387, 387, 390, 392, 3, 2, 388, 389, 4, 2, 11, 11, 143, 144, 3, 2, 3, 4, 4, 2, 379, 379, 381, 385, 17, 2, 8, 11, 13, 13, 81, 87, 98, 98, 101, 103, 106, 106, 143, 144, 169, 170, 187, 187, 211, 211, 213, 213, 309, 309, 379, 385, 387, 395, 397, 397, 60, 2, 15, 18, 29, 29, 39, 41, 43, 51, 55, 57, 60, 61, 63, 66, 72, 72, 74, 75, 78, 78, 80, 80, 82, 82, 90, 90, 95, 95, 98, 98, 102, 102, 106, 106, 108, 110, 112, 112, 115, 134, 136, 136, 141, 142, 145, 145, 148, 150, 152, 155, 157, 161, 163, 168, 174, 179, 181, 181, 185, 186, 189, 192, 195, 201, 203, 205, 207, 207, 209, 210, 215, 215, 218, 220, 222, 227, 229, 232, 234, 236, 239, 239, 252, 252, 254, 254, 256, 257, 260, 268, 270, 270, 273, 283, 285, 285, 288, 288, 290, 295, 300, 304, 306, 307, 311, 337, 339, 339, 347, 347, 349, 350, 352, 352, 363, 363, 12, 2, 13, 13, 81, 81, 83, 87, 89, 89, 91, 91, 101, 101, 103, 103, 213, 213, 246, 247, 251, 251, 5, 2, 20, 20, 255, 255, 340, 340, 2, 5467, 2, 947, 3, 2, 2, 2, 4, 952, 3, 2, 2, 2, 6, 954, 3, 2, 2, 2, 8, 958, 3, 2, 2, 2, 10, 960, 3, 2, 2, 2, 12, 986, 3, 2, 2, 2, 14, 988, 3, 2, 2, 2, 16, 990, 3, 2, 2, 2, 18, 1004, 3, 2, 2, 2, 20, 1006, 3, 2, 2, 2, 22, 1022, 3, 2, 2, 2, 24, 1031, 3, 2, 2, 2, 26, 1039, 3, 2, 2, 2, 28, 1052, 3, 2, 2, 2, 30, 1075, 3, 2, 2, 2, 32, 1090, 3, 2, 2, 2, 34, 1094, 3, 2, 2, 2, 36, 1102, 3, 2, 2, 2, 38, 1158, 3, 2, 2, 2, 40, 1160, 3, 2, 2, 2, 42, 1163, 3, 2, 2, 2, 44, 1165, 3, 2, 2, 2, 46, 1169, 3, 2, 2, 2, 48, 1172, 3, 2, 2, 2, 50, 1175, 3, 2, 2, 2, 52, 1179, 3, 2, 2, 2, 54, 1182, 3, 2, 2, 2, 56, 1185, 3, 2, 2, 2, 58, 1207, 3, 2, 2, 2, 60, 1209, 3, 2, 2, 2, 62, 1213, 3, 2, 2, 2, 64, 1221, 3, 2, 2, 2, 66, 1225, 3, 2, 2, 2, 68, 1228, 3, 2, 2, 2, 70, 1237, 3, 2, 2, 2, 72, 1240, 3, 2, 2, 2, 74, 1309, 3, 2, 2, 2, 76, 1319, 3, 2, 2, 2, 78, 1331, 3, 2, 2, 2, 80, 1334, 3, 2, 2, 2, 82, 1338, 3, 2, 2, 2, 84, 1387, 3, 2, 2, 2, 86, 1406, 3, 2, 2, 2, 88, 1423, 3, 2, 2, 2, 90, 1425, 3, 2, 2, 2, 92, 1436, 3, 2, 2, 2, 94, 1440, 3, 2, 2, 2, 96, 1445, 3, 2, 2, 2, 98, 1447, 3, 2, 2, 2, 100, 1452, 3, 2, 2, 2, 102, 1457, 3, 2, 2, 2, 104, 1462, 3, 2, 2, 2, 106, 1466, 3, 2, 2, 2, 108, 1474, 3, 2, 2, 2, 110, 1479, 3, 2, 2, 2, 112, 1484, 3, 2, 2, 2, 114, 1488, 3, 2, 2, 2, 116, 1508, 3, 2, 2, 2, 118, 1521, 3, 2, 2, 2, 120, 1529, 3, 2, 2, 2, 122, 1531, 3, 2, 2, 2, 124, 1540, 3, 2, 2, 2, 126, 1544, 3, 2, 2, 2, 128, 1551, 3, 2, 2, 2, 130, 1558, 3, 2, 2, 2, 132, 1565, 3, 2, 2, 2, 134, 1568, 3, 2, 2, 2, 136, 1595, 3, 2, 2, 2, 138, 1606, 3, 2, 2, 2, 140, 1610, 3, 2, 2, 2, 142, 1612, 3, 2, 2, 2, 144, 1625, 3, 2, 2, 2, 146, 1627, 3, 2, 2, 2, 148, 1635, 3, 2, 2, 2, 150, 1644, 3, 2, 2, 2, 152, 1650, 3, 2, 2, 2, 154, 1652, 3, 2, 2, 2, 156, 1657, 3, 2, 2, 2, 158, 1661, 3, 2, 2, 2, 160, 1669, 3, 2, 2, 2, 162, 1673, 3, 2, 2, 2, 164, 1682, 3, 2, 2, 2, 166, 1684, 3, 2, 2, 2, 168, 1690, 3, 2, 2, 2, 170, 1694, 3, 2, 2, 2, 172, 1707, 3, 2, 2, 2, 174, 1709, 3, 2, 2, 2, 176, 1713, 3, 2, 2, 2, 178, 1749, 3, 2, 2, 2, 180, 1759, 3, 2, 2, 2, 182, 1765, 3, 2, 2, 2, 184, 1774, 3, 2, 2, 2, 186, 1783, 3, 2, 2, 2, 188, 1787, 3, 2, 2, 2, 190, 1795, 3, 2, 2, 2, 192, 1799, 3, 2, 2, 2, 194, 1802, 3, 2, 2, 2, 196, 1808, 3, 2, 2, 2, 198, 1817, 3, 2, 2, 2, 200, 1821, 3, 2, 2, 2, 202, 1824, 3, 2, 2, 2, 204, 1835, 3, 2, 2, 2, 206, 1852, 3, 2, 2, 2, 208, 1854, 3, 2, 2, 2, 210, 1859, 3, 2, 2, 2, 212, 1879, 3, 2, 2, 2, 214, 1883, 3, 2, 2, 2, 216, 1890, 3, 2, 2, 2, 218, 1906, 3, 2, 2, 2, 220, 2046, 3, 2, 2, 2, 222, 2048, 3, 2, 2, 2, 224, 2056, 3, 2, 2, 2, 226, 2061, 3, 2, 2, 2, 228, 2063, 3, 2, 2, 2, 230, 2069, 3, 2, 2, 2, 232, 2073, 3, 2, 2, 2, 234, 2077, 3, 2, 2, 2, 236, 2081, 3, 2, 2, 2, 238, 2091, 3, 2, 2, 2, 240, 2102, 3, 2, 2, 2, 242, 2119, 3, 2, 2, 2, 244, 2137, 3, 2, 2, 2, 246, 2142, 3, 2, 2, 2, 248, 2145, 3, 2, 2, 2, 250, 2149, 3, 2, 2, 2, 252, 2156, 3, 2, 2, 2, 254, 2165, 3, 2, 2, 2, 256, 2171, 3, 2, 2, 2, 258, 2173, 3, 2, 2, 2, 260, 2189, 3, 2, 2, 2, 262, 2210, 3, 2, 2, 2, 264, 2212, 3, 2, 2, 2, 266, 2220, 3, 2, 2, 2, 268, 2227, 3, 2, 2, 2, 270, 2229, 3, 2, 2, 2, 272, 2243, 3, 2, 2, 2, 274, 2245, 3, 2, 2, 2, 276, 2249, 3, 2, 2, 2, 278, 2253, 3, 2, 2, 2, 280, 2257, 3, 2, 2, 2, 282, 2261, 3, 2, 2, 2, 284, 2276, 3, 2, 2, 2, 286, 2284, 3, 2, 2, 2, 288, 2287, 3, 2, 2, 2, 290, 2289, 3, 2, 2, 2, 292, 2301, 3, 2, 2, 2, 294, 2311, 3, 2, 2, 2, 296, 2314, 3, 2, 2, 2, 298, 2325, 3, 2, 2, 2, 300, 2333, 3, 2, 2, 2, 302, 2360, 3, 2, 2, 2, 304, 2399, 3, 2, 2, 2, 306, 2420, 3, 2, 2, 2, 308, 2424, 3, 2, 2, 2, 310, 2427, 3, 2, 2, 2, 312, 2446, 3, 2, 2, 2, 314, 2455, 3, 2, 2, 2, 316, 2483, 3, 2, 2, 2, 318, 2485, 3, 2, 2, 2, 320, 2491, 3, 2, 2, 2, 322, 2498, 3, 2, 2, 2, 324, 2508, 3, 2, 2, 2, 326, 2512, 3, 2, 2, 2, 328, 2514, 3, 2, 2, 2, 330, 2517, 3, 2, 2, 2, 332, 2520, 3, 2, 2, 2, 334, 2522, 3, 2, 2, 2, 336, 2535, 3, 2, 2, 2, 338, 2552, 3, 2, 2, 2, 340, 2566, 3, 2, 2, 2, 342, 2568, 3, 2, 2, 2, 344, 2571, 3, 2, 2, 2, 346, 2574, 3, 2, 2, 2, 348, 2583, 3, 2, 2, 2, 350, 2603, 3, 2, 2, 2, 352, 2605, 3, 2, 2, 2, 354, 2608, 3, 2, 2, 2, 356, 2611, 3, 2, 2, 2, 358, 2631, 3, 2, 2, 2, 360, 2633, 3, 2, 2, 2, 362, 2642, 3, 2, 2, 2, 364, 2653, 3, 2, 2, 2, 366, 2655, 3, 2, 2, 2, 368, 2662, 3, 2, 2, 2, 370, 2666, 3, 2, 2, 2, 372, 2672, 3, 2, 2, 2, 374, 2678, 3, 2, 2, 2, 376, 2683, 3, 2, 2, 2, 378, 2691, 3, 2, 2, 2, 380, 2693, 3, 2, 2, 2, 382, 2701, 3, 2, 2, 2, 384, 2705, 3, 2, 2, 2, 386, 2707, 3, 2, 2, 2, 388, 2717, 3, 2, 2, 2, 390, 2720, 3, 2, 2, 2, 392, 2723, 3, 2, 2, 2, 394, 2726, 3, 2, 2, 2, 396, 2734, 3, 2, 2, 2, 398, 2742, 3, 2, 2, 2, 400, 2750, 3, 2, 2, 2, 402, 2758, 3, 2, 2, 2, 404, 2760, 3, 2, 2, 2, 406, 2773, 3, 2, 2, 2, 408, 2781, 3, 2, 2, 2, 410, 2790, 3, 2, 2, 2, 412, 2792, 3, 2, 2, 2, 414, 2794, 3, 2, 2, 2, 416, 2799, 3, 2, 2, 2, 418, 2805, 3, 2, 2, 2, 420, 2809, 3, 2, 2, 2, 422, 2815, 3, 2, 2, 2, 424, 2825, 3, 2, 2, 2, 426, 2827, 3, 2, 2, 2, 428, 2830, 3, 2, 2, 2, 430, 2833, 3, 2, 2, 2, 432, 2849, 3, 2, 2, 2, 434, 2860, 3, 2, 2, 2, 436, 2873, 3, 2, 2, 2, 438, 2875, 3, 2, 2, 2, 440, 2883, 3, 2, 2, 2, 442, 2887, 3, 2, 2, 2, 444, 2895, 3, 2, 2, 2, 446, 2899, 3, 2, 2, 2, 448, 2901, 3, 2, 2, 2, 450, 2907, 3, 2, 2, 2, 452, 2909, 3, 2, 2, 2, 454, 2916, 3, 2, 2, 2, 456, 2924, 3, 2, 2, 2, 458, 2929, 3, 2, 2, 2, 460, 2936, 3, 2, 2, 2, 462, 2944, 3, 2, 2, 2, 464, 2948, 3, 2, 2, 2, 466, 2950, 3, 2, 2, 2, 468, 2958, 3, 2, 2, 2, 470, 2963, 3, 2, 2, 2, 472, 2972, 3, 2, 2, 2, 474, 2983, 3, 2, 2, 2, 476, 2988, 3, 2, 2, 2, 478, 2992, 3, 2, 2, 2, 480, 2996, 3, 2, 2, 2, 482, 3002, 3, 2, 2, 2, 484, 3006, 3, 2, 2, 2, 486, 3018, 3, 2, 2, 2, 488, 3032, 3, 2, 2, 2, 490, 3036, 3, 2, 2, 2, 492, 3048, 3, 2, 2, 2, 494, 3065, 3, 2, 2, 2, 496, 3071, 3, 2, 2, 2, 498, 3076, 3, 2, 2, 2, 500, 3079, 3, 2, 2, 2, 502, 3084, 3, 2, 2, 2, 504, 3088, 3, 2, 2, 2, 506, 3095, 3, 2, 2, 2, 508, 3097, 3, 2, 2, 2, 510, 3110, 3, 2, 2, 2, 512, 3153, 3, 2, 2, 2, 514, 3155, 3, 2, 2, 2, 516, 3160, 3, 2, 2, 2, 518, 3165, 3, 2, 2, 2, 520, 3172, 3, 2, 2, 2, 522, 3201, 3, 2, 2, 2, 524, 3204, 3, 2, 2, 2, 526, 3210, 3, 2, 2, 2, 528, 3212, 3, 2, 2, 2, 530, 3221, 3, 2, 2, 2, 532, 3227, 3, 2, 2, 2, 534, 3236, 3, 2, 2, 2, 536, 3248, 3, 2, 2, 2, 538, 3270, 3, 2, 2, 2, 540, 3272, 3, 2, 2, 2, 542, 3294, 3, 2, 2, 2, 544, 3299, 3, 2, 2, 2, 546, 3366, 3, 2, 2, 2, 548, 3386, 3, 2, 2, 2, 550, 3401, 3, 2, 2, 2, 552, 3413, 3, 2, 2, 2, 554, 3415, 3, 2, 2, 2, 556, 3421, 3, 2, 2, 2, 558, 3425, 3, 2, 2, 2, 560, 3434, 3, 2, 2, 2, 562, 3444, 3, 2, 2, 2, 564, 3446, 3, 2, 2, 2, 566, 3460, 3, 2, 2, 2, 568, 3466, 3, 2, 2, 2, 570, 3468, 3, 2, 2, 2, 572, 3472, 3, 2, 2, 2, 574, 3474, 3, 2, 2, 2, 576, 3478, 3, 2, 2, 2, 578, 3482, 3, 2, 2, 2, 580, 3486, 3, 2, 2, 2, 582, 3493, 3, 2, 2, 2, 584, 3512, 3, 2, 2, 2, 586, 3518, 3, 2, 2, 2, 588, 3530, 3, 2, 2, 2, 590, 3537, 3, 2, 2, 2, 592, 3545, 3, 2, 2, 2, 594, 3547, 3, 2, 2, 2, 596, 3567, 3, 2, 2, 2, 598, 3569, 3, 2, 2, 2, 600, 3577, 3, 2, 2, 2, 602, 3633, 3, 2, 2, 2, 604, 3639, 3, 2, 2, 2, 606, 3676, 3, 2, 2, 2, 608, 3678, 3, 2, 2, 2, 610, 3686, 3, 2, 2, 2, 612, 3691, 3, 2, 2, 2, 614, 3700, 3, 2, 2, 2, 616, 3716, 3, 2, 2, 2, 618, 3720, 3, 2, 2, 2, 620, 3730, 3, 2, 2, 2, 622, 3740, 3, 2, 2, 2, 624, 3748, 3, 2, 2, 2, 626, 3756, 3, 2, 2, 2, 628, 3763, 3, 2, 2, 2, 630, 3765, 3, 2, 2, 2, 632, 3767, 3, 2, 2, 2, 634, 3775, 3, 2, 2, 2, 636, 3783, 3, 2, 2, 2, 638, 3797, 3, 2, 2, 2, 640, 3831, 3, 2, 2, 2, 642, 3833, 3, 2, 2, 2, 644, 3860, 3, 2, 2, 2, 646, 3866, 3, 2, 2, 2, 648, 3875, 3, 2, 2, 2, 650, 3880, 3, 2, 2, 2, 652, 3884, 3, 2, 2, 2, 654, 3910, 3, 2, 2, 2, 656, 3971, 3, 2, 2, 2, 658, 3973, 3, 2, 2, 2, 660, 3975, 3, 2, 2, 2, 662, 4004, 3, 2, 2, 2, 664, 4008, 3, 2, 2, 2, 666, 4010, 3, 2, 2, 2, 668, 4023, 3, 2, 2, 2, 670, 4033, 3, 2, 2, 2, 672, 4044, 3, 2, 2, 2, 674, 4048, 3, 2, 2, 2, 676, 4068, 3, 2, 2, 2, 678, 4073, 3, 2, 2, 2, 680, 4075, 3, 2, 2, 2, 682, 4103, 3, 2, 2, 2, 684, 4106, 3, 2, 2, 2, 686, 4108, 3, 2, 2, 2, 688, 4111, 3, 2, 2, 2, 690, 4119, 3, 2, 2, 2, 692, 4121, 3, 2, 2, 2, 694, 4142, 3, 2, 2, 2, 696, 4154, 3, 2, 2, 2, 698, 4161, 3, 2, 2, 2, 700, 4172, 3, 2, 2, 2, 702, 4174, 3, 2, 2, 2, 704, 4181, 3, 2, 2, 2, 706, 4188, 3, 2, 2, 2, 708, 4190, 3, 2, 2, 2, 710, 4193, 3, 2, 2, 2, 712, 4205, 3, 2, 2, 2, 714, 4229, 3, 2, 2, 2, 716, 4231, 3, 2, 2, 2, 718, 4244, 3, 2, 2, 2, 720, 4246, 3, 2, 2, 2, 722, 4249, 3, 2, 2, 2, 724, 4251, 3, 2, 2, 2, 726, 4255, 3, 2, 2, 2, 728, 4261, 3, 2, 2, 2, 730, 4267, 3, 2, 2, 2, 732, 4269, 3, 2, 2, 2, 734, 4280, 3, 2, 2, 2, 736, 4288, 3, 2, 2, 2, 738, 4298, 3, 2, 2, 2, 740, 4308, 3, 2, 2, 2, 742, 4312, 3, 2, 2, 2, 744, 4316, 3, 2, 2, 2, 746, 4322, 3, 2, 2, 2, 748, 4347, 3, 2, 2, 2, 750, 4349, 3, 2, 2, 2, 752, 4359, 3, 2, 2, 2, 754, 4376, 3, 2, 2, 2, 756, 4392, 3, 2, 2, 2, 758, 4401, 3, 2, 2, 2, 760, 4403, 3, 2, 2, 2, 762, 4410, 3, 2, 2, 2, 764, 4424, 3, 2, 2, 2, 766, 4426, 3, 2, 2, 2, 768, 4432, 3, 2, 2, 2, 770, 4438, 3, 2, 2, 2, 772, 4447, 3, 2, 2, 2, 774, 4449, 3, 2, 2, 2, 776, 4452, 3, 2, 2, 2, 778, 4454, 3, 2, 2, 2, 780, 4472, 3, 2, 2, 2, 782, 4486, 3, 2, 2, 2, 784, 4499, 3, 2, 2, 2, 786, 4501, 3, 2, 2, 2, 788, 4512, 3, 2, 2, 2, 790, 4514, 3, 2, 2, 2, 792, 4516, 3, 2, 2, 2, 794, 4518, 3, 2, 2, 2, 796, 4520, 3, 2, 2, 2, 798, 4522, 3, 2, 2, 2, 800, 4524, 3, 2, 2, 2, 802, 4526, 3, 2, 2, 2, 804, 4533, 3, 2, 2, 2, 806, 4535, 3, 2, 2, 2, 808, 4546, 3, 2, 2, 2, 810, 4548, 3, 2, 2, 2, 812, 4550, 3, 2, 2, 2, 814, 4552, 3, 2, 2, 2, 816, 4579, 3, 2, 2, 2, 818, 4630, 3, 2, 2, 2, 820, 4640, 3, 2, 2, 2, 822, 4655, 3, 2, 2, 2, 824, 4659, 3, 2, 2, 2, 826, 4665, 3, 2, 2, 2, 828, 4667, 3, 2, 2, 2, 830, 4669, 3, 2, 2, 2, 832, 4671, 3, 2, 2, 2, 834, 4675, 3, 2, 2, 2, 836, 4687, 3, 2, 2, 2, 838, 4692, 3, 2, 2, 2, 840, 4704, 3, 2, 2, 2, 842, 4708, 3, 2, 2, 2, 844, 4710, 3, 2, 2, 2, 846, 4715, 3, 2, 2, 2, 848, 4725, 3, 2, 2, 2, 850, 4742, 3, 2, 2, 2, 852, 4746, 3, 2, 2, 2, 854, 4748, 3, 2, 2, 2, 856, 4750, 3, 2, 2, 2, 858, 4754, 3, 2, 2, 2, 860, 4770, 3, 2, 2, 2, 862, 4779, 3, 2, 2, 2, 864, 4781, 3, 2, 2, 2, 866, 4792, 3, 2, 2, 2, 868, 4794, 3, 2, 2, 2, 870, 4802, 3, 2, 2, 2, 872, 4809, 3, 2, 2, 2, 874, 4813, 3, 2, 2, 2, 876, 4818, 3, 2, 2, 2, 878, 4821, 3, 2, 2, 2, 880, 4825, 3, 2, 2, 2, 882, 4827, 3, 2, 2, 2, 884, 4829, 3, 2, 2, 2, 886, 4831, 3, 2, 2, 2, 888, 4854, 3, 2, 2, 2, 890, 4860, 3, 2, 2, 2, 892, 4865, 3, 2, 2, 2, 894, 4879, 3, 2, 2, 2, 896, 4884, 3, 2, 2, 2, 898, 4892, 3, 2, 2, 2, 900, 4894, 3, 2, 2, 2, 902, 4897, 3, 2, 2, 2, 904, 4905, 3, 2, 2, 2, 906, 4913, 3, 2, 2, 2, 908, 4917, 3, 2, 2, 2, 910, 4919, 3, 2, 2, 2, 912, 4925, 3, 2, 2, 2, 914, 4927, 3, 2, 2, 2, 916, 4930, 3, 2, 2, 2, 918, 4937, 3, 2, 2, 2, 920, 4959, 3, 2, 2, 2, 922, 4964, 3, 2, 2, 2, 924, 4982, 3, 2, 2, 2, 926, 4984, 3, 2, 2, 2, 928, 4992, 3, 2, 2, 2, 930, 5000, 3, 2, 2, 2, 932, 5017, 3, 2, 2, 2, 934, 5023, 3, 2, 2, 2, 936, 5039, 3, 2, 2, 2, 938, 5055, 3, 2, 2, 2, 940, 942, 5, 8, 5, 2, 941, 943, 5, 4, 3, 2, 942, 941, 3, 2, 2, 2, 942, 943, 3, 2, 2, 2, 943, 946, 3, 2, 2, 2, 944, 946, 5, 6, 4, 2, 945, 940, 3, 2, 2, 2, 945, 944, 3, 2, 2, 2, 946, 949, 3, 2, 2, 2, 947, 945, 3, 2, 2, 2, 947, 948, 3, 2, 2, 2, 948, 950, 3, 2, 2, 2, 949, 947, 3, 2, 2, 2, 950, 951, 7, 2, 2, 3, 951, 3, 3, 2, 2, 2, 952, 953, 7, 372, 2, 2, 953, 5, 3, 2, 2, 2, 954, 955, 5, 4, 3, 2, 955, 7, 3, 2, 2, 2, 956, 959, 5, 10, 6, 2, 957, 959, 5, 18, 10, 2, 958, 956, 3, 2, 2, 2, 958, 957, 3, 2, 2, 2, 959, 9, 3, 2, 2, 2, 960, 970, 7, 150, 2, 2, 961, 963, 5, 12, 7, 2, 962, 961, 3, 2, 2, 2, 963, 966, 3, 2, 2, 2, 964, 962, 3, 2, 2, 2, 964, 965, 3, 2, 2, 2, 965, 967, 3, 2, 2, 2, 966, 964, 3, 2, 2, 2, 967, 971, 5, 18, 10, 2, 968, 969, 7, 268, 2, 2, 969, 971, 5, 524, 263, 2, 970, 964, 3, 2, 2, 2, 970, 968, 3, 2, 2, 2, 971, 11, 3, 2, 2, 2, 972, 987, 7, 151, 2, 2, 973, 987, 7, 152, 2, 2, 974, 987, 7, 153, 2, 2, 975, 987, 7, 154, 2, 2, 976, 987, 7, 269, 2, 2, 977, 987, 7, 209, 2, 2, 978, 987, 7, 270, 2, 2, 979, 981, 7, 315, 2, 2, 980, 982, 5, 14, 8, 2, 981, 980, 3, 2, 2, 2, 981, 982, 3, 2, 2, 2, 982, 984, 3, 2, 2, 2, 983, 985, 5, 16, 9, 2, 984, 983, 3, 2, 2, 2, 984, 985, 3, 2, 2, 2, 985, 987, 3, 2, 2, 2, 986, 972, 3, 2, 2, 2, 986, 973, 3, 2, 2, 2, 986, 974, 3, 2, 2, 2, 986, 975, 3, 2, 2, 2, 986, 976, 3, 2, 2, 2, 986, 977, 3, 2, 2, 2, 986, 978, 3, 2, 2, 2, 986, 979, 3, 2, 2, 2, 987, 13, 3, 2, 2, 2, 988, 989, 7, 289, 2, 2, 989, 15, 3, 2, 2, 2, 990, 991, 9, 2, 2, 2, 991, 17, 3, 2, 2, 2, 992, 1005, 5, 524, 263, 2, 993, 1005, 5, 20, 11, 2, 994, 1005, 5, 24, 13, 2, 995, 1005, 5, 26, 14, 2, 996, 1005, 5, 28, 15, 2, 997, 1005, 5, 30, 16, 2, 998, 1005, 5, 36, 19, 2, 999, 1005, 5, 38, 20, 2, 1000, 1005, 5, 554, 278, 2, 1001, 1005, 5, 560, 281, 2, 1002, 1005, 5, 562, 282, 2, 1003, 1005, 5, 582, 292, 2, 1004, 992, 3, 2, 2, 2, 1004, 993, 3, 2, 2, 2, 1004, 994, 3, 2, 2, 2, 1004, 995, 3, 2, 2, 2, 1004, 996, 3, 2, 2, 2, 1004, 997, 3, 2, 2, 2, 1004, 998, 3, 2, 2, 2, 1004, 999, 3, 2, 2, 2, 1004, 1000, 3, 2, 2, 2, 1004, 1001, 3, 2, 2, 2, 1004, 1002, 3, 2, 2, 2, 1004, 1003, 3, 2, 2, 2, 1005, 19, 3, 2, 2, 2, 1006, 1007, 7, 60, 2, 2, 1007, 1009, 7, 65, 2, 2, 1008, 1010, 7, 52, 2, 2, 1009, 1008, 3, 2, 2, 2, 1009, 1010, 3, 2, 2, 2, 1010, 1011, 3, 2, 2, 2, 1011, 1012, 7, 66, 2, 2, 1012, 1014, 7, 400, 2, 2, 1013, 1015, 7, 29, 2, 2, 1014, 1013, 3, 2, 2, 2, 1014, 1015, 3, 2, 2, 2, 1015, 1016, 3, 2, 2, 2, 1016, 1017, 7, 111, 2, 2, 1017, 1018, 7, 40, 2, 2, 1018, 1020, 5, 832, 417, 2, 1019, 1021, 5, 208, 105, 2, 1020, 1019, 3, 2, 2, 2, 1020, 1021, 3, 2, 2, 2, 1021, 21, 3, 2, 2, 2, 1022, 1024, 7, 240, 2, 2, 1023, 1025, 7, 64, 2, 2, 1024, 1023, 3, 2, 2, 2, 1024, 1025, 3, 2, 2, 2, 1025, 1026, 3, 2, 2, 2, 1026, 1027, 7, 63, 2, 2, 1027, 1028, 7, 373, 2, 2, 1028, 1029, 7, 400, 2, 2, 1029, 1030, 7, 374, 2, 2, 1030, 23, 3, 2, 2, 2, 1031, 1032, 7, 61, 2, 2, 1032, 1033, 7, 40, 2, 2, 1033, 1034, 5, 832, 417, 2, 1034, 1035, 7, 79, 2, 2, 1035, 1037, 7, 400, 2, 2, 1036, 1038, 5, 22, 12, 2, 1037, 1036, 3, 2, 2, 2, 1037, 1038, 3, 2, 2, 2, 1038, 25, 3, 2, 2, 2, 1039, 1045, 7, 62, 2, 2, 1040, 1042, 7, 70, 2, 2, 1041, 1040, 3, 2, 2, 2, 1041, 1042, 3, 2, 2, 2, 1042, 1043, 3, 2, 2, 2, 1043, 1044, 7, 40, 2, 2, 1044, 1046, 5, 832, 417, 2, 1045, 1041, 3, 2, 2, 2, 1045, 1046, 3, 2, 2, 2, 1046, 1047, 3, 2, 2, 2, 1047, 1048, 7, 24, 2, 2, 1048, 1050, 7, 400, 2, 2, 1049, 1051, 5, 392, 197, 2, 1050, 1049, 3, 2, 2, 2, 1050, 1051, 3, 2, 2, 2, 1051, 27, 3, 2, 2, 2, 1052, 1053, 7, 312, 2, 2, 1053, 1054, 7, 313, 2, 2, 1054, 1057, 5, 848, 425, 2, 1055, 1056, 7, 369, 2, 2, 1056, 1058, 5, 848, 425, 2, 1057, 1055, 3, 2, 2, 2, 1057, 1058, 3, 2, 2, 2, 1058, 1069, 3, 2, 2, 2, 1059, 1060, 7, 24, 2, 2, 1060, 1063, 7, 405, 2, 2, 1061, 1062, 7, 79, 2, 2, 1062, 1064, 7, 405, 2, 2, 1063, 1061, 3, 2, 2, 2, 1063, 1064, 3, 2, 2, 2, 1064, 1067, 3, 2, 2, 2, 1065, 1066, 7, 160, 2, 2, 1066, 1068, 7, 405, 2, 2, 1067, 1065, 3, 2, 2, 2, 1067, 1068, 3, 2, 2, 2, 1068, 1070, 3, 2, 2, 2, 1069, 1059, 3, 2, 2, 2, 1069, 1070, 3, 2, 2, 2, 1070, 1073, 3, 2, 2, 2, 1071, 1072, 7, 156, 2, 2, 1072, 1074, 5, 32, 17, 2, 1073, 1071, 3, 2, 2, 2, 1073, 1074, 3, 2, 2, 2, 1074, 29, 3, 2, 2, 2, 1075, 1076, 7, 312, 2, 2, 1076, 1082, 7, 60, 2, 2, 1077, 1080, 5, 848, 425, 2, 1078, 1079, 7, 369, 2, 2, 1079, 1081, 5, 848, 425, 2, 1080, 1078, 3, 2, 2, 2, 1080, 1081, 3, 2, 2, 2, 1081, 1083, 3, 2, 2, 2, 1082, 1077, 3, 2, 2, 2, 1082, 1083, 3, 2, 2, 2, 1083, 1084, 3, 2, 2, 2, 1084, 1085, 7, 24, 2, 2, 1085, 1088, 7, 400, 2, 2, 1086, 1087, 7, 156, 2, 2, 1087, 1089, 5, 32, 17, 2, 1088, 1086, 3, 2, 2, 2, 1088, 1089, 3, 2, 2, 2, 1089, 31, 3, 2, 2, 2, 1090, 1091, 7, 373, 2, 2, 1091, 1092, 5, 34, 18, 2, 1092, 1093, 7, 374, 2, 2, 1093, 33, 3, 2, 2, 2, 1094, 1099, 5, 360, 181, 2, 1095, 1096, 7, 371, 2, 2, 1096, 1098, 5, 360, 181, 2, 1097, 1095, 3, 2, 2, 2, 1098, 1101, 3, 2, 2, 2, 1099, 1097, 3, 2, 2, 2, 1099, 1100, 3, 2, 2, 2, 1100, 35, 3, 2, 2, 2, 1101, 1099, 3, 2, 2, 2, 1102, 1103, 7, 312, 2, 2, 1103, 1104, 7, 314, 2, 2, 1104, 1107, 5, 848, 425, 2, 1105, 1106, 7, 369, 2, 2, 1106, 1108, 5, 848, 425, 2, 1107, 1105, 3, 2, 2, 2, 1107, 1108, 3, 2, 2, 2, 1108, 1111, 3, 2, 2, 2, 1109, 1110, 7, 156, 2, 2, 1110, 1112, 5, 32, 17, 2, 1111, 1109, 3, 2, 2, 2, 1111, 1112, 3, 2, 2, 2, 1112, 37, 3, 2, 2, 2, 1113, 1159, 5, 64, 33, 2, 1114, 1159, 5, 56, 29, 2, 1115, 1159, 5, 66, 34, 2, 1116, 1159, 5, 68, 35, 2, 1117, 1159, 5, 72, 37, 2, 1118, 1159, 5, 76, 39, 2, 1119, 1159, 5, 74, 38, 2, 1120, 1159, 5, 82, 42, 2, 1121, 1159, 5, 84, 43, 2, 1122, 1159, 5, 216, 109, 2, 1123, 1159, 5, 220, 111, 2, 1124, 1159, 5, 282, 142, 2, 1125, 1159, 5, 300, 151, 2, 1126, 1159, 5, 302, 152, 2, 1127, 1159, 5, 320, 161, 2, 1128, 1159, 5, 322, 162, 2, 1129, 1159, 5, 290, 146, 2, 1130, 1159, 5, 296, 149, 2, 1131, 1159, 5, 292, 147, 2, 1132, 1159, 5, 294, 148, 2, 1133, 1159, 5, 298, 150, 2, 1134, 1159, 5, 218, 110, 2, 1135, 1159, 5, 222, 112, 2, 1136, 1159, 5, 228, 115, 2, 1137, 1159, 5, 224, 113, 2, 1138, 1159, 5, 230, 116, 2, 1139, 1159, 5, 232, 117, 2, 1140, 1159, 5, 234, 118, 2, 1141, 1159, 5, 236, 119, 2, 1142, 1159, 5, 238, 120, 2, 1143, 1159, 5, 252, 127, 2, 1144, 1159, 5, 244, 123, 2, 1145, 1159, 5, 254, 128, 2, 1146, 1159, 5, 246, 124, 2, 1147, 1159, 5, 240, 121, 2, 1148, 1159, 5, 242, 122, 2, 1149, 1159, 5, 250, 126, 2, 1150, 1159, 5, 248, 125, 2, 1151, 1159, 5, 580, 291, 2, 1152, 1159, 5, 594, 298, 2, 1153, 1159, 5, 860, 431, 2, 1154, 1159, 5, 176, 89, 2, 1155, 1159, 5, 180, 91, 2, 1156, 1159, 5, 182, 92, 2, 1157, 1159, 5, 194, 98, 2, 1158, 1113, 3, 2, 2, 2, 1158, 1114, 3, 2, 2, 2, 1158, 1115, 3, 2, 2, 2, 1158, 1116, 3, 2, 2, 2, 1158, 1117, 3, 2, 2, 2, 1158, 1118, 3, 2, 2, 2, 1158, 1119, 3, 2, 2, 2, 1158, 1120, 3, 2, 2, 2, 1158, 1121, 3, 2, 2, 2, 1158, 1122, 3, 2, 2, 2, 1158, 1123, 3, 2, 2, 2, 1158, 1124, 3, 2, 2, 2, 1158, 1125, 3, 2, 2, 2, 1158, 1126, 3, 2, 2, 2, 1158, 1127, 3, 2, 2, 2, 1158, 1128, 3, 2, 2, 2, 1158, 1129, 3, 2, 2, 2, 1158, 1130, 3, 2, 2, 2, 1158, 1131, 3, 2, 2, 2, 1158, 1132, 3, 2, 2, 2, 1158, 1133, 3, 2, 2, 2, 1158, 1134, 3, 2, 2, 2, 1158, 1135, 3, 2, 2, 2, 1158, 1136, 3, 2, 2, 2, 1158, 1137, 3, 2, 2, 2, 1158, 1138, 3, 2, 2, 2, 1158, 1139, 3, 2, 2, 2, 1158, 1140, 3, 2, 2, 2, 1158, 1141, 3, 2, 2, 2, 1158, 1142, 3, 2, 2, 2, 1158, 1143, 3, 2, 2, 2, 1158, 1144, 3, 2, 2, 2, 1158, 1145, 3, 2, 2, 2, 1158, 1146, 3, 2, 2, 2, 1158, 1147, 3, 2, 2, 2, 1158, 1148, 3, 2, 2, 2, 1158, 1149, 3, 2, 2, 2, 1158, 1150, 3, 2, 2, 2, 1158, 1151, 3, 2, 2, 2, 1158, 1152, 3, 2, 2, 2, 1158, 1153, 3, 2, 2, 2, 1158, 1154, 3, 2, 2, 2, 1158, 1155, 3, 2, 2, 2, 1158, 1156, 3, 2, 2, 2, 1158, 1157, 3, 2, 2, 2, 1159, 39, 3, 2, 2, 2, 1160, 1161, 7, 13, 2, 2, 1161, 1162, 7, 14, 2, 2, 1162, 41, 3, 2, 2, 2, 1163, 1164, 9, 3, 2, 2, 1164, 43, 3, 2, 2, 2, 1165, 1166, 7, 13, 2, 2, 1166, 1167, 7, 10, 2, 2, 1167, 1168, 7, 14, 2, 2, 1168, 45, 3, 2, 2, 2, 1169, 1170, 7, 132, 2, 2, 1170, 1171, 7, 268, 2, 2, 1171, 47, 3, 2, 2, 2, 1172, 1173, 7, 133, 2, 2, 1173, 1174, 7, 268, 2, 2, 1174, 49, 3, 2, 2, 2, 1175, 1176, 7, 126, 2, 2, 1176, 1177, 7, 25, 2, 2, 1177, 1178, 7, 239, 2, 2, 1178, 51, 3, 2, 2, 2, 1179, 1180, 7, 9, 2, 2, 1180, 1181, 7, 142, 2, 2, 1181, 53, 3, 2, 2, 2, 1182, 1183, 7, 9, 2, 2, 1183, 1184, 7, 358, 2, 2, 1184, 55, 3, 2, 2, 2, 1185, 1186, 7, 69, 2, 2, 1186, 1188, 9, 4, 2, 2, 1187, 1189, 5, 44, 23, 2, 1188, 1187, 3, 2, 2, 2, 1188, 1189, 3, 2, 2, 2, 1189, 1190, 3, 2, 2, 2, 1190, 1192, 5, 848, 425, 2, 1191, 1193, 5, 70, 36, 2, 1192, 1191, 3, 2, 2, 2, 1192, 1193, 3, 2, 2, 2, 1193, 1195, 3, 2, 2, 2, 1194, 1196, 5, 58, 30, 2, 1195, 1194, 3, 2, 2, 2, 1195, 1196, 3, 2, 2, 2, 1196, 1200, 3, 2, 2, 2, 1197, 1198, 7, 156, 2, 2, 1198, 1199, 7, 159, 2, 2, 1199, 1201, 5, 60, 31, 2, 1200, 1197, 3, 2, 2, 2, 1200, 1201, 3, 2, 2, 2, 1201, 57, 3, 2, 2, 2, 1202, 1203, 7, 338, 2, 2, 1203, 1204, 7, 134, 2, 2, 1204, 1208, 7, 400, 2, 2, 1205, 1206, 7, 134, 2, 2, 1206, 1208, 7, 400, 2, 2, 1207, 1202, 3, 2, 2, 2, 1207, 1205, 3, 2, 2, 2, 1208, 59, 3, 2, 2, 2, 1209, 1210, 7, 373, 2, 2, 1210, 1211, 5, 62, 32, 2, 1211, 1212, 7, 374, 2, 2, 1212, 61, 3, 2, 2, 2, 1213, 1218, 5, 360, 181, 2, 1214, 1215, 7, 371, 2, 2, 1215, 1217, 5, 360, 181, 2, 1216, 1214, 3, 2, 2, 2, 1217, 1220, 3, 2, 2, 2, 1218, 1216, 3, 2, 2, 2, 1218, 1219, 3, 2, 2, 2, 1219, 63, 3, 2, 2, 2, 1220, 1218, 3, 2, 2, 2, 1221, 1222, 7, 227, 2, 2, 1222, 1223, 7, 231, 2, 2, 1223, 1224, 5, 848, 425, 2, 1224, 65, 3, 2, 2, 2, 1225, 1226, 7, 227, 2, 2, 1226, 1227, 5, 848, 425, 2, 1227, 67, 3, 2, 2, 2, 1228, 1229, 7, 77, 2, 2, 1229, 1231, 9, 4, 2, 2, 1230, 1232, 5, 40, 21, 2, 1231, 1230, 3, 2, 2, 2, 1231, 1232, 3, 2, 2, 2, 1232, 1233, 3, 2, 2, 2, 1233, 1235, 5, 848, 425, 2, 1234, 1236, 5, 42, 22, 2, 1235, 1234, 3, 2, 2, 2, 1235, 1236, 3, 2, 2, 2, 1236, 69, 3, 2, 2, 2, 1237, 1238, 7, 80, 2, 2, 1238, 1239, 7, 400, 2, 2, 1239, 71, 3, 2, 2, 2, 1240, 1242, 7, 69, 2, 2, 1241, 1243, 5, 54, 28, 2, 1242, 1241, 3, 2, 2, 2, 1242, 1243, 3, 2, 2, 2, 1243, 1245, 3, 2, 2, 2, 1244, 1246, 7, 145, 2, 2, 1245, 1244, 3, 2, 2, 2, 1245, 1246, 3, 2, 2, 2, 1246, 1248, 3, 2, 2, 2, 1247, 1249, 7, 70, 2, 2, 1248, 1247, 3, 2, 2, 2, 1248, 1249, 3, 2, 2, 2, 1249, 1251, 3, 2, 2, 2, 1250, 1252, 7, 364, 2, 2, 1251, 1250, 3, 2, 2, 2, 1251, 1252, 3, 2, 2, 2, 1252, 1253, 3, 2, 2, 2, 1253, 1255, 7, 40, 2, 2, 1254, 1256, 5, 44, 23, 2, 1255, 1254, 3, 2, 2, 2, 1255, 1256, 3, 2, 2, 2, 1256, 1257, 3, 2, 2, 2, 1257, 1307, 5, 670, 336, 2, 1258, 1259, 7, 11, 2, 2, 1259, 1261, 5, 670, 336, 2, 1260, 1262, 5, 350, 176, 2, 1261, 1260, 3, 2, 2, 2, 1261, 1262, 3, 2, 2, 2, 1262, 1264, 3, 2, 2, 2, 1263, 1265, 5, 378, 190, 2, 1264, 1263, 3, 2, 2, 2, 1264, 1265, 3, 2, 2, 2, 1265, 1267, 3, 2, 2, 2, 1266, 1268, 5, 330, 166, 2, 1267, 1266, 3, 2, 2, 2, 1267, 1268, 3, 2, 2, 2, 1268, 1270, 3, 2, 2, 2, 1269, 1271, 5, 392, 197, 2, 1270, 1269, 3, 2, 2, 2, 1270, 1271, 3, 2, 2, 2, 1271, 1273, 3, 2, 2, 2, 1272, 1274, 5, 354, 178, 2, 1273, 1272, 3, 2, 2, 2, 1273, 1274, 3, 2, 2, 2, 1274, 1276, 3, 2, 2, 2, 1275, 1277, 5, 352, 177, 2, 1276, 1275, 3, 2, 2, 2, 1276, 1277, 3, 2, 2, 2, 1277, 1308, 3, 2, 2, 2, 1278, 1279, 7, 373, 2, 2, 1279, 1280, 5, 396, 199, 2, 1280, 1281, 7, 374, 2, 2, 1281, 1283, 3, 2, 2, 2, 1282, 1278, 3, 2, 2, 2, 1282, 1283, 3, 2, 2, 2, 1283, 1300, 3, 2, 2, 2, 1284, 1299, 5, 330, 166, 2, 1285, 1299, 5, 336, 169, 2, 1286, 1299, 5, 338, 170, 2, 1287, 1299, 5, 350, 176, 2, 1288, 1299, 5, 378, 190, 2, 1289, 1299, 5, 334, 168, 2, 1290, 1299, 5, 392, 197, 2, 1291, 1299, 5, 354, 178, 2, 1292, 1299, 5, 352, 177, 2, 1293, 1299, 5, 328, 165, 2, 1294, 1299, 5, 738, 370, 2, 1295, 1299, 5, 306, 154, 2, 1296, 1299, 5, 310, 156, 2, 1297, 1299, 5, 312, 157, 2, 1298, 1284, 3, 2, 2, 2, 1298, 1285, 3, 2, 2, 2, 1298, 1286, 3, 2, 2, 2, 1298, 1287, 3, 2, 2, 2, 1298, 1288, 3, 2, 2, 2, 1298, 1289, 3, 2, 2, 2, 1298, 1290, 3, 2, 2, 2, 1298, 1291, 3, 2, 2, 2, 1298, 1292, 3, 2, 2, 2, 1298, 1293, 3, 2, 2, 2, 1298, 1294, 3, 2, 2, 2, 1298, 1295, 3, 2, 2, 2, 1298, 1296, 3, 2, 2, 2, 1298, 1297, 3, 2, 2, 2, 1299, 1302, 3, 2, 2, 2, 1300, 1298, 3, 2, 2, 2, 1300, 1301, 3, 2, 2, 2, 1301, 1305, 3, 2, 2, 2, 1302, 1300, 3, 2, 2, 2, 1303, 1304, 7, 25, 2, 2, 1304, 1306, 5, 544, 273, 2, 1305, 1303, 3, 2, 2, 2, 1305, 1306, 3, 2, 2, 2, 1306, 1308, 3, 2, 2, 2, 1307, 1258, 3, 2, 2, 2, 1307, 1282, 3, 2, 2, 2, 1308, 73, 3, 2, 2, 2, 1309, 1310, 7, 253, 2, 2, 1310, 1311, 7, 40, 2, 2, 1311, 1317, 5, 198, 100, 2, 1312, 1313, 7, 43, 2, 2, 1313, 1314, 7, 373, 2, 2, 1314, 1315, 5, 400, 201, 2, 1315, 1316, 7, 374, 2, 2, 1316, 1318, 3, 2, 2, 2, 1317, 1312, 3, 2, 2, 2, 1317, 1318, 3, 2, 2, 2, 1318, 75, 3, 2, 2, 2, 1319, 1320, 7, 77, 2, 2, 1320, 1322, 7, 40, 2, 2, 1321, 1323, 5, 40, 21, 2, 1322, 1321, 3, 2, 2, 2, 1322, 1323, 3, 2, 2, 2, 1323, 1324, 3, 2, 2, 2, 1324, 1326, 5, 670, 336, 2, 1325, 1327, 7, 207, 2, 2, 1326, 1325, 3, 2, 2, 2, 1326, 1327, 3, 2, 2, 2, 1327, 1329, 3, 2, 2, 2, 1328, 1330, 5, 22, 12, 2, 1329, 1328, 3, 2, 2, 2, 1329, 1330, 3, 2, 2, 2, 1330, 77, 3, 2, 2, 2, 1331, 1332, 7, 379, 2, 2, 1332, 1333, 7, 400, 2, 2, 1333, 79, 3, 2, 2, 2, 1334, 1336, 7, 400, 2, 2, 1335, 1337, 5, 78, 40, 2, 1336, 1335, 3, 2, 2, 2, 1336, 1337, 3, 2, 2, 2, 1337, 81, 3, 2, 2, 2, 1338, 1339, 7, 71, 2, 2, 1339, 1340, 9, 5, 2, 2, 1340, 1342, 5, 670, 336, 2, 1341, 1343, 7, 25, 2, 2, 1342, 1341, 3, 2, 2, 2, 1342, 1343, 3, 2, 2, 2, 1343, 1347, 3, 2, 2, 2, 1344, 1345, 7, 71, 2, 2, 1345, 1346, 7, 73, 2, 2, 1346, 1348, 5, 848, 425, 2, 1347, 1344, 3, 2, 2, 2, 1347, 1348, 3, 2, 2, 2, 1348, 1349, 3, 2, 2, 2, 1349, 1350, 7, 162, 2, 2, 1350, 1351, 7, 42, 2, 2, 1351, 1352, 7, 373, 2, 2, 1352, 1357, 5, 80, 41, 2, 1353, 1354, 7, 371, 2, 2, 1354, 1356, 5, 80, 41, 2, 1355, 1353, 3, 2, 2, 2, 1356, 1359, 3, 2, 2, 2, 1357, 1355, 3, 2, 2, 2, 1357, 1358, 3, 2, 2, 2, 1358, 1360, 3, 2, 2, 2, 1359, 1357, 3, 2, 2, 2, 1360, 1361, 7, 374, 2, 2, 1361, 83, 3, 2, 2, 2, 1362, 1363, 7, 71, 2, 2, 1363, 1364, 7, 40, 2, 2, 1364, 1365, 5, 670, 336, 2, 1365, 1366, 5, 86, 44, 2, 1366, 1388, 3, 2, 2, 2, 1367, 1368, 7, 71, 2, 2, 1368, 1369, 7, 185, 2, 2, 1369, 1371, 5, 670, 336, 2, 1370, 1372, 7, 25, 2, 2, 1371, 1370, 3, 2, 2, 2, 1371, 1372, 3, 2, 2, 2, 1372, 1373, 3, 2, 2, 2, 1373, 1374, 5, 92, 47, 2, 1374, 1388, 3, 2, 2, 2, 1375, 1376, 7, 71, 2, 2, 1376, 1377, 7, 190, 2, 2, 1377, 1378, 7, 185, 2, 2, 1378, 1379, 5, 670, 336, 2, 1379, 1380, 5, 94, 48, 2, 1380, 1388, 3, 2, 2, 2, 1381, 1382, 7, 71, 2, 2, 1382, 1383, 9, 4, 2, 2, 1383, 1388, 5, 96, 49, 2, 1384, 1385, 7, 71, 2, 2, 1385, 1386, 7, 44, 2, 2, 1386, 1388, 5, 146, 74, 2, 1387, 1362, 3, 2, 2, 2, 1387, 1367, 3, 2, 2, 2, 1387, 1375, 3, 2, 2, 2, 1387, 1381, 3, 2, 2, 2, 1387, 1384, 3, 2, 2, 2, 1388, 85, 3, 2, 2, 2, 1389, 1407, 5, 104, 53, 2, 1390, 1407, 5, 134, 68, 2, 1391, 1407, 5, 122, 62, 2, 1392, 1407, 5, 126, 64, 2, 1393, 1407, 5, 128, 65, 2, 1394, 1407, 5, 130, 66, 2, 1395, 1407, 5, 136, 69, 2, 1396, 1407, 5, 164, 83, 2, 1397, 1407, 5, 166, 84, 2, 1398, 1407, 5, 90, 46, 2, 1399, 1407, 5, 112, 57, 2, 1400, 1407, 5, 108, 55, 2, 1401, 1403, 5, 834, 418, 2, 1402, 1401, 3, 2, 2, 2, 1402, 1403, 3, 2, 2, 2, 1403, 1404, 3, 2, 2, 2, 1404, 1407, 5, 88, 45, 2, 1405, 1407, 5, 204, 103, 2, 1406, 1389, 3, 2, 2, 2, 1406, 1390, 3, 2, 2, 2, 1406, 1391, 3, 2, 2, 2, 1406, 1392, 3, 2, 2, 2, 1406, 1393, 3, 2, 2, 2, 1406, 1394, 3, 2, 2, 2, 1406, 1395, 3, 2, 2, 2, 1406, 1396, 3, 2, 2, 2, 1406, 1397, 3, 2, 2, 2, 1406, 1398, 3, 2, 2, 2, 1406, 1399, 3, 2, 2, 2, 1406, 1400, 3, 2, 2, 2, 1406, 1402, 3, 2, 2, 2, 1406, 1405, 3, 2, 2, 2, 1407, 87, 3, 2, 2, 2, 1408, 1424, 5, 148, 75, 2, 1409, 1424, 5, 162, 82, 2, 1410, 1424, 5, 172, 87, 2, 1411, 1424, 5, 144, 73, 2, 1412, 1424, 5, 168, 85, 2, 1413, 1424, 5, 174, 88, 2, 1414, 1424, 5, 154, 78, 2, 1415, 1424, 5, 150, 76, 2, 1416, 1424, 5, 202, 102, 2, 1417, 1424, 5, 116, 59, 2, 1418, 1424, 5, 118, 60, 2, 1419, 1424, 5, 114, 58, 2, 1420, 1424, 5, 106, 54, 2, 1421, 1424, 5, 110, 56, 2, 1422, 1424, 5, 152, 77, 2, 1423, 1408, 3, 2, 2, 2, 1423, 1409, 3, 2, 2, 2, 1423, 1410, 3, 2, 2, 2, 1423, 1411, 3, 2, 2, 2, 1423, 1412, 3, 2, 2, 2, 1423, 1413, 3, 2, 2, 2, 1423, 1414, 3, 2, 2, 2, 1423, 1415, 3, 2, 2, 2, 1423, 1416, 3, 2, 2, 2, 1423, 1417, 3, 2, 2, 2, 1423, 1418, 3, 2, 2, 2, 1423, 1419, 3, 2, 2, 2, 1423, 1420, 3, 2, 2, 2, 1423, 1421, 3, 2, 2, 2, 1423, 1422, 3, 2, 2, 2, 1424, 89, 3, 2, 2, 2, 1425, 1426, 7, 38, 2, 2, 1426, 1427, 7, 73, 2, 2, 1427, 1428, 7, 373, 2, 2, 1428, 1429, 5, 460, 231, 2, 1429, 1430, 7, 374, 2, 2, 1430, 91, 3, 2, 2, 2, 1431, 1437, 5, 138, 70, 2, 1432, 1437, 5, 104, 53, 2, 1433, 1437, 5, 122, 62, 2, 1434, 1437, 5, 134, 68, 2, 1435, 1437, 5, 544, 273, 2, 1436, 1431, 3, 2, 2, 2, 1436, 1432, 3, 2, 2, 2, 1436, 1433, 3, 2, 2, 2, 1436, 1434, 3, 2, 2, 2, 1436, 1435, 3, 2, 2, 2, 1437, 93, 3, 2, 2, 2, 1438, 1441, 5, 140, 71, 2, 1439, 1441, 5, 142, 72, 2, 1440, 1438, 3, 2, 2, 2, 1440, 1439, 3, 2, 2, 2, 1441, 95, 3, 2, 2, 2, 1442, 1446, 5, 98, 50, 2, 1443, 1446, 5, 100, 51, 2, 1444, 1446, 5, 102, 52, 2, 1445, 1442, 3, 2, 2, 2, 1445, 1443, 3, 2, 2, 2, 1445, 1444, 3, 2, 2, 2, 1446, 97, 3, 2, 2, 2, 1447, 1448, 5, 848, 425, 2, 1448, 1449, 7, 162, 2, 2, 1449, 1450, 7, 159, 2, 2, 1450, 1451, 5, 60, 31, 2, 1451, 99, 3, 2, 2, 2, 1452, 1453, 5, 848, 425, 2, 1453, 1454, 7, 162, 2, 2, 1454, 1455, 7, 263, 2, 2, 1455, 1456, 5, 272, 137, 2, 1456, 101, 3, 2, 2, 2, 1457, 1458, 5, 848, 425, 2, 1458, 1459, 7, 162, 2, 2, 1459, 1460, 7, 134, 2, 2, 1460, 1461, 7, 400, 2, 2, 1461, 103, 3, 2, 2, 2, 1462, 1463, 7, 78, 2, 2, 1463, 1464, 7, 79, 2, 2, 1464, 1465, 5, 670, 336, 2, 1465, 105, 3, 2, 2, 2, 1466, 1467, 9, 6, 2, 2, 1467, 1468, 7, 43, 2, 2, 1468, 1469, 7, 373, 2, 2, 1469, 1470, 5, 394, 198, 2, 1470, 1472, 7, 374, 2, 2, 1471, 1473, 5, 42, 22, 2, 1472, 1471, 3, 2, 2, 2, 1472, 1473, 3, 2, 2, 2, 1473, 107, 3, 2, 2, 2, 1474, 1477, 7, 141, 2, 2, 1475, 1478, 5, 434, 218, 2, 1476, 1478, 5, 422, 212, 2, 1477, 1475, 3, 2, 2, 2, 1477, 1476, 3, 2, 2, 2, 1478, 109, 3, 2, 2, 2, 1479, 1480, 7, 233, 2, 2, 1480, 1482, 7, 43, 2, 2, 1481, 1483, 5, 42, 22, 2, 1482, 1481, 3, 2, 2, 2, 1482, 1483, 3, 2, 2, 2, 1483, 111, 3, 2, 2, 2, 1484, 1485, 7, 77, 2, 2, 1485, 1486, 7, 299, 2, 2, 1486, 1487, 5, 848, 425, 2, 1487, 113, 3, 2, 2, 2, 1488, 1490, 7, 72, 2, 2, 1489, 1491, 7, 73, 2, 2, 1490, 1489, 3, 2, 2, 2, 1490, 1491, 3, 2, 2, 2, 1491, 1492, 3, 2, 2, 2, 1492, 1493, 5, 848, 425, 2, 1493, 1494, 5, 848, 425, 2, 1494, 1496, 5, 506, 254, 2, 1495, 1497, 5, 488, 245, 2, 1496, 1495, 3, 2, 2, 2, 1496, 1497, 3, 2, 2, 2, 1497, 1500, 3, 2, 2, 2, 1498, 1499, 7, 80, 2, 2, 1499, 1501, 7, 400, 2, 2, 1500, 1498, 3, 2, 2, 2, 1500, 1501, 3, 2, 2, 2, 1501, 1503, 3, 2, 2, 2, 1502, 1504, 5, 120, 61, 2, 1503, 1502, 3, 2, 2, 2, 1503, 1504, 3, 2, 2, 2, 1504, 1506, 3, 2, 2, 2, 1505, 1507, 5, 42, 22, 2, 1506, 1505, 3, 2, 2, 2, 1506, 1507, 3, 2, 2, 2, 1507, 115, 3, 2, 2, 2, 1508, 1509, 7, 233, 2, 2, 1509, 1510, 7, 226, 2, 2, 1510, 1512, 7, 240, 2, 2, 1511, 1513, 7, 73, 2, 2, 1512, 1511, 3, 2, 2, 2, 1512, 1513, 3, 2, 2, 2, 1513, 1514, 3, 2, 2, 2, 1514, 1515, 5, 848, 425, 2, 1515, 1516, 7, 162, 2, 2, 1516, 1519, 5, 356, 179, 2, 1517, 1518, 7, 80, 2, 2, 1518, 1520, 7, 400, 2, 2, 1519, 1517, 3, 2, 2, 2, 1519, 1520, 3, 2, 2, 2, 1520, 117, 3, 2, 2, 2, 1521, 1522, 7, 233, 2, 2, 1522, 1523, 7, 226, 2, 2, 1523, 1524, 7, 162, 2, 2, 1524, 1525, 5, 356, 179, 2, 1525, 119, 3, 2, 2, 2, 1526, 1530, 7, 74, 2, 2, 1527, 1528, 7, 75, 2, 2, 1528, 1530, 5, 848, 425, 2, 1529, 1526, 3, 2, 2, 2, 1529, 1527, 3, 2, 2, 2, 1530, 121, 3, 2, 2, 2, 1531, 1533, 7, 141, 2, 2, 1532, 1534, 5, 44, 23, 2, 1533, 1532, 3, 2, 2, 2, 1533, 1534, 3, 2, 2, 2, 1534, 1536, 3, 2, 2, 2, 1535, 1537, 5, 124, 63, 2, 1536, 1535, 3, 2, 2, 2, 1537, 1538, 3, 2, 2, 2, 1538, 1536, 3, 2, 2, 2, 1538, 1539, 3, 2, 2, 2, 1539, 123, 3, 2, 2, 2, 1540, 1542, 5, 834, 418, 2, 1541, 1543, 5, 132, 67, 2, 1542, 1541, 3, 2, 2, 2, 1542, 1543, 3, 2, 2, 2, 1543, 125, 3, 2, 2, 2, 1544, 1548, 7, 222, 2, 2, 1545, 1547, 5, 834, 418, 2, 1546, 1545, 3, 2, 2, 2, 1547, 1550, 3, 2, 2, 2, 1548, 1546, 3, 2, 2, 2, 1548, 1549, 3, 2, 2, 2, 1549, 127, 3, 2, 2, 2, 1550, 1548, 3, 2, 2, 2, 1551, 1555, 7, 223, 2, 2, 1552, 1554, 5, 834, 418, 2, 1553, 1552, 3, 2, 2, 2, 1554, 1557, 3, 2, 2, 2, 1555, 1553, 3, 2, 2, 2, 1555, 1556, 3, 2, 2, 2, 1556, 129, 3, 2, 2, 2, 1557, 1555, 3, 2, 2, 2, 1558, 1562, 7, 224, 2, 2, 1559, 1561, 5, 834, 418, 2, 1560, 1559, 3, 2, 2, 2, 1561, 1564, 3, 2, 2, 2, 1562, 1560, 3, 2, 2, 2, 1562, 1563, 3, 2, 2, 2, 1563, 131, 3, 2, 2, 2, 1564, 1562, 3, 2, 2, 2, 1565, 1566, 7, 134, 2, 2, 1566, 1567, 7, 400, 2, 2, 1567, 133, 3, 2, 2, 2, 1568, 1570, 7, 77, 2, 2, 1569, 1571, 5, 40, 21, 2, 1570, 1569, 3, 2, 2, 2, 1570, 1571, 3, 2, 2, 2, 1571, 1572, 3, 2, 2, 2, 1572, 1577, 5, 838, 420, 2, 1573, 1574, 7, 371, 2, 2, 1574, 1576, 5, 838, 420, 2, 1575, 1573, 3, 2, 2, 2, 1576, 1579, 3, 2, 2, 2, 1577, 1575, 3, 2, 2, 2, 1577, 1578, 3, 2, 2, 2, 1578, 1581, 3, 2, 2, 2, 1579, 1577, 3, 2, 2, 2, 1580, 1582, 7, 207, 2, 2, 1581, 1580, 3, 2, 2, 2, 1581, 1582, 3, 2, 2, 2, 1582, 1584, 3, 2, 2, 2, 1583, 1585, 5, 22, 12, 2, 1584, 1583, 3, 2, 2, 2, 1584, 1585, 3, 2, 2, 2, 1585, 135, 3, 2, 2, 2, 1586, 1587, 7, 162, 2, 2, 1587, 1588, 7, 164, 2, 2, 1588, 1596, 5, 356, 179, 2, 1589, 1590, 7, 163, 2, 2, 1590, 1592, 7, 164, 2, 2, 1591, 1593, 5, 40, 21, 2, 1592, 1591, 3, 2, 2, 2, 1592, 1593, 3, 2, 2, 2, 1593, 1594, 3, 2, 2, 2, 1594, 1596, 5, 356, 179, 2, 1595, 1586, 3, 2, 2, 2, 1595, 1589, 3, 2, 2, 2, 1596, 137, 3, 2, 2, 2, 1597, 1598, 7, 162, 2, 2, 1598, 1599, 7, 164, 2, 2, 1599, 1607, 5, 356, 179, 2, 1600, 1601, 7, 163, 2, 2, 1601, 1603, 7, 164, 2, 2, 1602, 1604, 5, 40, 21, 2, 1603, 1602, 3, 2, 2, 2, 1603, 1604, 3, 2, 2, 2, 1604, 1605, 3, 2, 2, 2, 1605, 1607, 5, 356, 179, 2, 1606, 1597, 3, 2, 2, 2, 1606, 1600, 3, 2, 2, 2, 1607, 139, 3, 2, 2, 2, 1608, 1611, 5, 46, 24, 2, 1609, 1611, 5, 48, 25, 2, 1610, 1608, 3, 2, 2, 2, 1610, 1609, 3, 2, 2, 2, 1611, 141, 3, 2, 2, 2, 1612, 1613, 7, 46, 2, 2, 1613, 143, 3, 2, 2, 2, 1614, 1615, 7, 162, 2, 2, 1615, 1616, 7, 155, 2, 2, 1616, 1620, 7, 400, 2, 2, 1617, 1618, 7, 156, 2, 2, 1618, 1619, 7, 158, 2, 2, 1619, 1621, 5, 356, 179, 2, 1620, 1617, 3, 2, 2, 2, 1620, 1621, 3, 2, 2, 2, 1621, 1626, 3, 2, 2, 2, 1622, 1623, 7, 162, 2, 2, 1623, 1624, 7, 158, 2, 2, 1624, 1626, 5, 356, 179, 2, 1625, 1614, 3, 2, 2, 2, 1625, 1622, 3, 2, 2, 2, 1626, 145, 3, 2, 2, 2, 1627, 1628, 5, 848, 425, 2, 1628, 1629, 7, 37, 2, 2, 1629, 1631, 5, 670, 336, 2, 1630, 1632, 5, 834, 418, 2, 1631, 1630, 3, 2, 2, 2, 1631, 1632, 3, 2, 2, 2, 1632, 1633, 3, 2, 2, 2, 1633, 1634, 7, 46, 2, 2, 1634, 147, 3, 2, 2, 2, 1635, 1636, 7, 162, 2, 2, 1636, 1637, 7, 127, 2, 2, 1637, 1638, 5, 206, 104, 2, 1638, 149, 3, 2, 2, 2, 1639, 1640, 7, 10, 2, 2, 1640, 1645, 7, 109, 2, 2, 1641, 1642, 7, 10, 2, 2, 1642, 1645, 7, 110, 2, 2, 1643, 1645, 5, 336, 169, 2, 1644, 1639, 3, 2, 2, 2, 1644, 1641, 3, 2, 2, 2, 1644, 1643, 3, 2, 2, 2, 1645, 151, 3, 2, 2, 2, 1646, 1651, 5, 738, 370, 2, 1647, 1648, 7, 55, 2, 2, 1648, 1649, 7, 21, 2, 2, 1649, 1651, 7, 7, 2, 2, 1650, 1646, 3, 2, 2, 2, 1650, 1647, 3, 2, 2, 2, 1651, 153, 3, 2, 2, 2, 1652, 1653, 7, 162, 2, 2, 1653, 1654, 7, 236, 2, 2, 1654, 1655, 7, 134, 2, 2, 1655, 1656, 5, 156, 79, 2, 1656, 155, 3, 2, 2, 2, 1657, 1658, 7, 373, 2, 2, 1658, 1659, 5, 158, 80, 2, 1659, 1660, 7, 374, 2, 2, 1660, 157, 3, 2, 2, 2, 1661, 1666, 5, 160, 81, 2, 1662, 1663, 7, 371, 2, 2, 1663, 1665, 5, 160, 81, 2, 1664, 1662, 3, 2, 2, 2, 1665, 1668, 3, 2, 2, 2, 1666, 1664, 3, 2, 2, 2, 1666, 1667, 3, 2, 2, 2, 1667, 159, 3, 2, 2, 2, 1668, 1666, 3, 2, 2, 2, 1669, 1670, 5, 446, 224, 2, 1670, 1671, 7, 379, 2, 2, 1671, 1672, 7, 400, 2, 2, 1672, 161, 3, 2, 2, 2, 1673, 1674, 7, 162, 2, 2, 1674, 1675, 7, 134, 2, 2, 1675, 1676, 7, 400, 2, 2, 1676, 163, 3, 2, 2, 2, 1677, 1683, 5, 338, 170, 2, 1678, 1679, 7, 10, 2, 2, 1679, 1683, 7, 236, 2, 2, 1680, 1681, 7, 10, 2, 2, 1681, 1683, 5, 50, 26, 2, 1682, 1677, 3, 2, 2, 2, 1682, 1678, 3, 2, 2, 2, 1682, 1680, 3, 2, 2, 2, 1683, 165, 3, 2, 2, 2, 1684, 1685, 7, 259, 2, 2, 1685, 1686, 5, 834, 418, 2, 1686, 1687, 7, 156, 2, 2, 1687, 1688, 7, 40, 2, 2, 1688, 1689, 5, 670, 336, 2, 1689, 167, 3, 2, 2, 2, 1690, 1691, 7, 78, 2, 2, 1691, 1692, 7, 79, 2, 2, 1692, 1693, 5, 834, 418, 2, 1693, 169, 3, 2, 2, 2, 1694, 1695, 7, 233, 2, 2, 1695, 1696, 7, 226, 2, 2, 1696, 1698, 7, 240, 2, 2, 1697, 1699, 7, 73, 2, 2, 1698, 1697, 3, 2, 2, 2, 1698, 1699, 3, 2, 2, 2, 1699, 1700, 3, 2, 2, 2, 1700, 1701, 5, 848, 425, 2, 1701, 1702, 7, 162, 2, 2, 1702, 1705, 5, 356, 179, 2, 1703, 1704, 7, 80, 2, 2, 1704, 1706, 7, 400, 2, 2, 1705, 1703, 3, 2, 2, 2, 1705, 1706, 3, 2, 2, 2, 1706, 171, 3, 2, 2, 2, 1707, 1708, 7, 230, 2, 2, 1708, 173, 3, 2, 2, 2, 1709, 1710, 7, 111, 2, 2, 1710, 1711, 7, 405, 2, 2, 1711, 1712, 7, 112, 2, 2, 1712, 175, 3, 2, 2, 2, 1713, 1717, 5, 178, 90, 2, 1714, 1715, 7, 156, 2, 2, 1715, 1716, 7, 157, 2, 2, 1716, 1718, 7, 46, 2, 2, 1717, 1714, 3, 2, 2, 2, 1717, 1718, 3, 2, 2, 2, 1718, 1721, 3, 2, 2, 2, 1719, 1720, 7, 165, 2, 2, 1720, 1722, 5, 356, 179, 2, 1721, 1719, 3, 2, 2, 2, 1721, 1722, 3, 2, 2, 2, 1722, 1726, 3, 2, 2, 2, 1723, 1724, 7, 187, 2, 2, 1724, 1725, 7, 40, 2, 2, 1725, 1727, 5, 670, 336, 2, 1726, 1723, 3, 2, 2, 2, 1726, 1727, 3, 2, 2, 2, 1727, 1731, 3, 2, 2, 2, 1728, 1729, 7, 108, 2, 2, 1729, 1730, 7, 21, 2, 2, 1730, 1732, 5, 408, 205, 2, 1731, 1728, 3, 2, 2, 2, 1731, 1732, 3, 2, 2, 2, 1732, 1737, 3, 2, 2, 2, 1733, 1735, 5, 350, 176, 2, 1734, 1733, 3, 2, 2, 2, 1734, 1735, 3, 2, 2, 2, 1735, 1736, 3, 2, 2, 2, 1736, 1738, 5, 378, 190, 2, 1737, 1734, 3, 2, 2, 2, 1737, 1738, 3, 2, 2, 2, 1738, 1741, 3, 2, 2, 2, 1739, 1740, 7, 134, 2, 2, 1740, 1742, 5, 896, 449, 2, 1741, 1739, 3, 2, 2, 2, 1741, 1742, 3, 2, 2, 2, 1742, 1744, 3, 2, 2, 2, 1743, 1745, 5, 354, 178, 2, 1744, 1743, 3, 2, 2, 2, 1744, 1745, 3, 2, 2, 2, 1745, 1747, 3, 2, 2, 2, 1746, 1748, 5, 328, 165, 2, 1747, 1746, 3, 2, 2, 2, 1747, 1748, 3, 2, 2, 2, 1748, 177, 3, 2, 2, 2, 1749, 1750, 7, 69, 2, 2, 1750, 1751, 7, 44, 2, 2, 1751, 1752, 5, 848, 425, 2, 1752, 1753, 7, 37, 2, 2, 1753, 1754, 7, 40, 2, 2, 1754, 1755, 5, 670, 336, 2, 1755, 1756, 5, 408, 205, 2, 1756, 1757, 7, 25, 2, 2, 1757, 1758, 7, 400, 2, 2, 1758, 179, 3, 2, 2, 2, 1759, 1760, 7, 77, 2, 2, 1760, 1761, 7, 44, 2, 2, 1761, 1762, 5, 848, 425, 2, 1762, 1763, 7, 37, 2, 2, 1763, 1764, 5, 670, 336, 2, 1764, 181, 3, 2, 2, 2, 1765, 1769, 5, 184, 93, 2, 1766, 1767, 7, 240, 2, 2, 1767, 1768, 7, 43, 2, 2, 1768, 1770, 5, 186, 94, 2, 1769, 1766, 3, 2, 2, 2, 1769, 1770, 3, 2, 2, 2, 1770, 1772, 3, 2, 2, 2, 1771, 1773, 5, 192, 97, 2, 1772, 1771, 3, 2, 2, 2, 1772, 1773, 3, 2, 2, 2, 1773, 183, 3, 2, 2, 2, 1774, 1775, 7, 69, 2, 2, 1775, 1776, 7, 352, 2, 2, 1776, 1777, 7, 44, 2, 2, 1777, 1779, 7, 37, 2, 2, 1778, 1780, 7, 40, 2, 2, 1779, 1778, 3, 2, 2, 2, 1779, 1780, 3, 2, 2, 2, 1780, 1781, 3, 2, 2, 2, 1781, 1782, 5, 670, 336, 2, 1782, 185, 3, 2, 2, 2, 1783, 1784, 7, 373, 2, 2, 1784, 1785, 5, 188, 95, 2, 1785, 1786, 7, 374, 2, 2, 1786, 187, 3, 2, 2, 2, 1787, 1792, 5, 190, 96, 2, 1788, 1789, 7, 371, 2, 2, 1789, 1791, 5, 190, 96, 2, 1790, 1788, 3, 2, 2, 2, 1791, 1794, 3, 2, 2, 2, 1792, 1790, 3, 2, 2, 2, 1792, 1793, 3, 2, 2, 2, 1793, 189, 3, 2, 2, 2, 1794, 1792, 3, 2, 2, 2, 1795, 1797, 5, 848, 425, 2, 1796, 1798, 5, 192, 97, 2, 1797, 1796, 3, 2, 2, 2, 1797, 1798, 3, 2, 2, 2, 1798, 191, 3, 2, 2, 2, 1799, 1800, 7, 228, 2, 2, 1800, 1801, 5, 356, 179, 2, 1801, 193, 3, 2, 2, 2, 1802, 1806, 5, 196, 99, 2, 1803, 1804, 7, 240, 2, 2, 1804, 1805, 7, 43, 2, 2, 1805, 1807, 5, 186, 94, 2, 1806, 1803, 3, 2, 2, 2, 1806, 1807, 3, 2, 2, 2, 1807, 195, 3, 2, 2, 2, 1808, 1809, 7, 77, 2, 2, 1809, 1810, 7, 352, 2, 2, 1810, 1811, 7, 44, 2, 2, 1811, 1813, 7, 37, 2, 2, 1812, 1814, 7, 40, 2, 2, 1813, 1812, 3, 2, 2, 2, 1813, 1814, 3, 2, 2, 2, 1814, 1815, 3, 2, 2, 2, 1815, 1816, 5, 670, 336, 2, 1816, 197, 3, 2, 2, 2, 1817, 1819, 5, 670, 336, 2, 1818, 1820, 5, 834, 418, 2, 1819, 1818, 3, 2, 2, 2, 1819, 1820, 3, 2, 2, 2, 1820, 199, 3, 2, 2, 2, 1821, 1822, 7, 8, 2, 2, 1822, 1823, 7, 320, 2, 2, 1823, 201, 3, 2, 2, 2, 1824, 1825, 7, 265, 2, 2, 1825, 1827, 7, 400, 2, 2, 1826, 1828, 5, 200, 101, 2, 1827, 1826, 3, 2, 2, 2, 1827, 1828, 3, 2, 2, 2, 1828, 1833, 3, 2, 2, 2, 1829, 1830, 7, 156, 2, 2, 1830, 1831, 7, 29, 2, 2, 1831, 1832, 7, 164, 2, 2, 1832, 1834, 5, 356, 179, 2, 1833, 1829, 3, 2, 2, 2, 1833, 1834, 3, 2, 2, 2, 1834, 203, 3, 2, 2, 2, 1835, 1836, 7, 162, 2, 2, 1836, 1837, 7, 263, 2, 2, 1837, 1838, 5, 272, 137, 2, 1838, 205, 3, 2, 2, 2, 1839, 1840, 7, 128, 2, 2, 1840, 1841, 7, 400, 2, 2, 1841, 1842, 7, 129, 2, 2, 1842, 1843, 7, 400, 2, 2, 1843, 1844, 7, 155, 2, 2, 1844, 1849, 7, 400, 2, 2, 1845, 1846, 7, 130, 2, 2, 1846, 1847, 7, 400, 2, 2, 1847, 1848, 7, 131, 2, 2, 1848, 1850, 7, 400, 2, 2, 1849, 1845, 3, 2, 2, 2, 1849, 1850, 3, 2, 2, 2, 1850, 1853, 3, 2, 2, 2, 1851, 1853, 5, 384, 193, 2, 1852, 1839, 3, 2, 2, 2, 1852, 1851, 3, 2, 2, 2, 1853, 207, 3, 2, 2, 2, 1854, 1855, 7, 128, 2, 2, 1855, 1856, 7, 400, 2, 2, 1856, 1857, 7, 155, 2, 2, 1857, 1858, 7, 400, 2, 2, 1858, 209, 3, 2, 2, 2, 1859, 1862, 5, 848, 425, 2, 1860, 1861, 7, 369, 2, 2, 1861, 1863, 5, 848, 425, 2, 1862, 1860, 3, 2, 2, 2, 1862, 1863, 3, 2, 2, 2, 1863, 1877, 3, 2, 2, 2, 1864, 1874, 5, 848, 425, 2, 1865, 1870, 7, 369, 2, 2, 1866, 1871, 7, 167, 2, 2, 1867, 1871, 7, 123, 2, 2, 1868, 1871, 7, 166, 2, 2, 1869, 1871, 5, 848, 425, 2, 1870, 1866, 3, 2, 2, 2, 1870, 1867, 3, 2, 2, 2, 1870, 1868, 3, 2, 2, 2, 1870, 1869, 3, 2, 2, 2, 1871, 1873, 3, 2, 2, 2, 1872, 1865, 3, 2, 2, 2, 1873, 1876, 3, 2, 2, 2, 1874, 1872, 3, 2, 2, 2, 1874, 1875, 3, 2, 2, 2, 1875, 1878, 3, 2, 2, 2, 1876, 1874, 3, 2, 2, 2, 1877, 1864, 3, 2, 2, 2, 1877, 1878, 3, 2, 2, 2, 1878, 211, 3, 2, 2, 2, 1879, 1881, 5, 210, 106, 2, 1880, 1882, 5, 834, 418, 2, 1881, 1880, 3, 2, 2, 2, 1881, 1882, 3, 2, 2, 2, 1882, 213, 3, 2, 2, 2, 1883, 1885, 5, 670, 336, 2, 1884, 1886, 5, 834, 418, 2, 1885, 1884, 3, 2, 2, 2, 1885, 1886, 3, 2, 2, 2, 1886, 1888, 3, 2, 2, 2, 1887, 1889, 5, 404, 203, 2, 1888, 1887, 3, 2, 2, 2, 1888, 1889, 3, 2, 2, 2, 1889, 215, 3, 2, 2, 2, 1890, 1904, 9, 7, 2, 2, 1891, 1893, 9, 4, 2, 2, 1892, 1894, 7, 151, 2, 2, 1893, 1892, 3, 2, 2, 2, 1893, 1894, 3, 2, 2, 2, 1894, 1895, 3, 2, 2, 2, 1895, 1905, 5, 848, 425, 2, 1896, 1898, 7, 146, 2, 2, 1897, 1899, 7, 151, 2, 2, 1898, 1897, 3, 2, 2, 2, 1898, 1899, 3, 2, 2, 2, 1899, 1900, 3, 2, 2, 2, 1900, 1905, 5, 846, 424, 2, 1901, 1902, 9, 8, 2, 2, 1902, 1905, 5, 214, 108, 2, 1903, 1905, 5, 214, 108, 2, 1904, 1891, 3, 2, 2, 2, 1904, 1896, 3, 2, 2, 2, 1904, 1901, 3, 2, 2, 2, 1904, 1903, 3, 2, 2, 2, 1905, 217, 3, 2, 2, 2, 1906, 1907, 7, 209, 2, 2, 1907, 1908, 7, 40, 2, 2, 1908, 1921, 5, 832, 417, 2, 1909, 1910, 7, 225, 2, 2, 1910, 1917, 7, 226, 2, 2, 1911, 1918, 7, 254, 2, 2, 1912, 1913, 7, 240, 2, 2, 1913, 1915, 7, 43, 2, 2, 1914, 1916, 5, 400, 201, 2, 1915, 1914, 3, 2, 2, 2, 1915, 1916, 3, 2, 2, 2, 1916, 1918, 3, 2, 2, 2, 1917, 1911, 3, 2, 2, 2, 1917, 1912, 3, 2, 2, 2, 1917, 1918, 3, 2, 2, 2, 1918, 1922, 3, 2, 2, 2, 1919, 1920, 7, 295, 2, 2, 1920, 1922, 7, 64, 2, 2, 1921, 1909, 3, 2, 2, 2, 1921, 1919, 3, 2, 2, 2, 1922, 219, 3, 2, 2, 2, 1923, 1924, 7, 48, 2, 2, 1924, 1927, 9, 9, 2, 2, 1925, 1926, 7, 11, 2, 2, 1926, 1928, 5, 326, 164, 2, 1927, 1925, 3, 2, 2, 2, 1927, 1928, 3, 2, 2, 2, 1928, 2047, 3, 2, 2, 2, 1929, 1930, 7, 48, 2, 2, 1930, 1933, 7, 41, 2, 2, 1931, 1932, 9, 10, 2, 2, 1932, 1934, 5, 848, 425, 2, 1933, 1931, 3, 2, 2, 2, 1933, 1934, 3, 2, 2, 2, 1934, 1938, 3, 2, 2, 2, 1935, 1936, 7, 11, 2, 2, 1936, 1939, 5, 326, 164, 2, 1937, 1939, 5, 326, 164, 2, 1938, 1935, 3, 2, 2, 2, 1938, 1937, 3, 2, 2, 2, 1938, 1939, 3, 2, 2, 2, 1939, 2047, 3, 2, 2, 2, 1940, 1941, 7, 48, 2, 2, 1941, 1944, 7, 186, 2, 2, 1942, 1943, 9, 10, 2, 2, 1943, 1945, 5, 848, 425, 2, 1944, 1942, 3, 2, 2, 2, 1944, 1945, 3, 2, 2, 2, 1945, 1949, 3, 2, 2, 2, 1946, 1947, 7, 11, 2, 2, 1947, 1950, 5, 326, 164, 2, 1948, 1950, 5, 326, 164, 2, 1949, 1946, 3, 2, 2, 2, 1949, 1948, 3, 2, 2, 2, 1949, 1950, 3, 2, 2, 2, 1950, 2047, 3, 2, 2, 2, 1951, 1952, 7, 48, 2, 2, 1952, 1953, 7, 190, 2, 2, 1953, 1956, 7, 186, 2, 2, 1954, 1955, 9, 10, 2, 2, 1955, 1957, 5, 848, 425, 2, 1956, 1954, 3, 2, 2, 2, 1956, 1957, 3, 2, 2, 2, 1957, 1961, 3, 2, 2, 2, 1958, 1959, 7, 11, 2, 2, 1959, 1962, 5, 326, 164, 2, 1960, 1962, 5, 326, 164, 2, 1961, 1958, 3, 2, 2, 2, 1961, 1960, 3, 2, 2, 2, 1961, 1962, 3, 2, 2, 2, 1962, 2047, 3, 2, 2, 2, 1963, 1964, 7, 48, 2, 2, 1964, 1965, 7, 43, 2, 2, 1965, 1966, 9, 10, 2, 2, 1966, 1969, 5, 670, 336, 2, 1967, 1968, 9, 10, 2, 2, 1968, 1970, 5, 848, 425, 2, 1969, 1967, 3, 2, 2, 2, 1969, 1970, 3, 2, 2, 2, 1970, 1974, 3, 2, 2, 2, 1971, 1972, 7, 11, 2, 2, 1972, 1975, 5, 326, 164, 2, 1973, 1975, 5, 326, 164, 2, 1974, 1971, 3, 2, 2, 2, 1974, 1973, 3, 2, 2, 2, 1974, 1975, 3, 2, 2, 2, 1975, 2047, 3, 2, 2, 2, 1976, 1977, 7, 48, 2, 2, 1977, 1981, 7, 47, 2, 2, 1978, 1979, 7, 11, 2, 2, 1979, 1982, 5, 324, 163, 2, 1980, 1982, 5, 324, 163, 2, 1981, 1978, 3, 2, 2, 2, 1981, 1980, 3, 2, 2, 2, 1981, 1982, 3, 2, 2, 2, 1982, 2047, 3, 2, 2, 2, 1983, 1984, 7, 48, 2, 2, 1984, 1985, 7, 39, 2, 2, 1985, 1987, 5, 670, 336, 2, 1986, 1988, 5, 834, 418, 2, 1987, 1986, 3, 2, 2, 2, 1987, 1988, 3, 2, 2, 2, 1988, 2047, 3, 2, 2, 2, 1989, 1990, 7, 48, 2, 2, 1990, 1995, 7, 69, 2, 2, 1991, 1992, 9, 4, 2, 2, 1992, 1996, 5, 848, 425, 2, 1993, 1994, 7, 40, 2, 2, 1994, 1996, 5, 670, 336, 2, 1995, 1991, 3, 2, 2, 2, 1995, 1993, 3, 2, 2, 2, 1996, 2047, 3, 2, 2, 2, 1997, 1998, 7, 48, 2, 2, 1998, 1999, 7, 40, 2, 2, 1999, 2002, 7, 151, 2, 2, 2000, 2001, 9, 10, 2, 2, 2001, 2003, 5, 848, 425, 2, 2002, 2000, 3, 2, 2, 2, 2002, 2003, 3, 2, 2, 2, 2003, 2004, 3, 2, 2, 2, 2004, 2005, 7, 11, 2, 2, 2005, 2007, 5, 326, 164, 2, 2006, 2008, 5, 834, 418, 2, 2007, 2006, 3, 2, 2, 2, 2007, 2008, 3, 2, 2, 2, 2008, 2047, 3, 2, 2, 2, 2009, 2010, 7, 48, 2, 2, 2010, 2011, 7, 164, 2, 2, 2011, 2015, 5, 670, 336, 2, 2012, 2013, 7, 373, 2, 2, 2013, 2014, 7, 400, 2, 2, 2014, 2016, 7, 374, 2, 2, 2015, 2012, 3, 2, 2, 2, 2015, 2016, 3, 2, 2, 2, 2016, 2047, 3, 2, 2, 2, 2017, 2018, 7, 48, 2, 2, 2018, 2030, 7, 198, 2, 2, 2019, 2020, 9, 4, 2, 2, 2020, 2022, 5, 848, 425, 2, 2021, 2023, 7, 151, 2, 2, 2022, 2021, 3, 2, 2, 2, 2022, 2023, 3, 2, 2, 2, 2023, 2031, 3, 2, 2, 2, 2024, 2026, 5, 212, 107, 2, 2025, 2024, 3, 2, 2, 2, 2025, 2026, 3, 2, 2, 2, 2026, 2028, 3, 2, 2, 2, 2027, 2029, 7, 151, 2, 2, 2028, 2027, 3, 2, 2, 2, 2028, 2029, 3, 2, 2, 2, 2029, 2031, 3, 2, 2, 2, 2030, 2019, 3, 2, 2, 2, 2030, 2025, 3, 2, 2, 2, 2031, 2047, 3, 2, 2, 2, 2032, 2033, 7, 48, 2, 2, 2033, 2047, 7, 266, 2, 2, 2034, 2035, 7, 48, 2, 2, 2035, 2047, 7, 267, 2, 2, 2036, 2037, 7, 48, 2, 2, 2037, 2038, 7, 271, 2, 2, 2038, 2047, 7, 400, 2, 2, 2039, 2040, 7, 48, 2, 2, 2040, 2044, 7, 321, 2, 2, 2041, 2042, 7, 322, 2, 2, 2042, 2045, 5, 848, 425, 2, 2043, 2045, 7, 324, 2, 2, 2044, 2041, 3, 2, 2, 2, 2044, 2043, 3, 2, 2, 2, 2045, 2047, 3, 2, 2, 2, 2046, 1923, 3, 2, 2, 2, 2046, 1929, 3, 2, 2, 2, 2046, 1940, 3, 2, 2, 2, 2046, 1951, 3, 2, 2, 2, 2046, 1963, 3, 2, 2, 2, 2046, 1976, 3, 2, 2, 2, 2046, 1983, 3, 2, 2, 2, 2046, 1989, 3, 2, 2, 2, 2046, 1997, 3, 2, 2, 2, 2046, 2009, 3, 2, 2, 2, 2046, 2017, 3, 2, 2, 2, 2046, 2032, 3, 2, 2, 2, 2046, 2034, 3, 2, 2, 2, 2046, 2036, 3, 2, 2, 2, 2046, 2039, 3, 2, 2, 2, 2047, 221, 3, 2, 2, 2, 2048, 2049, 7, 197, 2, 2, 2049, 2050, 7, 40, 2, 2, 2050, 2052, 5, 670, 336, 2, 2051, 2053, 5, 834, 418, 2, 2052, 2051, 3, 2, 2, 2, 2052, 2053, 3, 2, 2, 2, 2053, 2054, 3, 2, 2, 2, 2054, 2055, 5, 226, 114, 2, 2055, 223, 3, 2, 2, 2, 2056, 2057, 7, 197, 2, 2, 2057, 2058, 9, 4, 2, 2, 2058, 2059, 5, 848, 425, 2, 2059, 2060, 5, 226, 114, 2, 2060, 225, 3, 2, 2, 2, 2061, 2062, 9, 11, 2, 2, 2062, 227, 3, 2, 2, 2, 2063, 2064, 7, 199, 2, 2, 2064, 2065, 7, 40, 2, 2, 2065, 2067, 5, 670, 336, 2, 2066, 2068, 5, 834, 418, 2, 2067, 2066, 3, 2, 2, 2, 2067, 2068, 3, 2, 2, 2, 2068, 229, 3, 2, 2, 2, 2069, 2070, 7, 199, 2, 2, 2070, 2071, 9, 4, 2, 2, 2071, 2072, 5, 848, 425, 2, 2072, 231, 3, 2, 2, 2, 2073, 2074, 7, 69, 2, 2, 2074, 2075, 7, 256, 2, 2, 2075, 2076, 5, 848, 425, 2, 2076, 233, 3, 2, 2, 2, 2077, 2078, 7, 77, 2, 2, 2078, 2079, 7, 256, 2, 2, 2079, 2080, 5, 848, 425, 2, 2080, 235, 3, 2, 2, 2, 2081, 2082, 7, 193, 2, 2, 2082, 2084, 5, 264, 133, 2, 2083, 2085, 5, 258, 130, 2, 2084, 2083, 3, 2, 2, 2, 2084, 2085, 3, 2, 2, 2, 2085, 2086, 3, 2, 2, 2, 2086, 2087, 7, 79, 2, 2, 2087, 2089, 5, 270, 136, 2, 2088, 2090, 5, 274, 138, 2, 2089, 2088, 3, 2, 2, 2, 2089, 2090, 3, 2, 2, 2, 2090, 237, 3, 2, 2, 2, 2091, 2093, 7, 194, 2, 2, 2092, 2094, 5, 276, 139, 2, 2093, 2092, 3, 2, 2, 2, 2093, 2094, 3, 2, 2, 2, 2094, 2095, 3, 2, 2, 2, 2095, 2097, 5, 264, 133, 2, 2096, 2098, 5, 258, 130, 2, 2097, 2096, 3, 2, 2, 2, 2097, 2098, 3, 2, 2, 2, 2098, 2099, 3, 2, 2, 2, 2099, 2100, 7, 24, 2, 2, 2100, 2101, 5, 270, 136, 2, 2101, 239, 3, 2, 2, 2, 2102, 2104, 7, 193, 2, 2, 2103, 2105, 7, 256, 2, 2, 2104, 2103, 3, 2, 2, 2, 2104, 2105, 3, 2, 2, 2, 2105, 2106, 3, 2, 2, 2, 2106, 2111, 5, 848, 425, 2, 2107, 2108, 7, 371, 2, 2, 2108, 2110, 5, 848, 425, 2, 2109, 2107, 3, 2, 2, 2, 2110, 2113, 3, 2, 2, 2, 2111, 2109, 3, 2, 2, 2, 2111, 2112, 3, 2, 2, 2, 2112, 2114, 3, 2, 2, 2, 2113, 2111, 3, 2, 2, 2, 2114, 2115, 7, 79, 2, 2, 2115, 2117, 5, 270, 136, 2, 2116, 2118, 5, 280, 141, 2, 2117, 2116, 3, 2, 2, 2, 2117, 2118, 3, 2, 2, 2, 2118, 241, 3, 2, 2, 2, 2119, 2121, 7, 194, 2, 2, 2120, 2122, 5, 278, 140, 2, 2121, 2120, 3, 2, 2, 2, 2121, 2122, 3, 2, 2, 2, 2122, 2124, 3, 2, 2, 2, 2123, 2125, 7, 256, 2, 2, 2124, 2123, 3, 2, 2, 2, 2124, 2125, 3, 2, 2, 2, 2125, 2126, 3, 2, 2, 2, 2126, 2131, 5, 848, 425, 2, 2127, 2128, 7, 371, 2, 2, 2128, 2130, 5, 848, 425, 2, 2129, 2127, 3, 2, 2, 2, 2130, 2133, 3, 2, 2, 2, 2131, 2129, 3, 2, 2, 2, 2131, 2132, 3, 2, 2, 2, 2132, 2134, 3, 2, 2, 2, 2133, 2131, 3, 2, 2, 2, 2134, 2135, 7, 24, 2, 2, 2135, 2136, 5, 270, 136, 2, 2136, 243, 3, 2, 2, 2, 2137, 2138, 7, 48, 2, 2, 2138, 2139, 7, 256, 2, 2, 2139, 2140, 7, 193, 2, 2, 2140, 2141, 5, 272, 137, 2, 2141, 245, 3, 2, 2, 2, 2142, 2143, 7, 48, 2, 2, 2143, 2144, 7, 257, 2, 2, 2144, 247, 3, 2, 2, 2, 2145, 2146, 7, 48, 2, 2, 2146, 2147, 7, 245, 2, 2, 2147, 2148, 7, 257, 2, 2, 2148, 249, 3, 2, 2, 2, 2149, 2150, 7, 162, 2, 2, 2150, 2154, 7, 256, 2, 2, 2151, 2155, 7, 5, 2, 2, 2152, 2155, 7, 7, 2, 2, 2153, 2155, 5, 848, 425, 2, 2154, 2151, 3, 2, 2, 2, 2154, 2152, 3, 2, 2, 2, 2154, 2153, 3, 2, 2, 2, 2155, 251, 3, 2, 2, 2, 2156, 2157, 7, 48, 2, 2, 2157, 2159, 7, 193, 2, 2, 2158, 2160, 5, 272, 137, 2, 2159, 2158, 3, 2, 2, 2, 2159, 2160, 3, 2, 2, 2, 2160, 2163, 3, 2, 2, 2, 2161, 2162, 7, 37, 2, 2, 2162, 2164, 5, 256, 129, 2, 2163, 2161, 3, 2, 2, 2, 2163, 2164, 3, 2, 2, 2, 2164, 253, 3, 2, 2, 2, 2165, 2166, 7, 48, 2, 2, 2166, 2167, 7, 264, 2, 2, 2167, 2168, 5, 848, 425, 2, 2168, 255, 3, 2, 2, 2, 2169, 2172, 7, 5, 2, 2, 2170, 2172, 5, 262, 132, 2, 2171, 2169, 3, 2, 2, 2, 2171, 2170, 3, 2, 2, 2, 2172, 257, 3, 2, 2, 2, 2173, 2174, 7, 37, 2, 2, 2174, 2175, 5, 260, 131, 2, 2175, 259, 3, 2, 2, 2, 2176, 2177, 9, 4, 2, 2, 2177, 2190, 5, 848, 425, 2, 2178, 2180, 7, 40, 2, 2, 2179, 2178, 3, 2, 2, 2, 2179, 2180, 3, 2, 2, 2, 2180, 2181, 3, 2, 2, 2, 2181, 2183, 5, 670, 336, 2, 2182, 2184, 5, 834, 418, 2, 2183, 2182, 3, 2, 2, 2, 2183, 2184, 3, 2, 2, 2, 2184, 2190, 3, 2, 2, 2, 2185, 2186, 7, 260, 2, 2, 2186, 2190, 7, 400, 2, 2, 2187, 2188, 7, 261, 2, 2, 2188, 2190, 5, 848, 425, 2, 2189, 2176, 3, 2, 2, 2, 2189, 2179, 3, 2, 2, 2, 2189, 2185, 3, 2, 2, 2, 2189, 2187, 3, 2, 2, 2, 2190, 261, 3, 2, 2, 2, 2191, 2192, 9, 4, 2, 2, 2192, 2211, 5, 848, 425, 2, 2193, 2195, 7, 40, 2, 2, 2194, 2193, 3, 2, 2, 2, 2194, 2195, 3, 2, 2, 2, 2195, 2196, 3, 2, 2, 2, 2196, 2201, 5, 670, 336, 2, 2197, 2198, 7, 373, 2, 2, 2198, 2199, 5, 400, 201, 2, 2199, 2200, 7, 374, 2, 2, 2200, 2202, 3, 2, 2, 2, 2201, 2197, 3, 2, 2, 2, 2201, 2202, 3, 2, 2, 2, 2202, 2204, 3, 2, 2, 2, 2203, 2205, 5, 834, 418, 2, 2204, 2203, 3, 2, 2, 2, 2204, 2205, 3, 2, 2, 2, 2205, 2211, 3, 2, 2, 2, 2206, 2207, 7, 260, 2, 2, 2207, 2211, 7, 400, 2, 2, 2208, 2209, 7, 261, 2, 2, 2209, 2211, 5, 848, 425, 2, 2210, 2191, 3, 2, 2, 2, 2210, 2194, 3, 2, 2, 2, 2210, 2206, 3, 2, 2, 2, 2210, 2208, 3, 2, 2, 2, 2211, 263, 3, 2, 2, 2, 2212, 2217, 5, 266, 134, 2, 2213, 2214, 7, 371, 2, 2, 2214, 2216, 5, 266, 134, 2, 2215, 2213, 3, 2, 2, 2, 2216, 2219, 3, 2, 2, 2, 2217, 2215, 3, 2, 2, 2, 2217, 2218, 3, 2, 2, 2, 2218, 265, 3, 2, 2, 2, 2219, 2217, 3, 2, 2, 2, 2220, 2225, 5, 268, 135, 2, 2221, 2222, 7, 373, 2, 2, 2222, 2223, 5, 400, 201, 2, 2223, 2224, 7, 374, 2, 2, 2224, 2226, 3, 2, 2, 2, 2225, 2221, 3, 2, 2, 2, 2225, 2226, 3, 2, 2, 2, 2226, 267, 3, 2, 2, 2, 2227, 2228, 9, 12, 2, 2, 2228, 269, 3, 2, 2, 2, 2229, 2234, 5, 272, 137, 2, 2230, 2231, 7, 371, 2, 2, 2231, 2233, 5, 272, 137, 2, 2232, 2230, 3, 2, 2, 2, 2233, 2236, 3, 2, 2, 2, 2234, 2232, 3, 2, 2, 2, 2234, 2235, 3, 2, 2, 2, 2235, 271, 3, 2, 2, 2, 2236, 2234, 3, 2, 2, 2, 2237, 2238, 7, 255, 2, 2, 2238, 2244, 5, 852, 427, 2, 2239, 2240, 7, 20, 2, 2, 2240, 2244, 5, 852, 427, 2, 2241, 2242, 7, 256, 2, 2, 2242, 2244, 5, 848, 425, 2, 2243, 2237, 3, 2, 2, 2, 2243, 2239, 3, 2, 2, 2, 2243, 2241, 3, 2, 2, 2, 2244, 273, 3, 2, 2, 2, 2245, 2246, 7, 156, 2, 2, 2246, 2247, 7, 193, 2, 2, 2247, 2248, 7, 229, 2, 2, 2248, 275, 3, 2, 2, 2, 2249, 2250, 7, 193, 2, 2, 2250, 2251, 7, 229, 2, 2, 2251, 2252, 7, 240, 2, 2, 2252, 277, 3, 2, 2, 2, 2253, 2254, 7, 262, 2, 2, 2254, 2255, 7, 229, 2, 2, 2255, 2256, 7, 240, 2, 2, 2256, 279, 3, 2, 2, 2, 2257, 2258, 7, 156, 2, 2, 2258, 2259, 7, 262, 2, 2, 2259, 2260, 7, 229, 2, 2, 2260, 281, 3, 2, 2, 2, 2261, 2263, 7, 49, 2, 2, 2262, 2264, 7, 50, 2, 2, 2263, 2262, 3, 2, 2, 2, 2263, 2264, 3, 2, 2, 2, 2264, 2274, 3, 2, 2, 2, 2265, 2266, 7, 40, 2, 2, 2266, 2269, 5, 670, 336, 2, 2267, 2268, 9, 13, 2, 2, 2268, 2270, 7, 39, 2, 2, 2269, 2267, 3, 2, 2, 2, 2269, 2270, 3, 2, 2, 2, 2270, 2275, 3, 2, 2, 2, 2271, 2273, 5, 834, 418, 2, 2272, 2271, 3, 2, 2, 2, 2272, 2273, 3, 2, 2, 2, 2273, 2275, 3, 2, 2, 2, 2274, 2265, 3, 2, 2, 2, 2274, 2272, 3, 2, 2, 2, 2275, 283, 3, 2, 2, 2, 2276, 2281, 5, 286, 144, 2, 2277, 2278, 7, 371, 2, 2, 2278, 2280, 5, 286, 144, 2, 2279, 2277, 3, 2, 2, 2, 2280, 2283, 3, 2, 2, 2, 2281, 2279, 3, 2, 2, 2, 2281, 2282, 3, 2, 2, 2, 2282, 285, 3, 2, 2, 2, 2283, 2281, 3, 2, 2, 2, 2284, 2285, 5, 288, 145, 2, 2285, 2286, 7, 400, 2, 2, 2286, 287, 3, 2, 2, 2, 2287, 2288, 9, 14, 2, 2, 2288, 289, 3, 2, 2, 2, 2289, 2291, 7, 69, 2, 2, 2290, 2292, 7, 145, 2, 2, 2291, 2290, 3, 2, 2, 2, 2291, 2292, 3, 2, 2, 2, 2292, 2293, 3, 2, 2, 2, 2293, 2294, 7, 146, 2, 2, 2294, 2295, 5, 850, 426, 2, 2295, 2296, 7, 25, 2, 2, 2296, 2299, 7, 400, 2, 2, 2297, 2298, 7, 54, 2, 2, 2298, 2300, 5, 284, 143, 2, 2299, 2297, 3, 2, 2, 2, 2299, 2300, 3, 2, 2, 2, 2300, 291, 3, 2, 2, 2, 2301, 2303, 7, 77, 2, 2, 2302, 2304, 7, 145, 2, 2, 2303, 2302, 3, 2, 2, 2, 2303, 2304, 3, 2, 2, 2, 2304, 2305, 3, 2, 2, 2, 2305, 2307, 7, 146, 2, 2, 2306, 2308, 5, 40, 21, 2, 2307, 2306, 3, 2, 2, 2, 2307, 2308, 3, 2, 2, 2, 2308, 2309, 3, 2, 2, 2, 2309, 2310, 5, 850, 426, 2, 2310, 293, 3, 2, 2, 2, 2311, 2312, 7, 273, 2, 2, 2312, 2313, 7, 146, 2, 2, 2313, 295, 3, 2, 2, 2, 2314, 2315, 7, 69, 2, 2, 2315, 2316, 7, 145, 2, 2, 2316, 2317, 7, 147, 2, 2, 2317, 2318, 7, 406, 2, 2, 2318, 2320, 7, 373, 2, 2, 2319, 2321, 5, 394, 198, 2, 2320, 2319, 3, 2, 2, 2, 2320, 2321, 3, 2, 2, 2, 2321, 2322, 3, 2, 2, 2, 2322, 2323, 7, 374, 2, 2, 2323, 2324, 5, 816, 409, 2, 2324, 297, 3, 2, 2, 2, 2325, 2326, 7, 77, 2, 2, 2326, 2327, 7, 145, 2, 2, 2327, 2329, 7, 147, 2, 2, 2328, 2330, 5, 40, 21, 2, 2329, 2328, 3, 2, 2, 2, 2329, 2330, 3, 2, 2, 2, 2330, 2331, 3, 2, 2, 2, 2331, 2332, 7, 406, 2, 2, 2332, 299, 3, 2, 2, 2, 2333, 2335, 7, 69, 2, 2, 2334, 2336, 5, 52, 27, 2, 2335, 2334, 3, 2, 2, 2, 2335, 2336, 3, 2, 2, 2, 2336, 2337, 3, 2, 2, 2, 2337, 2339, 7, 185, 2, 2, 2338, 2340, 5, 44, 23, 2, 2339, 2338, 3, 2, 2, 2, 2339, 2340, 3, 2, 2, 2, 2340, 2341, 3, 2, 2, 2, 2341, 2346, 5, 670, 336, 2, 2342, 2343, 7, 373, 2, 2, 2343, 2344, 5, 454, 228, 2, 2344, 2345, 7, 374, 2, 2, 2345, 2347, 3, 2, 2, 2, 2346, 2342, 3, 2, 2, 2, 2346, 2347, 3, 2, 2, 2, 2347, 2349, 3, 2, 2, 2, 2348, 2350, 5, 328, 165, 2, 2349, 2348, 3, 2, 2, 2, 2349, 2350, 3, 2, 2, 2, 2350, 2352, 3, 2, 2, 2, 2351, 2353, 5, 318, 160, 2, 2352, 2351, 3, 2, 2, 2, 2352, 2353, 3, 2, 2, 2, 2353, 2355, 3, 2, 2, 2, 2354, 2356, 5, 354, 178, 2, 2355, 2354, 3, 2, 2, 2, 2355, 2356, 3, 2, 2, 2, 2356, 2357, 3, 2, 2, 2, 2357, 2358, 7, 25, 2, 2, 2358, 2359, 5, 544, 273, 2, 2359, 301, 3, 2, 2, 2, 2360, 2362, 7, 69, 2, 2, 2361, 2363, 5, 52, 27, 2, 2362, 2361, 3, 2, 2, 2, 2362, 2363, 3, 2, 2, 2, 2363, 2364, 3, 2, 2, 2, 2364, 2365, 7, 190, 2, 2, 2365, 2367, 7, 185, 2, 2, 2366, 2368, 5, 44, 23, 2, 2367, 2366, 3, 2, 2, 2, 2367, 2368, 3, 2, 2, 2, 2368, 2369, 3, 2, 2, 2, 2369, 2377, 5, 670, 336, 2, 2370, 2373, 7, 373, 2, 2, 2371, 2374, 5, 454, 228, 2, 2372, 2374, 5, 396, 199, 2, 2373, 2371, 3, 2, 2, 2, 2373, 2372, 3, 2, 2, 2, 2374, 2375, 3, 2, 2, 2, 2375, 2376, 7, 374, 2, 2, 2376, 2378, 3, 2, 2, 2, 2377, 2370, 3, 2, 2, 2, 2377, 2378, 3, 2, 2, 2, 2378, 2382, 3, 2, 2, 2, 2379, 2381, 5, 304, 153, 2, 2380, 2379, 3, 2, 2, 2, 2381, 2384, 3, 2, 2, 2, 2382, 2380, 3, 2, 2, 2, 2382, 2383, 3, 2, 2, 2, 2383, 2385, 3, 2, 2, 2, 2384, 2382, 3, 2, 2, 2, 2385, 2386, 7, 25, 2, 2, 2386, 2387, 5, 544, 273, 2, 2387, 303, 3, 2, 2, 2, 2388, 2400, 5, 328, 165, 2, 2389, 2400, 5, 350, 176, 2, 2390, 2400, 5, 378, 190, 2, 2391, 2400, 5, 392, 197, 2, 2392, 2400, 5, 354, 178, 2, 2393, 2400, 5, 334, 168, 2, 2394, 2400, 5, 328, 165, 2, 2395, 2400, 5, 738, 370, 2, 2396, 2400, 5, 48, 25, 2, 2397, 2400, 5, 306, 154, 2, 2398, 2400, 5, 310, 156, 2, 2399, 2388, 3, 2, 2, 2, 2399, 2389, 3, 2, 2, 2, 2399, 2390, 3, 2, 2, 2, 2399, 2391, 3, 2, 2, 2, 2399, 2392, 3, 2, 2, 2, 2399, 2393, 3, 2, 2, 2, 2399, 2394, 3, 2, 2, 2, 2399, 2395, 3, 2, 2, 2, 2399, 2396, 3, 2, 2, 2, 2399, 2397, 3, 2, 2, 2, 2399, 2398, 3, 2, 2, 2, 2400, 305, 3, 2, 2, 2, 2401, 2403, 7, 357, 2, 2, 2402, 2404, 7, 358, 2, 2, 2403, 2402, 3, 2, 2, 2, 2403, 2404, 3, 2, 2, 2, 2404, 2405, 3, 2, 2, 2, 2405, 2406, 7, 359, 2, 2, 2406, 2407, 7, 405, 2, 2, 2407, 2421, 9, 15, 2, 2, 2408, 2410, 7, 357, 2, 2, 2409, 2411, 7, 358, 2, 2, 2410, 2409, 3, 2, 2, 2, 2410, 2411, 3, 2, 2, 2, 2411, 2412, 3, 2, 2, 2, 2412, 2413, 7, 360, 2, 2, 2413, 2418, 7, 400, 2, 2, 2414, 2415, 7, 361, 2, 2, 2415, 2416, 7, 94, 2, 2, 2416, 2417, 7, 95, 2, 2, 2417, 2419, 5, 308, 155, 2, 2418, 2414, 3, 2, 2, 2, 2418, 2419, 3, 2, 2, 2, 2419, 2421, 3, 2, 2, 2, 2420, 2401, 3, 2, 2, 2, 2420, 2408, 3, 2, 2, 2, 2421, 307, 3, 2, 2, 2, 2422, 2425, 5, 848, 425, 2, 2423, 2425, 7, 400, 2, 2, 2424, 2422, 3, 2, 2, 2, 2424, 2423, 3, 2, 2, 2, 2425, 309, 3, 2, 2, 2, 2426, 2428, 7, 156, 2, 2, 2427, 2426, 3, 2, 2, 2, 2427, 2428, 3, 2, 2, 2, 2428, 2429, 3, 2, 2, 2, 2429, 2430, 7, 113, 2, 2, 2430, 2431, 7, 362, 2, 2, 2431, 2444, 5, 850, 426, 2, 2432, 2433, 7, 37, 2, 2, 2433, 2434, 7, 373, 2, 2, 2434, 2439, 5, 848, 425, 2, 2435, 2436, 7, 371, 2, 2, 2436, 2438, 5, 848, 425, 2, 2437, 2435, 3, 2, 2, 2, 2438, 2441, 3, 2, 2, 2, 2439, 2437, 3, 2, 2, 2, 2439, 2440, 3, 2, 2, 2, 2440, 2442, 3, 2, 2, 2, 2441, 2439, 3, 2, 2, 2, 2442, 2443, 7, 374, 2, 2, 2443, 2445, 3, 2, 2, 2, 2444, 2432, 3, 2, 2, 2, 2444, 2445, 3, 2, 2, 2, 2445, 311, 3, 2, 2, 2, 2446, 2447, 7, 217, 2, 2, 2447, 2448, 7, 37, 2, 2, 2448, 2453, 7, 233, 2, 2, 2449, 2450, 7, 361, 2, 2, 2450, 2451, 7, 365, 2, 2, 2451, 2452, 7, 359, 2, 2, 2452, 2454, 5, 314, 158, 2, 2453, 2449, 3, 2, 2, 2, 2453, 2454, 3, 2, 2, 2, 2454, 313, 3, 2, 2, 2, 2455, 2457, 7, 96, 2, 2, 2456, 2458, 7, 405, 2, 2, 2457, 2456, 3, 2, 2, 2, 2457, 2458, 3, 2, 2, 2, 2458, 2459, 3, 2, 2, 2, 2459, 2460, 5, 316, 159, 2, 2460, 315, 3, 2, 2, 2, 2461, 2464, 7, 274, 2, 2, 2462, 2463, 7, 79, 2, 2, 2463, 2465, 7, 277, 2, 2, 2464, 2462, 3, 2, 2, 2, 2464, 2465, 3, 2, 2, 2, 2465, 2484, 3, 2, 2, 2, 2466, 2484, 7, 277, 2, 2, 2467, 2470, 7, 279, 2, 2, 2468, 2469, 7, 79, 2, 2, 2469, 2471, 9, 16, 2, 2, 2470, 2468, 3, 2, 2, 2, 2470, 2471, 3, 2, 2, 2, 2471, 2484, 3, 2, 2, 2, 2472, 2475, 7, 281, 2, 2, 2473, 2474, 7, 79, 2, 2, 2474, 2476, 9, 17, 2, 2, 2475, 2473, 3, 2, 2, 2, 2475, 2476, 3, 2, 2, 2, 2476, 2484, 3, 2, 2, 2, 2477, 2480, 7, 282, 2, 2, 2478, 2479, 7, 79, 2, 2, 2479, 2481, 7, 283, 2, 2, 2480, 2478, 3, 2, 2, 2, 2480, 2481, 3, 2, 2, 2, 2481, 2484, 3, 2, 2, 2, 2482, 2484, 7, 283, 2, 2, 2483, 2461, 3, 2, 2, 2, 2483, 2466, 3, 2, 2, 2, 2483, 2467, 3, 2, 2, 2, 2483, 2472, 3, 2, 2, 2, 2483, 2477, 3, 2, 2, 2, 2483, 2482, 3, 2, 2, 2, 2484, 317, 3, 2, 2, 2, 2485, 2486, 7, 108, 2, 2, 2486, 2487, 7, 37, 2, 2, 2487, 2488, 7, 373, 2, 2, 2488, 2489, 5, 400, 201, 2, 2489, 2490, 7, 374, 2, 2, 2490, 319, 3, 2, 2, 2, 2491, 2492, 7, 77, 2, 2, 2492, 2494, 7, 185, 2, 2, 2493, 2495, 5, 40, 21, 2, 2494, 2493, 3, 2, 2, 2, 2494, 2495, 3, 2, 2, 2, 2495, 2496, 3, 2, 2, 2, 2496, 2497, 5, 672, 337, 2, 2497, 321, 3, 2, 2, 2, 2498, 2499, 7, 77, 2, 2, 2499, 2500, 7, 190, 2, 2, 2500, 2502, 7, 185, 2, 2, 2501, 2503, 5, 40, 21, 2, 2502, 2501, 3, 2, 2, 2, 2502, 2503, 3, 2, 2, 2, 2503, 2504, 3, 2, 2, 2, 2504, 2505, 5, 672, 337, 2, 2505, 323, 3, 2, 2, 2, 2506, 2509, 5, 850, 426, 2, 2507, 2509, 7, 400, 2, 2, 2508, 2506, 3, 2, 2, 2, 2508, 2507, 3, 2, 2, 2, 2509, 325, 3, 2, 2, 2, 2510, 2513, 5, 848, 425, 2, 2511, 2513, 7, 400, 2, 2, 2512, 2510, 3, 2, 2, 2, 2512, 2511, 3, 2, 2, 2, 2513, 327, 3, 2, 2, 2, 2514, 2515, 7, 80, 2, 2, 2515, 2516, 7, 400, 2, 2, 2516, 329, 3, 2, 2, 2, 2517, 2518, 7, 54, 2, 2, 2518, 2519, 5, 332, 167, 2, 2519, 331, 3, 2, 2, 2, 2520, 2521, 9, 18, 2, 2, 2521, 333, 3, 2, 2, 2, 2522, 2523, 7, 108, 2, 2, 2523, 2524, 7, 21, 2, 2, 2524, 2525, 7, 373, 2, 2, 2525, 2530, 5, 480, 241, 2, 2526, 2527, 7, 371, 2, 2, 2527, 2529, 5, 480, 241, 2, 2528, 2526, 3, 2, 2, 2, 2529, 2532, 3, 2, 2, 2, 2530, 2528, 3, 2, 2, 2, 2530, 2531, 3, 2, 2, 2, 2531, 2533, 3, 2, 2, 2, 2532, 2530, 3, 2, 2, 2, 2533, 2534, 7, 374, 2, 2, 2534, 335, 3, 2, 2, 2, 2535, 2536, 7, 109, 2, 2, 2536, 2537, 7, 21, 2, 2, 2537, 2538, 7, 373, 2, 2, 2538, 2539, 5, 400, 201, 2, 2539, 2546, 7, 374, 2, 2, 2540, 2541, 7, 110, 2, 2, 2541, 2542, 7, 21, 2, 2, 2542, 2543, 7, 373, 2, 2, 2543, 2544, 5, 406, 204, 2, 2544, 2545, 7, 374, 2, 2, 2545, 2547, 3, 2, 2, 2, 2546, 2540, 3, 2, 2, 2, 2546, 2547, 3, 2, 2, 2, 2547, 2548, 3, 2, 2, 2, 2548, 2549, 7, 111, 2, 2, 2549, 2550, 7, 405, 2, 2, 2550, 2551, 7, 112, 2, 2, 2551, 337, 3, 2, 2, 2, 2552, 2553, 7, 236, 2, 2, 2553, 2554, 7, 21, 2, 2, 2554, 2555, 7, 373, 2, 2, 2555, 2556, 5, 400, 201, 2, 2556, 2557, 7, 374, 2, 2, 2557, 2558, 7, 37, 2, 2, 2558, 2559, 7, 373, 2, 2, 2559, 2560, 5, 436, 219, 2, 2560, 2562, 7, 374, 2, 2, 2561, 2563, 5, 50, 26, 2, 2562, 2561, 3, 2, 2, 2, 2562, 2563, 3, 2, 2, 2, 2563, 339, 3, 2, 2, 2, 2564, 2567, 5, 346, 174, 2, 2565, 2567, 5, 348, 175, 2, 2566, 2564, 3, 2, 2, 2, 2566, 2565, 3, 2, 2, 2, 2567, 341, 3, 2, 2, 2, 2568, 2569, 7, 218, 2, 2, 2569, 2570, 7, 400, 2, 2, 2570, 343, 3, 2, 2, 2, 2571, 2572, 7, 219, 2, 2, 2572, 2573, 7, 400, 2, 2, 2573, 345, 3, 2, 2, 2, 2574, 2575, 7, 113, 2, 2, 2575, 2576, 7, 115, 2, 2, 2576, 2577, 7, 155, 2, 2, 2577, 2581, 7, 400, 2, 2, 2578, 2579, 7, 156, 2, 2, 2579, 2580, 7, 158, 2, 2, 2580, 2582, 5, 356, 179, 2, 2581, 2578, 3, 2, 2, 2, 2581, 2582, 3, 2, 2, 2, 2582, 347, 3, 2, 2, 2, 2583, 2584, 7, 113, 2, 2, 2584, 2585, 7, 115, 2, 2, 2585, 2587, 7, 116, 2, 2, 2586, 2588, 5, 366, 184, 2, 2587, 2586, 3, 2, 2, 2, 2587, 2588, 3, 2, 2, 2, 2588, 2590, 3, 2, 2, 2, 2589, 2591, 5, 370, 186, 2, 2590, 2589, 3, 2, 2, 2, 2590, 2591, 3, 2, 2, 2, 2591, 2593, 3, 2, 2, 2, 2592, 2594, 5, 372, 187, 2, 2593, 2592, 3, 2, 2, 2, 2593, 2594, 3, 2, 2, 2, 2594, 2596, 3, 2, 2, 2, 2595, 2597, 5, 374, 188, 2, 2596, 2595, 3, 2, 2, 2, 2596, 2597, 3, 2, 2, 2, 2597, 2599, 3, 2, 2, 2, 2598, 2600, 5, 376, 189, 2, 2599, 2598, 3, 2, 2, 2, 2599, 2600, 3, 2, 2, 2, 2600, 349, 3, 2, 2, 2, 2601, 2604, 5, 348, 175, 2, 2602, 2604, 5, 346, 174, 2, 2603, 2601, 3, 2, 2, 2, 2603, 2602, 3, 2, 2, 2, 2604, 351, 3, 2, 2, 2, 2605, 2606, 7, 228, 2, 2, 2606, 2607, 5, 356, 179, 2, 2607, 353, 3, 2, 2, 2, 2608, 2609, 7, 164, 2, 2, 2609, 2610, 5, 356, 179, 2, 2610, 355, 3, 2, 2, 2, 2611, 2612, 7, 373, 2, 2, 2612, 2613, 5, 358, 180, 2, 2613, 2614, 7, 374, 2, 2, 2614, 357, 3, 2, 2, 2, 2615, 2620, 5, 360, 181, 2, 2616, 2617, 7, 371, 2, 2, 2617, 2619, 5, 360, 181, 2, 2618, 2616, 3, 2, 2, 2, 2619, 2622, 3, 2, 2, 2, 2620, 2618, 3, 2, 2, 2, 2620, 2621, 3, 2, 2, 2, 2621, 2632, 3, 2, 2, 2, 2622, 2620, 3, 2, 2, 2, 2623, 2628, 5, 364, 183, 2, 2624, 2625, 7, 371, 2, 2, 2625, 2627, 5, 364, 183, 2, 2626, 2624, 3, 2, 2, 2, 2627, 2630, 3, 2, 2, 2, 2628, 2626, 3, 2, 2, 2, 2628, 2629, 3, 2, 2, 2, 2629, 2632, 3, 2, 2, 2, 2630, 2628, 3, 2, 2, 2, 2631, 2615, 3, 2, 2, 2, 2631, 2623, 3, 2, 2, 2, 2632, 359, 3, 2, 2, 2, 2633, 2635, 5, 364, 183, 2, 2634, 2636, 7, 379, 2, 2, 2635, 2634, 3, 2, 2, 2, 2635, 2636, 3, 2, 2, 2, 2636, 2637, 3, 2, 2, 2, 2637, 2638, 5, 362, 182, 2, 2638, 361, 3, 2, 2, 2, 2639, 2643, 7, 405, 2, 2, 2640, 2643, 5, 828, 415, 2, 2641, 2643, 7, 400, 2, 2, 2642, 2639, 3, 2, 2, 2, 2642, 2640, 3, 2, 2, 2, 2642, 2641, 3, 2, 2, 2, 2643, 363, 3, 2, 2, 2, 2644, 2649, 5, 848, 425, 2, 2645, 2646, 7, 369, 2, 2, 2646, 2648, 5, 848, 425, 2, 2647, 2645, 3, 2, 2, 2, 2648, 2651, 3, 2, 2, 2, 2649, 2647, 3, 2, 2, 2, 2649, 2650, 3, 2, 2, 2, 2650, 2654, 3, 2, 2, 2, 2651, 2649, 3, 2, 2, 2, 2652, 2654, 7, 400, 2, 2, 2653, 2644, 3, 2, 2, 2, 2653, 2652, 3, 2, 2, 2, 2654, 365, 3, 2, 2, 2, 2655, 2656, 7, 117, 2, 2, 2656, 2657, 7, 118, 2, 2, 2657, 2658, 7, 21, 2, 2, 2658, 2660, 7, 400, 2, 2, 2659, 2661, 5, 368, 185, 2, 2660, 2659, 3, 2, 2, 2, 2660, 2661, 3, 2, 2, 2, 2661, 367, 3, 2, 2, 2, 2662, 2663, 7, 119, 2, 2, 2663, 2664, 7, 21, 2, 2, 2664, 2665, 7, 400, 2, 2, 2665, 369, 3, 2, 2, 2, 2666, 2667, 7, 120, 2, 2, 2667, 2668, 7, 121, 2, 2, 2668, 2669, 7, 118, 2, 2, 2669, 2670, 7, 21, 2, 2, 2670, 2671, 7, 400, 2, 2, 2671, 371, 3, 2, 2, 2, 2672, 2673, 7, 103, 2, 2, 2673, 2674, 7, 122, 2, 2, 2674, 2675, 7, 118, 2, 2, 2675, 2676, 7, 21, 2, 2, 2676, 2677, 7, 400, 2, 2, 2677, 373, 3, 2, 2, 2, 2678, 2679, 7, 125, 2, 2, 2679, 2680, 7, 118, 2, 2, 2680, 2681, 7, 21, 2, 2, 2681, 2682, 7, 400, 2, 2, 2682, 375, 3, 2, 2, 2, 2683, 2684, 7, 68, 2, 2, 2684, 2685, 7, 168, 2, 2, 2685, 2686, 7, 25, 2, 2, 2686, 2687, 7, 400, 2, 2, 2687, 377, 3, 2, 2, 2, 2688, 2692, 5, 386, 194, 2, 2689, 2692, 5, 380, 191, 2, 2690, 2692, 5, 382, 192, 2, 2691, 2688, 3, 2, 2, 2, 2691, 2689, 3, 2, 2, 2, 2691, 2690, 3, 2, 2, 2, 2692, 379, 3, 2, 2, 2, 2693, 2694, 7, 126, 2, 2, 2694, 2695, 7, 21, 2, 2, 2695, 2699, 7, 400, 2, 2, 2696, 2697, 7, 156, 2, 2, 2697, 2698, 7, 158, 2, 2, 2698, 2700, 5, 356, 179, 2, 2699, 2696, 3, 2, 2, 2, 2699, 2700, 3, 2, 2, 2, 2700, 381, 3, 2, 2, 2, 2701, 2702, 7, 126, 2, 2, 2702, 2703, 7, 25, 2, 2, 2703, 2704, 5, 384, 193, 2, 2704, 383, 3, 2, 2, 2, 2705, 2706, 9, 19, 2, 2, 2706, 385, 3, 2, 2, 2, 2707, 2708, 7, 126, 2, 2, 2708, 2709, 7, 25, 2, 2, 2709, 2710, 5, 388, 195, 2, 2710, 2715, 5, 390, 196, 2, 2711, 2712, 7, 130, 2, 2, 2712, 2713, 7, 400, 2, 2, 2713, 2714, 7, 131, 2, 2, 2714, 2716, 7, 400, 2, 2, 2715, 2711, 3, 2, 2, 2, 2715, 2716, 3, 2, 2, 2, 2716, 387, 3, 2, 2, 2, 2717, 2718, 7, 128, 2, 2, 2718, 2719, 7, 400, 2, 2, 2719, 389, 3, 2, 2, 2, 2720, 2721, 7, 129, 2, 2, 2721, 2722, 7, 400, 2, 2, 2722, 391, 3, 2, 2, 2, 2723, 2724, 7, 134, 2, 2, 2724, 2725, 7, 400, 2, 2, 2725, 393, 3, 2, 2, 2, 2726, 2731, 5, 460, 231, 2, 2727, 2728, 7, 371, 2, 2, 2728, 2730, 5, 460, 231, 2, 2729, 2727, 3, 2, 2, 2, 2730, 2733, 3, 2, 2, 2, 2731, 2729, 3, 2, 2, 2, 2731, 2732, 3, 2, 2, 2, 2732, 395, 3, 2, 2, 2, 2733, 2731, 3, 2, 2, 2, 2734, 2739, 5, 462, 232, 2, 2735, 2736, 7, 371, 2, 2, 2736, 2738, 5, 462, 232, 2, 2737, 2735, 3, 2, 2, 2, 2738, 2741, 3, 2, 2, 2, 2739, 2737, 3, 2, 2, 2, 2739, 2740, 3, 2, 2, 2, 2740, 397, 3, 2, 2, 2, 2741, 2739, 3, 2, 2, 2, 2742, 2747, 5, 504, 253, 2, 2743, 2744, 7, 371, 2, 2, 2744, 2746, 5, 504, 253, 2, 2745, 2743, 3, 2, 2, 2, 2746, 2749, 3, 2, 2, 2, 2747, 2745, 3, 2, 2, 2, 2747, 2748, 3, 2, 2, 2, 2748, 399, 3, 2, 2, 2, 2749, 2747, 3, 2, 2, 2, 2750, 2755, 5, 402, 202, 2, 2751, 2752, 7, 371, 2, 2, 2752, 2754, 5, 402, 202, 2, 2753, 2751, 3, 2, 2, 2, 2754, 2757, 3, 2, 2, 2, 2755, 2753, 3, 2, 2, 2, 2755, 2756, 3, 2, 2, 2, 2756, 401, 3, 2, 2, 2, 2757, 2755, 3, 2, 2, 2, 2758, 2759, 5, 848, 425, 2, 2759, 403, 3, 2, 2, 2, 2760, 2770, 5, 848, 425, 2, 2761, 2766, 7, 369, 2, 2, 2762, 2767, 7, 167, 2, 2, 2763, 2767, 7, 123, 2, 2, 2764, 2767, 7, 166, 2, 2, 2765, 2767, 5, 848, 425, 2, 2766, 2762, 3, 2, 2, 2, 2766, 2763, 3, 2, 2, 2, 2766, 2764, 3, 2, 2, 2, 2766, 2765, 3, 2, 2, 2, 2767, 2769, 3, 2, 2, 2, 2768, 2761, 3, 2, 2, 2, 2769, 2772, 3, 2, 2, 2, 2770, 2768, 3, 2, 2, 2, 2770, 2771, 3, 2, 2, 2, 2771, 405, 3, 2, 2, 2, 2772, 2770, 3, 2, 2, 2, 2773, 2778, 5, 452, 227, 2, 2774, 2775, 7, 371, 2, 2, 2775, 2777, 5, 452, 227, 2, 2776, 2774, 3, 2, 2, 2, 2777, 2780, 3, 2, 2, 2, 2778, 2776, 3, 2, 2, 2, 2778, 2779, 3, 2, 2, 2, 2779, 407, 3, 2, 2, 2, 2780, 2778, 3, 2, 2, 2, 2781, 2782, 7, 373, 2, 2, 2782, 2783, 5, 400, 201, 2, 2783, 2784, 7, 374, 2, 2, 2784, 409, 3, 2, 2, 2, 2785, 2787, 5, 412, 207, 2, 2786, 2788, 5, 414, 208, 2, 2787, 2786, 3, 2, 2, 2, 2787, 2788, 3, 2, 2, 2, 2788, 2791, 3, 2, 2, 2, 2789, 2791, 5, 416, 209, 2, 2790, 2785, 3, 2, 2, 2, 2790, 2789, 3, 2, 2, 2, 2791, 411, 3, 2, 2, 2, 2792, 2793, 9, 20, 2, 2, 2793, 413, 3, 2, 2, 2, 2794, 2795, 9, 21, 2, 2, 2795, 415, 3, 2, 2, 2, 2796, 2800, 7, 300, 2, 2, 2797, 2798, 7, 10, 2, 2, 2798, 2800, 7, 300, 2, 2, 2799, 2796, 3, 2, 2, 2, 2799, 2797, 3, 2, 2, 2, 2800, 417, 3, 2, 2, 2, 2801, 2806, 7, 303, 2, 2, 2802, 2804, 7, 304, 2, 2, 2803, 2802, 3, 2, 2, 2, 2803, 2804, 3, 2, 2, 2, 2804, 2806, 3, 2, 2, 2, 2805, 2801, 3, 2, 2, 2, 2805, 2803, 3, 2, 2, 2, 2806, 419, 3, 2, 2, 2, 2807, 2808, 7, 299, 2, 2, 2808, 2810, 5, 848, 425, 2, 2809, 2807, 3, 2, 2, 2, 2809, 2810, 3, 2, 2, 2, 2810, 2811, 3, 2, 2, 2, 2811, 2813, 5, 424, 213, 2, 2812, 2814, 5, 500, 251, 2, 2813, 2812, 3, 2, 2, 2, 2813, 2814, 3, 2, 2, 2, 2814, 421, 3, 2, 2, 2, 2815, 2816, 7, 299, 2, 2, 2816, 2817, 5, 848, 425, 2, 2817, 2819, 5, 424, 213, 2, 2818, 2820, 5, 502, 252, 2, 2819, 2818, 3, 2, 2, 2, 2819, 2820, 3, 2, 2, 2, 2820, 423, 3, 2, 2, 2, 2821, 2826, 5, 426, 214, 2, 2822, 2826, 5, 428, 215, 2, 2823, 2826, 5, 430, 216, 2, 2824, 2826, 5, 432, 217, 2, 2825, 2821, 3, 2, 2, 2, 2825, 2822, 3, 2, 2, 2, 2825, 2823, 3, 2, 2, 2, 2825, 2824, 3, 2, 2, 2, 2826, 425, 3, 2, 2, 2, 2827, 2828, 5, 498, 250, 2, 2828, 2829, 5, 408, 205, 2, 2829, 427, 3, 2, 2, 2, 2830, 2831, 7, 327, 2, 2, 2831, 2832, 5, 816, 409, 2, 2832, 429, 3, 2, 2, 2, 2833, 2834, 7, 366, 2, 2, 2834, 2835, 7, 373, 2, 2, 2835, 2836, 5, 816, 409, 2, 2836, 2845, 7, 374, 2, 2, 2837, 2838, 7, 37, 2, 2, 2838, 2843, 7, 367, 2, 2, 2839, 2840, 7, 368, 2, 2, 2840, 2844, 7, 233, 2, 2, 2841, 2842, 7, 77, 2, 2, 2842, 2844, 7, 113, 2, 2, 2843, 2839, 3, 2, 2, 2, 2843, 2841, 3, 2, 2, 2, 2844, 2846, 3, 2, 2, 2, 2845, 2837, 3, 2, 2, 2, 2845, 2846, 3, 2, 2, 2, 2846, 431, 3, 2, 2, 2, 2847, 2848, 7, 299, 2, 2, 2848, 2850, 5, 848, 425, 2, 2849, 2847, 3, 2, 2, 2, 2849, 2850, 3, 2, 2, 2, 2850, 2851, 3, 2, 2, 2, 2851, 2852, 7, 297, 2, 2, 2852, 2853, 7, 306, 2, 2, 2853, 2854, 5, 408, 205, 2, 2854, 2855, 7, 298, 2, 2, 2855, 2856, 5, 670, 336, 2, 2856, 2858, 5, 408, 205, 2, 2857, 2859, 5, 500, 251, 2, 2858, 2857, 3, 2, 2, 2, 2858, 2859, 3, 2, 2, 2, 2859, 433, 3, 2, 2, 2, 2860, 2861, 7, 299, 2, 2, 2861, 2862, 5, 848, 425, 2, 2862, 2863, 7, 297, 2, 2, 2863, 2864, 7, 306, 2, 2, 2864, 2865, 5, 408, 205, 2, 2865, 2866, 7, 298, 2, 2, 2866, 2867, 5, 670, 336, 2, 2867, 2869, 5, 408, 205, 2, 2868, 2870, 5, 502, 252, 2, 2869, 2868, 3, 2, 2, 2, 2869, 2870, 3, 2, 2, 2, 2870, 435, 3, 2, 2, 2, 2871, 2874, 5, 442, 222, 2, 2872, 2874, 5, 438, 220, 2, 2873, 2871, 3, 2, 2, 2, 2873, 2872, 3, 2, 2, 2, 2874, 437, 3, 2, 2, 2, 2875, 2880, 5, 440, 221, 2, 2876, 2877, 7, 371, 2, 2, 2877, 2879, 5, 440, 221, 2, 2878, 2876, 3, 2, 2, 2, 2879, 2882, 3, 2, 2, 2, 2880, 2878, 3, 2, 2, 2, 2880, 2881, 3, 2, 2, 2, 2881, 439, 3, 2, 2, 2, 2882, 2880, 3, 2, 2, 2, 2883, 2884, 7, 373, 2, 2, 2884, 2885, 5, 442, 222, 2, 2885, 2886, 7, 374, 2, 2, 2886, 441, 3, 2, 2, 2, 2887, 2892, 5, 444, 223, 2, 2888, 2889, 7, 371, 2, 2, 2889, 2891, 5, 444, 223, 2, 2890, 2888, 3, 2, 2, 2, 2891, 2894, 3, 2, 2, 2, 2892, 2890, 3, 2, 2, 2, 2892, 2893, 3, 2, 2, 2, 2893, 443, 3, 2, 2, 2, 2894, 2892, 3, 2, 2, 2, 2895, 2896, 5, 764, 383, 2, 2896, 445, 3, 2, 2, 2, 2897, 2900, 5, 444, 223, 2, 2898, 2900, 5, 440, 221, 2, 2899, 2897, 3, 2, 2, 2, 2899, 2898, 3, 2, 2, 2, 2900, 447, 3, 2, 2, 2, 2901, 2902, 9, 22, 2, 2, 2902, 449, 3, 2, 2, 2, 2903, 2904, 7, 17, 2, 2, 2904, 2908, 7, 74, 2, 2, 2905, 2906, 7, 17, 2, 2, 2906, 2908, 7, 18, 2, 2, 2907, 2903, 3, 2, 2, 2, 2907, 2905, 3, 2, 2, 2, 2908, 451, 3, 2, 2, 2, 2909, 2911, 5, 848, 425, 2, 2910, 2912, 5, 448, 225, 2, 2911, 2910, 3, 2, 2, 2, 2911, 2912, 3, 2, 2, 2, 2912, 2914, 3, 2, 2, 2, 2913, 2915, 5, 450, 226, 2, 2914, 2913, 3, 2, 2, 2, 2914, 2915, 3, 2, 2, 2, 2915, 453, 3, 2, 2, 2, 2916, 2921, 5, 456, 229, 2, 2917, 2918, 7, 371, 2, 2, 2918, 2920, 5, 456, 229, 2, 2919, 2917, 3, 2, 2, 2, 2920, 2923, 3, 2, 2, 2, 2921, 2919, 3, 2, 2, 2, 2921, 2922, 3, 2, 2, 2, 2922, 455, 3, 2, 2, 2, 2923, 2921, 3, 2, 2, 2, 2924, 2927, 5, 848, 425, 2, 2925, 2926, 7, 80, 2, 2, 2926, 2928, 7, 400, 2, 2, 2927, 2925, 3, 2, 2, 2, 2927, 2928, 3, 2, 2, 2, 2928, 457, 3, 2, 2, 2, 2929, 2931, 5, 816, 409, 2, 2930, 2932, 5, 448, 225, 2, 2931, 2930, 3, 2, 2, 2, 2931, 2932, 3, 2, 2, 2, 2932, 2934, 3, 2, 2, 2, 2933, 2935, 5, 450, 226, 2, 2934, 2933, 3, 2, 2, 2, 2934, 2935, 3, 2, 2, 2, 2935, 459, 3, 2, 2, 2, 2936, 2937, 5, 848, 425, 2, 2937, 2940, 5, 506, 254, 2, 2938, 2939, 7, 80, 2, 2, 2939, 2941, 7, 400, 2, 2, 2940, 2938, 3, 2, 2, 2, 2940, 2941, 3, 2, 2, 2, 2941, 461, 3, 2, 2, 2, 2942, 2945, 5, 464, 233, 2, 2943, 2945, 5, 466, 234, 2, 2944, 2942, 3, 2, 2, 2, 2944, 2943, 3, 2, 2, 2, 2945, 463, 3, 2, 2, 2, 2946, 2949, 5, 432, 217, 2, 2947, 2949, 5, 420, 211, 2, 2948, 2946, 3, 2, 2, 2, 2948, 2947, 3, 2, 2, 2, 2949, 465, 3, 2, 2, 2, 2950, 2951, 5, 848, 425, 2, 2951, 2955, 5, 506, 254, 2, 2952, 2954, 5, 482, 242, 2, 2953, 2952, 3, 2, 2, 2, 2954, 2957, 3, 2, 2, 2, 2955, 2953, 3, 2, 2, 2, 2955, 2956, 3, 2, 2, 2, 2956, 467, 3, 2, 2, 2, 2957, 2955, 3, 2, 2, 2, 2958, 2961, 7, 353, 2, 2, 2959, 2962, 5, 470, 236, 2, 2960, 2962, 5, 472, 237, 2, 2961, 2959, 3, 2, 2, 2, 2961, 2960, 3, 2, 2, 2, 2962, 469, 3, 2, 2, 2, 2963, 2964, 7, 354, 2, 2, 2964, 2965, 7, 25, 2, 2, 2965, 2966, 7, 373, 2, 2, 2966, 2967, 5, 816, 409, 2, 2967, 2968, 7, 374, 2, 2, 2968, 471, 3, 2, 2, 2, 2969, 2973, 7, 354, 2, 2, 2970, 2971, 7, 21, 2, 2, 2971, 2973, 7, 326, 2, 2, 2972, 2969, 3, 2, 2, 2, 2972, 2970, 3, 2, 2, 2, 2973, 2974, 3, 2, 2, 2, 2974, 2975, 7, 25, 2, 2, 2975, 2980, 7, 355, 2, 2, 2976, 2977, 7, 373, 2, 2, 2977, 2978, 5, 474, 238, 2, 2978, 2979, 7, 374, 2, 2, 2979, 2981, 3, 2, 2, 2, 2980, 2976, 3, 2, 2, 2, 2980, 2981, 3, 2, 2, 2, 2981, 473, 3, 2, 2, 2, 2982, 2984, 5, 476, 239, 2, 2983, 2982, 3, 2, 2, 2, 2983, 2984, 3, 2, 2, 2, 2984, 2986, 3, 2, 2, 2, 2985, 2987, 5, 478, 240, 2, 2986, 2985, 3, 2, 2, 2, 2986, 2987, 3, 2, 2, 2, 2987, 475, 3, 2, 2, 2, 2988, 2989, 7, 284, 2, 2, 2989, 2990, 7, 156, 2, 2, 2990, 2991, 7, 405, 2, 2, 2991, 477, 3, 2, 2, 2, 2992, 2993, 7, 356, 2, 2, 2993, 2994, 7, 21, 2, 2, 2994, 2995, 7, 405, 2, 2, 2995, 479, 3, 2, 2, 2, 2996, 2998, 5, 848, 425, 2, 2997, 2999, 5, 506, 254, 2, 2998, 2997, 3, 2, 2, 2, 2998, 2999, 3, 2, 2, 2, 2999, 481, 3, 2, 2, 2, 3000, 3003, 5, 484, 243, 2, 3001, 3003, 5, 486, 244, 2, 3002, 3000, 3, 2, 2, 2, 3002, 3001, 3, 2, 2, 2, 3003, 483, 3, 2, 2, 2, 3004, 3005, 7, 299, 2, 2, 3005, 3007, 5, 848, 425, 2, 3006, 3004, 3, 2, 2, 2, 3006, 3007, 3, 2, 2, 2, 3007, 3008, 3, 2, 2, 2, 3008, 3009, 7, 298, 2, 2, 3009, 3010, 5, 670, 336, 2, 3010, 3011, 7, 373, 2, 2, 3011, 3012, 5, 402, 202, 2, 3012, 3014, 7, 374, 2, 2, 3013, 3015, 5, 500, 251, 2, 3014, 3013, 3, 2, 2, 2, 3014, 3015, 3, 2, 2, 2, 3015, 485, 3, 2, 2, 2, 3016, 3017, 7, 299, 2, 2, 3017, 3019, 5, 848, 425, 2, 3018, 3016, 3, 2, 2, 2, 3018, 3019, 3, 2, 2, 2, 3019, 3020, 3, 2, 2, 2, 3020, 3024, 5, 494, 248, 2, 3021, 3023, 5, 494, 248, 2, 3022, 3021, 3, 2, 2, 2, 3023, 3026, 3, 2, 2, 2, 3024, 3022, 3, 2, 2, 2, 3024, 3025, 3, 2, 2, 2, 3025, 3028, 3, 2, 2, 2, 3026, 3024, 3, 2, 2, 2, 3027, 3029, 5, 500, 251, 2, 3028, 3027, 3, 2, 2, 2, 3028, 3029, 3, 2, 2, 2, 3029, 487, 3, 2, 2, 2, 3030, 3033, 5, 490, 246, 2, 3031, 3033, 5, 492, 247, 2, 3032, 3030, 3, 2, 2, 2, 3032, 3031, 3, 2, 2, 2, 3033, 489, 3, 2, 2, 2, 3034, 3035, 7, 299, 2, 2, 3035, 3037, 5, 848, 425, 2, 3036, 3034, 3, 2, 2, 2, 3036, 3037, 3, 2, 2, 2, 3037, 3038, 3, 2, 2, 2, 3038, 3039, 7, 298, 2, 2, 3039, 3040, 5, 670, 336, 2, 3040, 3041, 7, 373, 2, 2, 3041, 3042, 5, 402, 202, 2, 3042, 3044, 7, 374, 2, 2, 3043, 3045, 5, 502, 252, 2, 3044, 3043, 3, 2, 2, 2, 3044, 3045, 3, 2, 2, 2, 3045, 491, 3, 2, 2, 2, 3046, 3047, 7, 299, 2, 2, 3047, 3049, 5, 848, 425, 2, 3048, 3046, 3, 2, 2, 2, 3048, 3049, 3, 2, 2, 2, 3049, 3050, 3, 2, 2, 2, 3050, 3052, 5, 494, 248, 2, 3051, 3053, 5, 502, 252, 2, 3052, 3051, 3, 2, 2, 2, 3052, 3053, 3, 2, 2, 2, 3053, 493, 3, 2, 2, 2, 3054, 3055, 7, 10, 2, 2, 3055, 3066, 7, 68, 2, 2, 3056, 3057, 7, 326, 2, 2, 3057, 3066, 5, 496, 249, 2, 3058, 3066, 5, 468, 235, 2, 3059, 3066, 5, 428, 215, 2, 3060, 3066, 5, 498, 250, 2, 3061, 3062, 7, 80, 2, 2, 3062, 3066, 7, 400, 2, 2, 3063, 3064, 7, 104, 2, 2, 3064, 3066, 5, 850, 426, 2, 3065, 3054, 3, 2, 2, 2, 3065, 3056, 3, 2, 2, 2, 3065, 3058, 3, 2, 2, 2, 3065, 3059, 3, 2, 2, 2, 3065, 3060, 3, 2, 2, 2, 3065, 3061, 3, 2, 2, 2, 3065, 3063, 3, 2, 2, 2, 3066, 495, 3, 2, 2, 2, 3067, 3072, 5, 764, 383, 2, 3068, 3072, 5, 746, 374, 2, 3069, 3072, 5, 750, 376, 2, 3070, 3072, 5, 848, 425, 2, 3071, 3067, 3, 2, 2, 2, 3071, 3068, 3, 2, 2, 2, 3071, 3069, 3, 2, 2, 2, 3071, 3070, 3, 2, 2, 2, 3072, 497, 3, 2, 2, 2, 3073, 3074, 7, 296, 2, 2, 3074, 3077, 7, 306, 2, 2, 3075, 3077, 7, 305, 2, 2, 3076, 3073, 3, 2, 2, 2, 3076, 3075, 3, 2, 2, 2, 3077, 499, 3, 2, 2, 2, 3078, 3080, 5, 410, 206, 2, 3079, 3078, 3, 2, 2, 2, 3079, 3080, 3, 2, 2, 2, 3080, 3081, 3, 2, 2, 2, 3081, 3082, 5, 418, 210, 2, 3082, 501, 3, 2, 2, 2, 3083, 3085, 5, 410, 206, 2, 3084, 3083, 3, 2, 2, 2, 3084, 3085, 3, 2, 2, 2, 3085, 3086, 3, 2, 2, 2, 3086, 3087, 5, 418, 210, 2, 3087, 503, 3, 2, 2, 2, 3088, 3089, 5, 848, 425, 2, 3089, 3090, 7, 370, 2, 2, 3090, 3093, 5, 506, 254, 2, 3091, 3092, 7, 80, 2, 2, 3092, 3094, 7, 400, 2, 2, 3093, 3091, 3, 2, 2, 2, 3093, 3094, 3, 2, 2, 2, 3094, 505, 3, 2, 2, 2, 3095, 3096, 5, 510, 256, 2, 3096, 507, 3, 2, 2, 2, 3097, 3102, 5, 506, 254, 2, 3098, 3099, 7, 371, 2, 2, 3099, 3101, 5, 506, 254, 2, 3100, 3098, 3, 2, 2, 2, 3101, 3104, 3, 2, 2, 2, 3102, 3100, 3, 2, 2, 2, 3102, 3103, 3, 2, 2, 2, 3103, 509, 3, 2, 2, 2, 3104, 3102, 3, 2, 2, 2, 3105, 3111, 5, 512, 257, 2, 3106, 3111, 5, 514, 258, 2, 3107, 3111, 5, 516, 259, 2, 3108, 3111, 5, 518, 260, 2, 3109, 3111, 5, 520, 261, 2, 3110, 3105, 3, 2, 2, 2, 3110, 3106, 3, 2, 2, 2, 3110, 3107, 3, 2, 2, 2, 3110, 3108, 3, 2, 2, 2, 3110, 3109, 3, 2, 2, 2, 3111, 511, 3, 2, 2, 2, 3112, 3154, 7, 82, 2, 2, 3113, 3154, 7, 83, 2, 2, 3114, 3154, 7, 84, 2, 2, 3115, 3154, 7, 85, 2, 2, 3116, 3154, 7, 81, 2, 2, 3117, 3154, 7, 86, 2, 2, 3118, 3120, 7, 87, 2, 2, 3119, 3121, 7, 88, 2, 2, 3120, 3119, 3, 2, 2, 2, 3120, 3121, 3, 2, 2, 2, 3121, 3154, 3, 2, 2, 2, 3122, 3154, 7, 89, 2, 2, 3123, 3154, 7, 90, 2, 2, 3124, 3154, 7, 91, 2, 2, 3125, 3154, 7, 92, 2, 2, 3126, 3154, 7, 93, 2, 2, 3127, 3128, 7, 91, 2, 2, 3128, 3129, 7, 156, 2, 2, 3129, 3130, 7, 52, 2, 2, 3130, 3131, 7, 94, 2, 2, 3131, 3154, 7, 95, 2, 2, 3132, 3154, 7, 98, 2, 2, 3133, 3154, 7, 213, 2, 2, 3134, 3142, 7, 97, 2, 2, 3135, 3136, 7, 373, 2, 2, 3136, 3139, 7, 405, 2, 2, 3137, 3138, 7, 371, 2, 2, 3138, 3140, 7, 405, 2, 2, 3139, 3137, 3, 2, 2, 2, 3139, 3140, 3, 2, 2, 2, 3140, 3141, 3, 2, 2, 2, 3141, 3143, 7, 374, 2, 2, 3142, 3135, 3, 2, 2, 2, 3142, 3143, 3, 2, 2, 2, 3143, 3154, 3, 2, 2, 2, 3144, 3145, 7, 100, 2, 2, 3145, 3146, 7, 373, 2, 2, 3146, 3147, 7, 405, 2, 2, 3147, 3154, 7, 374, 2, 2, 3148, 3149, 7, 99, 2, 2, 3149, 3150, 7, 373, 2, 2, 3150, 3151, 7, 405, 2, 2, 3151, 3154, 7, 374, 2, 2, 3152, 3154, 7, 105, 2, 2, 3153, 3112, 3, 2, 2, 2, 3153, 3113, 3, 2, 2, 2, 3153, 3114, 3, 2, 2, 2, 3153, 3115, 3, 2, 2, 2, 3153, 3116, 3, 2, 2, 2, 3153, 3117, 3, 2, 2, 2, 3153, 3118, 3, 2, 2, 2, 3153, 3122, 3, 2, 2, 2, 3153, 3123, 3, 2, 2, 2, 3153, 3124, 3, 2, 2, 2, 3153, 3125, 3, 2, 2, 2, 3153, 3126, 3, 2, 2, 2, 3153, 3127, 3, 2, 2, 2, 3153, 3132, 3, 2, 2, 2, 3153, 3133, 3, 2, 2, 2, 3153, 3134, 3, 2, 2, 2, 3153, 3144, 3, 2, 2, 2, 3153, 3148, 3, 2, 2, 2, 3153, 3152, 3, 2, 2, 2, 3154, 513, 3, 2, 2, 2, 3155, 3156, 7, 101, 2, 2, 3156, 3157, 7, 383, 2, 2, 3157, 3158, 5, 510, 256, 2, 3158, 3159, 7, 385, 2, 2, 3159, 515, 3, 2, 2, 2, 3160, 3161, 7, 102, 2, 2, 3161, 3162, 7, 383, 2, 2, 3162, 3163, 5, 398, 200, 2, 3163, 3164, 7, 385, 2, 2, 3164, 517, 3, 2, 2, 2, 3165, 3166, 7, 103, 2, 2, 3166, 3167, 7, 383, 2, 2, 3167, 3168, 5, 512, 257, 2, 3168, 3169, 7, 371, 2, 2, 3169, 3170, 5, 510, 256, 2, 3170, 3171, 7, 385, 2, 2, 3171, 519, 3, 2, 2, 2, 3172, 3173, 7, 106, 2, 2, 3173, 3174, 7, 383, 2, 2, 3174, 3175, 5, 508, 255, 2, 3175, 3176, 7, 385, 2, 2, 3176, 521, 3, 2, 2, 2, 3177, 3178, 7, 58, 2, 2, 3178, 3202, 7, 5, 2, 2, 3179, 3181, 7, 58, 2, 2, 3180, 3182, 7, 27, 2, 2, 3181, 3180, 3, 2, 2, 2, 3181, 3182, 3, 2, 2, 2, 3182, 3202, 3, 2, 2, 2, 3183, 3184, 7, 184, 2, 2, 3184, 3202, 7, 5, 2, 2, 3185, 3187, 7, 184, 2, 2, 3186, 3188, 7, 27, 2, 2, 3187, 3186, 3, 2, 2, 2, 3187, 3188, 3, 2, 2, 2, 3188, 3202, 3, 2, 2, 2, 3189, 3190, 7, 59, 2, 2, 3190, 3202, 7, 5, 2, 2, 3191, 3193, 7, 59, 2, 2, 3192, 3194, 7, 27, 2, 2, 3193, 3192, 3, 2, 2, 2, 3193, 3194, 3, 2, 2, 2, 3194, 3202, 3, 2, 2, 2, 3195, 3196, 7, 182, 2, 2, 3196, 3202, 7, 5, 2, 2, 3197, 3199, 7, 182, 2, 2, 3198, 3200, 7, 27, 2, 2, 3199, 3198, 3, 2, 2, 2, 3199, 3200, 3, 2, 2, 2, 3200, 3202, 3, 2, 2, 2, 3201, 3177, 3, 2, 2, 2, 3201, 3179, 3, 2, 2, 2, 3201, 3183, 3, 2, 2, 2, 3201, 3185, 3, 2, 2, 2, 3201, 3189, 3, 2, 2, 2, 3201, 3191, 3, 2, 2, 2, 3201, 3195, 3, 2, 2, 2, 3201, 3197, 3, 2, 2, 2, 3202, 523, 3, 2, 2, 2, 3203, 3205, 5, 528, 265, 2, 3204, 3203, 3, 2, 2, 2, 3204, 3205, 3, 2, 2, 2, 3205, 3206, 3, 2, 2, 2, 3206, 3207, 5, 526, 264, 2, 3207, 525, 3, 2, 2, 2, 3208, 3211, 5, 532, 267, 2, 3209, 3211, 5, 536, 269, 2, 3210, 3208, 3, 2, 2, 2, 3210, 3209, 3, 2, 2, 2, 3211, 527, 3, 2, 2, 2, 3212, 3213, 7, 156, 2, 2, 3213, 3218, 5, 530, 266, 2, 3214, 3215, 7, 371, 2, 2, 3215, 3217, 5, 530, 266, 2, 3216, 3214, 3, 2, 2, 2, 3217, 3220, 3, 2, 2, 2, 3218, 3216, 3, 2, 2, 2, 3218, 3219, 3, 2, 2, 2, 3219, 529, 3, 2, 2, 2, 3220, 3218, 3, 2, 2, 2, 3221, 3222, 5, 848, 425, 2, 3222, 3223, 7, 25, 2, 2, 3223, 3224, 7, 373, 2, 2, 3224, 3225, 5, 524, 263, 2, 3225, 3226, 7, 374, 2, 2, 3226, 531, 3, 2, 2, 2, 3227, 3233, 5, 534, 268, 2, 3228, 3229, 5, 522, 262, 2, 3229, 3230, 5, 534, 268, 2, 3230, 3232, 3, 2, 2, 2, 3231, 3228, 3, 2, 2, 2, 3232, 3235, 3, 2, 2, 2, 3233, 3231, 3, 2, 2, 2, 3233, 3234, 3, 2, 2, 2, 3234, 533, 3, 2, 2, 2, 3235, 3233, 3, 2, 2, 2, 3236, 3238, 5, 636, 319, 2, 3237, 3239, 5, 546, 274, 2, 3238, 3237, 3, 2, 2, 2, 3239, 3240, 3, 2, 2, 2, 3240, 3238, 3, 2, 2, 2, 3240, 3241, 3, 2, 2, 2, 3241, 535, 3, 2, 2, 2, 3242, 3245, 5, 548, 275, 2, 3243, 3246, 5, 540, 271, 2, 3244, 3246, 5, 686, 344, 2, 3245, 3243, 3, 2, 2, 2, 3245, 3244, 3, 2, 2, 2, 3246, 3249, 3, 2, 2, 2, 3247, 3249, 5, 540, 271, 2, 3248, 3242, 3, 2, 2, 2, 3248, 3247, 3, 2, 2, 2, 3249, 537, 3, 2, 2, 2, 3250, 3252, 5, 596, 299, 2, 3251, 3253, 5, 636, 319, 2, 3252, 3251, 3, 2, 2, 2, 3252, 3253, 3, 2, 2, 2, 3253, 3255, 3, 2, 2, 2, 3254, 3256, 5, 682, 342, 2, 3255, 3254, 3, 2, 2, 2, 3255, 3256, 3, 2, 2, 2, 3256, 3258, 3, 2, 2, 2, 3257, 3259, 5, 704, 353, 2, 3258, 3257, 3, 2, 2, 2, 3258, 3259, 3, 2, 2, 2, 3259, 3261, 3, 2, 2, 2, 3260, 3262, 5, 720, 361, 2, 3261, 3260, 3, 2, 2, 2, 3261, 3262, 3, 2, 2, 2, 3262, 3264, 3, 2, 2, 2, 3263, 3265, 5, 612, 307, 2, 3264, 3263, 3, 2, 2, 2, 3264, 3265, 3, 2, 2, 2, 3265, 3271, 3, 2, 2, 2, 3266, 3267, 7, 373, 2, 2, 3267, 3268, 5, 540, 271, 2, 3268, 3269, 7, 374, 2, 2, 3269, 3271, 3, 2, 2, 2, 3270, 3250, 3, 2, 2, 2, 3270, 3266, 3, 2, 2, 2, 3271, 539, 3, 2, 2, 2, 3272, 3274, 5, 538, 270, 2, 3273, 3275, 5, 542, 272, 2, 3274, 3273, 3, 2, 2, 2, 3274, 3275, 3, 2, 2, 2, 3275, 3277, 3, 2, 2, 2, 3276, 3278, 5, 736, 369, 2, 3277, 3276, 3, 2, 2, 2, 3277, 3278, 3, 2, 2, 2, 3278, 3280, 3, 2, 2, 2, 3279, 3281, 5, 738, 370, 2, 3280, 3279, 3, 2, 2, 2, 3280, 3281, 3, 2, 2, 2, 3281, 3283, 3, 2, 2, 2, 3282, 3284, 5, 742, 372, 2, 3283, 3282, 3, 2, 2, 2, 3283, 3284, 3, 2, 2, 2, 3284, 3286, 3, 2, 2, 2, 3285, 3287, 5, 744, 373, 2, 3286, 3285, 3, 2, 2, 2, 3286, 3287, 3, 2, 2, 2, 3287, 3289, 3, 2, 2, 2, 3288, 3290, 5, 552, 277, 2, 3289, 3288, 3, 2, 2, 2, 3289, 3290, 3, 2, 2, 2, 3290, 541, 3, 2, 2, 2, 3291, 3292, 5, 522, 262, 2, 3292, 3293, 5, 538, 270, 2, 3293, 3295, 3, 2, 2, 2, 3294, 3291, 3, 2, 2, 2, 3295, 3296, 3, 2, 2, 2, 3296, 3294, 3, 2, 2, 2, 3296, 3297, 3, 2, 2, 2, 3297, 543, 3, 2, 2, 2, 3298, 3300, 5, 528, 265, 2, 3299, 3298, 3, 2, 2, 2, 3299, 3300, 3, 2, 2, 2, 3300, 3301, 3, 2, 2, 2, 3301, 3302, 5, 540, 271, 2, 3302, 545, 3, 2, 2, 2, 3303, 3304, 5, 548, 275, 2, 3304, 3306, 5, 596, 299, 2, 3305, 3307, 5, 656, 329, 2, 3306, 3305, 3, 2, 2, 2, 3306, 3307, 3, 2, 2, 2, 3307, 3309, 3, 2, 2, 2, 3308, 3310, 5, 682, 342, 2, 3309, 3308, 3, 2, 2, 2, 3309, 3310, 3, 2, 2, 2, 3310, 3312, 3, 2, 2, 2, 3311, 3313, 5, 704, 353, 2, 3312, 3311, 3, 2, 2, 2, 3312, 3313, 3, 2, 2, 2, 3313, 3315, 3, 2, 2, 2, 3314, 3316, 5, 720, 361, 2, 3315, 3314, 3, 2, 2, 2, 3315, 3316, 3, 2, 2, 2, 3316, 3318, 3, 2, 2, 2, 3317, 3319, 5, 612, 307, 2, 3318, 3317, 3, 2, 2, 2, 3318, 3319, 3, 2, 2, 2, 3319, 3321, 3, 2, 2, 2, 3320, 3322, 5, 736, 369, 2, 3321, 3320, 3, 2, 2, 2, 3321, 3322, 3, 2, 2, 2, 3322, 3324, 3, 2, 2, 2, 3323, 3325, 5, 738, 370, 2, 3324, 3323, 3, 2, 2, 2, 3324, 3325, 3, 2, 2, 2, 3325, 3327, 3, 2, 2, 2, 3326, 3328, 5, 742, 372, 2, 3327, 3326, 3, 2, 2, 2, 3327, 3328, 3, 2, 2, 2, 3328, 3330, 3, 2, 2, 2, 3329, 3331, 5, 744, 373, 2, 3330, 3329, 3, 2, 2, 2, 3330, 3331, 3, 2, 2, 2, 3331, 3333, 3, 2, 2, 2, 3332, 3334, 5, 552, 277, 2, 3333, 3332, 3, 2, 2, 2, 3333, 3334, 3, 2, 2, 2, 3334, 3367, 3, 2, 2, 2, 3335, 3337, 5, 596, 299, 2, 3336, 3338, 5, 656, 329, 2, 3337, 3336, 3, 2, 2, 2, 3337, 3338, 3, 2, 2, 2, 3338, 3340, 3, 2, 2, 2, 3339, 3341, 5, 682, 342, 2, 3340, 3339, 3, 2, 2, 2, 3340, 3341, 3, 2, 2, 2, 3341, 3343, 3, 2, 2, 2, 3342, 3344, 5, 704, 353, 2, 3343, 3342, 3, 2, 2, 2, 3343, 3344, 3, 2, 2, 2, 3344, 3346, 3, 2, 2, 2, 3345, 3347, 5, 720, 361, 2, 3346, 3345, 3, 2, 2, 2, 3346, 3347, 3, 2, 2, 2, 3347, 3349, 3, 2, 2, 2, 3348, 3350, 5, 612, 307, 2, 3349, 3348, 3, 2, 2, 2, 3349, 3350, 3, 2, 2, 2, 3350, 3352, 3, 2, 2, 2, 3351, 3353, 5, 736, 369, 2, 3352, 3351, 3, 2, 2, 2, 3352, 3353, 3, 2, 2, 2, 3353, 3355, 3, 2, 2, 2, 3354, 3356, 5, 738, 370, 2, 3355, 3354, 3, 2, 2, 2, 3355, 3356, 3, 2, 2, 2, 3356, 3358, 3, 2, 2, 2, 3357, 3359, 5, 742, 372, 2, 3358, 3357, 3, 2, 2, 2, 3358, 3359, 3, 2, 2, 2, 3359, 3361, 3, 2, 2, 2, 3360, 3362, 5, 744, 373, 2, 3361, 3360, 3, 2, 2, 2, 3361, 3362, 3, 2, 2, 2, 3362, 3364, 3, 2, 2, 2, 3363, 3365, 5, 552, 277, 2, 3364, 3363, 3, 2, 2, 2, 3364, 3365, 3, 2, 2, 2, 3365, 3367, 3, 2, 2, 2, 3366, 3303, 3, 2, 2, 2, 3366, 3335, 3, 2, 2, 2, 3367, 547, 3, 2, 2, 2, 3368, 3369, 7, 28, 2, 2, 3369, 3370, 7, 29, 2, 2, 3370, 3372, 5, 550, 276, 2, 3371, 3373, 5, 44, 23, 2, 3372, 3371, 3, 2, 2, 2, 3372, 3373, 3, 2, 2, 2, 3373, 3387, 3, 2, 2, 2, 3374, 3375, 7, 28, 2, 2, 3375, 3377, 7, 111, 2, 2, 3376, 3378, 7, 40, 2, 2, 3377, 3376, 3, 2, 2, 2, 3377, 3378, 3, 2, 2, 2, 3378, 3379, 3, 2, 2, 2, 3379, 3384, 5, 832, 417, 2, 3380, 3381, 7, 373, 2, 2, 3381, 3382, 5, 400, 201, 2, 3382, 3383, 7, 374, 2, 2, 3383, 3385, 3, 2, 2, 2, 3384, 3380, 3, 2, 2, 2, 3384, 3385, 3, 2, 2, 2, 3385, 3387, 3, 2, 2, 2, 3386, 3368, 3, 2, 2, 2, 3386, 3374, 3, 2, 2, 2, 3387, 549, 3, 2, 2, 2, 3388, 3390, 7, 52, 2, 2, 3389, 3388, 3, 2, 2, 2, 3389, 3390, 3, 2, 2, 2, 3390, 3391, 3, 2, 2, 2, 3391, 3392, 7, 51, 2, 2, 3392, 3394, 7, 400, 2, 2, 3393, 3395, 5, 350, 176, 2, 3394, 3393, 3, 2, 2, 2, 3394, 3395, 3, 2, 2, 2, 3395, 3397, 3, 2, 2, 2, 3396, 3398, 5, 378, 190, 2, 3397, 3396, 3, 2, 2, 2, 3397, 3398, 3, 2, 2, 2, 3398, 3402, 3, 2, 2, 2, 3399, 3400, 7, 40, 2, 2, 3400, 3402, 5, 832, 417, 2, 3401, 3389, 3, 2, 2, 2, 3401, 3399, 3, 2, 2, 2, 3402, 551, 3, 2, 2, 2, 3403, 3406, 7, 160, 2, 2, 3404, 3405, 7, 405, 2, 2, 3405, 3407, 7, 371, 2, 2, 3406, 3404, 3, 2, 2, 2, 3406, 3407, 3, 2, 2, 2, 3407, 3408, 3, 2, 2, 2, 3408, 3414, 7, 405, 2, 2, 3409, 3410, 7, 160, 2, 2, 3410, 3411, 7, 405, 2, 2, 3411, 3412, 7, 161, 2, 2, 3412, 3414, 7, 405, 2, 2, 3413, 3403, 3, 2, 2, 2, 3413, 3409, 3, 2, 2, 2, 3414, 553, 3, 2, 2, 2, 3415, 3416, 7, 180, 2, 2, 3416, 3417, 7, 24, 2, 2, 3417, 3419, 5, 670, 336, 2, 3418, 3420, 5, 682, 342, 2, 3419, 3418, 3, 2, 2, 2, 3419, 3420, 3, 2, 2, 2, 3420, 555, 3, 2, 2, 2, 3421, 3422, 5, 630, 316, 2, 3422, 3423, 7, 379, 2, 2, 3423, 3424, 5, 816, 409, 2, 3424, 557, 3, 2, 2, 2, 3425, 3426, 7, 162, 2, 2, 3426, 3431, 5, 556, 279, 2, 3427, 3428, 7, 371, 2, 2, 3428, 3430, 5, 556, 279, 2, 3429, 3427, 3, 2, 2, 2, 3430, 3433, 3, 2, 2, 2, 3431, 3429, 3, 2, 2, 2, 3431, 3432, 3, 2, 2, 2, 3432, 559, 3, 2, 2, 2, 3433, 3431, 3, 2, 2, 2, 3434, 3435, 7, 233, 2, 2, 3435, 3436, 5, 670, 336, 2, 3436, 3438, 5, 558, 280, 2, 3437, 3439, 5, 682, 342, 2, 3438, 3437, 3, 2, 2, 2, 3438, 3439, 3, 2, 2, 2, 3439, 561, 3, 2, 2, 2, 3440, 3445, 5, 564, 283, 2, 3441, 3445, 5, 574, 288, 2, 3442, 3445, 5, 576, 289, 2, 3443, 3445, 5, 578, 290, 2, 3444, 3440, 3, 2, 2, 2, 3444, 3441, 3, 2, 2, 2, 3444, 3442, 3, 2, 2, 2, 3444, 3443, 3, 2, 2, 2, 3445, 563, 3, 2, 2, 2, 3446, 3447, 7, 284, 2, 2, 3447, 3456, 7, 285, 2, 2, 3448, 3453, 5, 566, 284, 2, 3449, 3450, 7, 371, 2, 2, 3450, 3452, 5, 566, 284, 2, 3451, 3449, 3, 2, 2, 2, 3452, 3455, 3, 2, 2, 2, 3453, 3451, 3, 2, 2, 2, 3453, 3454, 3, 2, 2, 2, 3454, 3457, 3, 2, 2, 2, 3455, 3453, 3, 2, 2, 2, 3456, 3448, 3, 2, 2, 2, 3456, 3457, 3, 2, 2, 2, 3457, 565, 3, 2, 2, 2, 3458, 3461, 5, 570, 286, 2, 3459, 3461, 5, 568, 285, 2, 3460, 3458, 3, 2, 2, 2, 3460, 3459, 3, 2, 2, 2, 3461, 567, 3, 2, 2, 2, 3462, 3463, 7, 205, 2, 2, 3463, 3467, 7, 289, 2, 2, 3464, 3465, 7, 205, 2, 2, 3465, 3467, 7, 290, 2, 2, 3466, 3462, 3, 2, 2, 2, 3466, 3464, 3, 2, 2, 2, 3467, 569, 3, 2, 2, 2, 3468, 3469, 7, 291, 2, 2, 3469, 3470, 7, 292, 2, 2, 3470, 3471, 5, 572, 287, 2, 3471, 571, 3, 2, 2, 2, 3472, 3473, 7, 293, 2, 2, 3473, 573, 3, 2, 2, 2, 3474, 3476, 7, 286, 2, 2, 3475, 3477, 7, 288, 2, 2, 3476, 3475, 3, 2, 2, 2, 3476, 3477, 3, 2, 2, 2, 3477, 575, 3, 2, 2, 2, 3478, 3480, 7, 287, 2, 2, 3479, 3481, 7, 288, 2, 2, 3480, 3479, 3, 2, 2, 2, 3480, 3481, 3, 2, 2, 2, 3481, 577, 3, 2, 2, 2, 3482, 3483, 7, 162, 2, 2, 3483, 3484, 7, 294, 2, 2, 3484, 3485, 5, 830, 416, 2, 3485, 579, 3, 2, 2, 2, 3486, 3487, 7, 307, 2, 2, 3487, 3489, 7, 267, 2, 2, 3488, 3490, 7, 405, 2, 2, 3489, 3488, 3, 2, 2, 2, 3490, 3491, 3, 2, 2, 2, 3491, 3489, 3, 2, 2, 2, 3491, 3492, 3, 2, 2, 2, 3492, 581, 3, 2, 2, 2, 3493, 3494, 7, 310, 2, 2, 3494, 3495, 7, 111, 2, 2, 3495, 3500, 5, 670, 336, 2, 3496, 3498, 7, 25, 2, 2, 3497, 3496, 3, 2, 2, 2, 3497, 3498, 3, 2, 2, 2, 3498, 3499, 3, 2, 2, 2, 3499, 3501, 5, 848, 425, 2, 3500, 3497, 3, 2, 2, 2, 3500, 3501, 3, 2, 2, 2, 3501, 3502, 3, 2, 2, 2, 3502, 3503, 7, 54, 2, 2, 3503, 3504, 5, 646, 324, 2, 3504, 3505, 7, 37, 2, 2, 3505, 3506, 5, 816, 409, 2, 3506, 3507, 5, 584, 293, 2, 3507, 583, 3, 2, 2, 2, 3508, 3511, 5, 588, 295, 2, 3509, 3511, 5, 590, 296, 2, 3510, 3508, 3, 2, 2, 2, 3510, 3509, 3, 2, 2, 2, 3511, 3514, 3, 2, 2, 2, 3512, 3510, 3, 2, 2, 2, 3512, 3513, 3, 2, 2, 2, 3513, 3516, 3, 2, 2, 2, 3514, 3512, 3, 2, 2, 2, 3515, 3517, 5, 586, 294, 2, 3516, 3515, 3, 2, 2, 2, 3516, 3517, 3, 2, 2, 2, 3517, 585, 3, 2, 2, 2, 3518, 3519, 7, 170, 2, 2, 3519, 3520, 7, 10, 2, 2, 3520, 3523, 7, 311, 2, 2, 3521, 3522, 7, 8, 2, 2, 3522, 3524, 5, 816, 409, 2, 3523, 3521, 3, 2, 2, 2, 3523, 3524, 3, 2, 2, 2, 3524, 3525, 3, 2, 2, 2, 3525, 3526, 7, 171, 2, 2, 3526, 3527, 7, 28, 2, 2, 3527, 3528, 7, 272, 2, 2, 3528, 3529, 5, 690, 346, 2, 3529, 587, 3, 2, 2, 2, 3530, 3531, 7, 170, 2, 2, 3531, 3532, 7, 311, 2, 2, 3532, 3533, 7, 8, 2, 2, 3533, 3534, 5, 816, 409, 2, 3534, 3535, 7, 171, 2, 2, 3535, 3536, 5, 592, 297, 2, 3536, 589, 3, 2, 2, 2, 3537, 3538, 7, 170, 2, 2, 3538, 3539, 7, 311, 2, 2, 3539, 3540, 7, 171, 2, 2, 3540, 3541, 5, 592, 297, 2, 3541, 591, 3, 2, 2, 2, 3542, 3543, 7, 233, 2, 2, 3543, 3546, 5, 558, 280, 2, 3544, 3546, 7, 180, 2, 2, 3545, 3542, 3, 2, 2, 2, 3545, 3544, 3, 2, 2, 2, 3546, 593, 3, 2, 2, 2, 3547, 3548, 7, 124, 2, 2, 3548, 3550, 7, 275, 2, 2, 3549, 3551, 7, 400, 2, 2, 3550, 3549, 3, 2, 2, 2, 3551, 3552, 3, 2, 2, 2, 3552, 3550, 3, 2, 2, 2, 3552, 3553, 3, 2, 2, 2, 3553, 595, 3, 2, 2, 2, 3554, 3556, 7, 26, 2, 2, 3555, 3557, 7, 411, 2, 2, 3556, 3555, 3, 2, 2, 2, 3556, 3557, 3, 2, 2, 2, 3557, 3564, 3, 2, 2, 2, 3558, 3560, 9, 23, 2, 2, 3559, 3558, 3, 2, 2, 2, 3559, 3560, 3, 2, 2, 2, 3560, 3561, 3, 2, 2, 2, 3561, 3565, 5, 598, 300, 2, 3562, 3563, 7, 53, 2, 2, 3563, 3565, 5, 600, 301, 2, 3564, 3559, 3, 2, 2, 2, 3564, 3562, 3, 2, 2, 2, 3565, 3568, 3, 2, 2, 2, 3566, 3568, 5, 604, 303, 2, 3567, 3554, 3, 2, 2, 2, 3567, 3566, 3, 2, 2, 2, 3568, 597, 3, 2, 2, 2, 3569, 3574, 5, 602, 302, 2, 3570, 3571, 7, 371, 2, 2, 3571, 3573, 5, 602, 302, 2, 3572, 3570, 3, 2, 2, 2, 3573, 3576, 3, 2, 2, 2, 3574, 3572, 3, 2, 2, 2, 3574, 3575, 3, 2, 2, 2, 3575, 599, 3, 2, 2, 2, 3576, 3574, 3, 2, 2, 2, 3577, 3578, 7, 373, 2, 2, 3578, 3579, 5, 608, 305, 2, 3579, 3581, 7, 374, 2, 2, 3580, 3582, 5, 340, 171, 2, 3581, 3580, 3, 2, 2, 2, 3581, 3582, 3, 2, 2, 2, 3582, 3584, 3, 2, 2, 2, 3583, 3585, 5, 344, 173, 2, 3584, 3583, 3, 2, 2, 2, 3584, 3585, 3, 2, 2, 2, 3585, 3586, 3, 2, 2, 2, 3586, 3587, 7, 54, 2, 2, 3587, 3602, 7, 400, 2, 2, 3588, 3600, 7, 25, 2, 2, 3589, 3592, 7, 373, 2, 2, 3590, 3593, 5, 634, 318, 2, 3591, 3593, 5, 394, 198, 2, 3592, 3590, 3, 2, 2, 2, 3592, 3591, 3, 2, 2, 2, 3593, 3594, 3, 2, 2, 2, 3594, 3595, 7, 374, 2, 2, 3595, 3601, 3, 2, 2, 2, 3596, 3599, 5, 634, 318, 2, 3597, 3599, 5, 394, 198, 2, 3598, 3596, 3, 2, 2, 2, 3598, 3597, 3, 2, 2, 2, 3599, 3601, 3, 2, 2, 2, 3600, 3589, 3, 2, 2, 2, 3600, 3598, 3, 2, 2, 2, 3601, 3603, 3, 2, 2, 2, 3602, 3588, 3, 2, 2, 2, 3602, 3603, 3, 2, 2, 2, 3603, 3605, 3, 2, 2, 2, 3604, 3606, 5, 340, 171, 2, 3605, 3604, 3, 2, 2, 2, 3605, 3606, 3, 2, 2, 2, 3606, 3608, 3, 2, 2, 2, 3607, 3609, 5, 342, 172, 2, 3608, 3607, 3, 2, 2, 2, 3608, 3609, 3, 2, 2, 2, 3609, 601, 3, 2, 2, 2, 3610, 3612, 5, 628, 315, 2, 3611, 3613, 5, 610, 306, 2, 3612, 3611, 3, 2, 2, 2, 3612, 3613, 3, 2, 2, 2, 3613, 3634, 3, 2, 2, 2, 3614, 3631, 5, 816, 409, 2, 3615, 3617, 7, 25, 2, 2, 3616, 3615, 3, 2, 2, 2, 3616, 3617, 3, 2, 2, 2, 3617, 3618, 3, 2, 2, 2, 3618, 3632, 5, 848, 425, 2, 3619, 3620, 7, 25, 2, 2, 3620, 3621, 7, 373, 2, 2, 3621, 3626, 5, 848, 425, 2, 3622, 3623, 7, 371, 2, 2, 3623, 3625, 5, 848, 425, 2, 3624, 3622, 3, 2, 2, 2, 3625, 3628, 3, 2, 2, 2, 3626, 3624, 3, 2, 2, 2, 3626, 3627, 3, 2, 2, 2, 3627, 3629, 3, 2, 2, 2, 3628, 3626, 3, 2, 2, 2, 3629, 3630, 7, 374, 2, 2, 3630, 3632, 3, 2, 2, 2, 3631, 3616, 3, 2, 2, 2, 3631, 3619, 3, 2, 2, 2, 3631, 3632, 3, 2, 2, 2, 3632, 3634, 3, 2, 2, 2, 3633, 3610, 3, 2, 2, 2, 3633, 3614, 3, 2, 2, 2, 3634, 603, 3, 2, 2, 2, 3635, 3636, 7, 103, 2, 2, 3636, 3640, 5, 608, 305, 2, 3637, 3638, 7, 107, 2, 2, 3638, 3640, 5, 608, 305, 2, 3639, 3635, 3, 2, 2, 2, 3639, 3637, 3, 2, 2, 2, 3640, 3642, 3, 2, 2, 2, 3641, 3643, 5, 340, 171, 2, 3642, 3641, 3, 2, 2, 2, 3642, 3643, 3, 2, 2, 2, 3643, 3645, 3, 2, 2, 2, 3644, 3646, 5, 344, 173, 2, 3645, 3644, 3, 2, 2, 2, 3645, 3646, 3, 2, 2, 2, 3646, 3647, 3, 2, 2, 2, 3647, 3648, 7, 54, 2, 2, 3648, 3663, 7, 400, 2, 2, 3649, 3661, 7, 25, 2, 2, 3650, 3653, 7, 373, 2, 2, 3651, 3654, 5, 634, 318, 2, 3652, 3654, 5, 394, 198, 2, 3653, 3651, 3, 2, 2, 2, 3653, 3652, 3, 2, 2, 2, 3654, 3655, 3, 2, 2, 2, 3655, 3656, 7, 374, 2, 2, 3656, 3662, 3, 2, 2, 2, 3657, 3660, 5, 634, 318, 2, 3658, 3660, 5, 394, 198, 2, 3659, 3657, 3, 2, 2, 2, 3659, 3658, 3, 2, 2, 2, 3660, 3662, 3, 2, 2, 2, 3661, 3650, 3, 2, 2, 2, 3661, 3659, 3, 2, 2, 2, 3662, 3664, 3, 2, 2, 2, 3663, 3649, 3, 2, 2, 2, 3663, 3664, 3, 2, 2, 2, 3664, 3666, 3, 2, 2, 2, 3665, 3667, 5, 340, 171, 2, 3666, 3665, 3, 2, 2, 2, 3666, 3667, 3, 2, 2, 2, 3667, 3669, 3, 2, 2, 2, 3668, 3670, 5, 342, 172, 2, 3669, 3668, 3, 2, 2, 2, 3669, 3670, 3, 2, 2, 2, 3670, 605, 3, 2, 2, 2, 3671, 3673, 5, 628, 315, 2, 3672, 3674, 5, 610, 306, 2, 3673, 3672, 3, 2, 2, 2, 3673, 3674, 3, 2, 2, 2, 3674, 3677, 3, 2, 2, 2, 3675, 3677, 5, 816, 409, 2, 3676, 3671, 3, 2, 2, 2, 3676, 3675, 3, 2, 2, 2, 3677, 607, 3, 2, 2, 2, 3678, 3683, 5, 606, 304, 2, 3679, 3680, 7, 371, 2, 2, 3680, 3682, 5, 606, 304, 2, 3681, 3679, 3, 2, 2, 2, 3682, 3685, 3, 2, 2, 2, 3683, 3681, 3, 2, 2, 2, 3683, 3684, 3, 2, 2, 2, 3684, 609, 3, 2, 2, 2, 3685, 3683, 3, 2, 2, 2, 3686, 3687, 7, 59, 2, 2, 3687, 3688, 7, 373, 2, 2, 3688, 3689, 5, 608, 305, 2, 3689, 3690, 7, 374, 2, 2, 3690, 611, 3, 2, 2, 2, 3691, 3692, 7, 241, 2, 2, 3692, 3697, 5, 614, 308, 2, 3693, 3694, 7, 371, 2, 2, 3694, 3696, 5, 614, 308, 2, 3695, 3693, 3, 2, 2, 2, 3696, 3699, 3, 2, 2, 2, 3697, 3695, 3, 2, 2, 2, 3697, 3698, 3, 2, 2, 2, 3698, 613, 3, 2, 2, 2, 3699, 3697, 3, 2, 2, 2, 3700, 3701, 5, 848, 425, 2, 3701, 3702, 7, 25, 2, 2, 3702, 3703, 5, 616, 309, 2, 3703, 615, 3, 2, 2, 2, 3704, 3717, 5, 848, 425, 2, 3705, 3707, 7, 373, 2, 2, 3706, 3708, 5, 848, 425, 2, 3707, 3706, 3, 2, 2, 2, 3707, 3708, 3, 2, 2, 2, 3708, 3710, 3, 2, 2, 2, 3709, 3711, 5, 676, 339, 2, 3710, 3709, 3, 2, 2, 2, 3710, 3711, 3, 2, 2, 2, 3711, 3713, 3, 2, 2, 2, 3712, 3714, 5, 618, 310, 2, 3713, 3712, 3, 2, 2, 2, 3713, 3714, 3, 2, 2, 2, 3714, 3715, 3, 2, 2, 2, 3715, 3717, 7, 374, 2, 2, 3716, 3704, 3, 2, 2, 2, 3716, 3705, 3, 2, 2, 2, 3717, 617, 3, 2, 2, 2, 3718, 3721, 5, 620, 311, 2, 3719, 3721, 5, 622, 312, 2, 3720, 3718, 3, 2, 2, 2, 3720, 3719, 3, 2, 2, 2, 3721, 619, 3, 2, 2, 2, 3722, 3723, 7, 114, 2, 2, 3723, 3731, 5, 624, 313, 2, 3724, 3725, 7, 114, 2, 2, 3725, 3726, 7, 211, 2, 2, 3726, 3727, 5, 626, 314, 2, 3727, 3728, 7, 8, 2, 2, 3728, 3729, 5, 626, 314, 2, 3729, 3731, 3, 2, 2, 2, 3730, 3722, 3, 2, 2, 2, 3730, 3724, 3, 2, 2, 2, 3731, 621, 3, 2, 2, 2, 3732, 3733, 7, 208, 2, 2, 3733, 3741, 5, 624, 313, 2, 3734, 3735, 7, 208, 2, 2, 3735, 3736, 7, 211, 2, 2, 3736, 3737, 5, 626, 314, 2, 3737, 3738, 7, 8, 2, 2, 3738, 3739, 5, 626, 314, 2, 3739, 3741, 3, 2, 2, 2, 3740, 3732, 3, 2, 2, 2, 3740, 3734, 3, 2, 2, 2, 3741, 623, 3, 2, 2, 2, 3742, 3743, 7, 242, 2, 2, 3743, 3749, 7, 243, 2, 2, 3744, 3745, 7, 245, 2, 2, 3745, 3749, 7, 113, 2, 2, 3746, 3747, 7, 405, 2, 2, 3747, 3749, 7, 243, 2, 2, 3748, 3742, 3, 2, 2, 2, 3748, 3744, 3, 2, 2, 2, 3748, 3746, 3, 2, 2, 2, 3749, 625, 3, 2, 2, 2, 3750, 3751, 7, 242, 2, 2, 3751, 3757, 9, 24, 2, 2, 3752, 3753, 7, 245, 2, 2, 3753, 3757, 7, 113, 2, 2, 3754, 3755, 7, 405, 2, 2, 3755, 3757, 9, 24, 2, 2, 3756, 3750, 3, 2, 2, 2, 3756, 3752, 3, 2, 2, 2, 3756, 3754, 3, 2, 2, 2, 3757, 627, 3, 2, 2, 2, 3758, 3764, 7, 390, 2, 2, 3759, 3760, 5, 670, 336, 2, 3760, 3761, 7, 369, 2, 2, 3761, 3762, 7, 390, 2, 2, 3762, 3764, 3, 2, 2, 2, 3763, 3758, 3, 2, 2, 2, 3763, 3759, 3, 2, 2, 2, 3764, 629, 3, 2, 2, 2, 3765, 3766, 5, 848, 425, 2, 3766, 631, 3, 2, 2, 2, 3767, 3772, 5, 816, 409, 2, 3768, 3769, 7, 371, 2, 2, 3769, 3771, 5, 816, 409, 2, 3770, 3768, 3, 2, 2, 2, 3771, 3774, 3, 2, 2, 2, 3772, 3770, 3, 2, 2, 2, 3772, 3773, 3, 2, 2, 2, 3773, 633, 3, 2, 2, 2, 3774, 3772, 3, 2, 2, 2, 3775, 3780, 5, 848, 425, 2, 3776, 3777, 7, 371, 2, 2, 3777, 3779, 5, 848, 425, 2, 3778, 3776, 3, 2, 2, 2, 3779, 3782, 3, 2, 2, 2, 3780, 3778, 3, 2, 2, 2, 3780, 3781, 3, 2, 2, 2, 3781, 635, 3, 2, 2, 2, 3782, 3780, 3, 2, 2, 2, 3783, 3784, 7, 24, 2, 2, 3784, 3785, 5, 638, 320, 2, 3785, 637, 3, 2, 2, 2, 3786, 3787, 5, 652, 327, 2, 3787, 3790, 5, 648, 325, 2, 3788, 3789, 7, 371, 2, 2, 3789, 3791, 5, 648, 325, 2, 3790, 3788, 3, 2, 2, 2, 3791, 3792, 3, 2, 2, 2, 3792, 3790, 3, 2, 2, 2, 3792, 3793, 3, 2, 2, 2, 3793, 3798, 3, 2, 2, 2, 3794, 3798, 5, 642, 322, 2, 3795, 3798, 5, 694, 348, 2, 3796, 3798, 5, 644, 323, 2, 3797, 3786, 3, 2, 2, 2, 3797, 3794, 3, 2, 2, 2, 3797, 3795, 3, 2, 2, 2, 3797, 3796, 3, 2, 2, 2, 3798, 639, 3, 2, 2, 2, 3799, 3803, 5, 666, 334, 2, 3800, 3802, 5, 656, 329, 2, 3801, 3800, 3, 2, 2, 2, 3802, 3805, 3, 2, 2, 2, 3803, 3801, 3, 2, 2, 2, 3803, 3804, 3, 2, 2, 2, 3804, 3832, 3, 2, 2, 2, 3805, 3803, 3, 2, 2, 2, 3806, 3810, 5, 692, 347, 2, 3807, 3809, 5, 656, 329, 2, 3808, 3807, 3, 2, 2, 2, 3809, 3812, 3, 2, 2, 2, 3810, 3808, 3, 2, 2, 2, 3810, 3811, 3, 2, 2, 2, 3811, 3832, 3, 2, 2, 2, 3812, 3810, 3, 2, 2, 2, 3813, 3817, 5, 674, 338, 2, 3814, 3816, 5, 656, 329, 2, 3815, 3814, 3, 2, 2, 2, 3816, 3819, 3, 2, 2, 2, 3817, 3815, 3, 2, 2, 2, 3817, 3818, 3, 2, 2, 2, 3818, 3832, 3, 2, 2, 2, 3819, 3817, 3, 2, 2, 2, 3820, 3824, 5, 680, 341, 2, 3821, 3823, 5, 656, 329, 2, 3822, 3821, 3, 2, 2, 2, 3823, 3826, 3, 2, 2, 2, 3824, 3822, 3, 2, 2, 2, 3824, 3825, 3, 2, 2, 2, 3825, 3832, 3, 2, 2, 2, 3826, 3824, 3, 2, 2, 2, 3827, 3828, 7, 373, 2, 2, 3828, 3829, 5, 642, 322, 2, 3829, 3830, 7, 374, 2, 2, 3830, 3832, 3, 2, 2, 2, 3831, 3799, 3, 2, 2, 2, 3831, 3806, 3, 2, 2, 2, 3831, 3813, 3, 2, 2, 2, 3831, 3820, 3, 2, 2, 2, 3831, 3827, 3, 2, 2, 2, 3832, 641, 3, 2, 2, 2, 3833, 3844, 5, 640, 321, 2, 3834, 3835, 5, 654, 328, 2, 3835, 3840, 5, 646, 324, 2, 3836, 3837, 7, 37, 2, 2, 3837, 3841, 5, 816, 409, 2, 3838, 3839, 7, 54, 2, 2, 3839, 3841, 5, 408, 205, 2, 3840, 3836, 3, 2, 2, 2, 3840, 3838, 3, 2, 2, 2, 3840, 3841, 3, 2, 2, 2, 3841, 3843, 3, 2, 2, 2, 3842, 3834, 3, 2, 2, 2, 3843, 3846, 3, 2, 2, 2, 3844, 3842, 3, 2, 2, 2, 3844, 3845, 3, 2, 2, 2, 3845, 643, 3, 2, 2, 2, 3846, 3844, 3, 2, 2, 2, 3847, 3849, 7, 363, 2, 2, 3848, 3850, 7, 373, 2, 2, 3849, 3848, 3, 2, 2, 2, 3849, 3850, 3, 2, 2, 2, 3850, 3851, 3, 2, 2, 2, 3851, 3853, 5, 670, 336, 2, 3852, 3854, 7, 374, 2, 2, 3853, 3852, 3, 2, 2, 2, 3853, 3854, 3, 2, 2, 2, 3854, 3856, 3, 2, 2, 2, 3855, 3857, 5, 658, 330, 2, 3856, 3855, 3, 2, 2, 2, 3856, 3857, 3, 2, 2, 2, 3857, 3861, 3, 2, 2, 2, 3858, 3859, 7, 363, 2, 2, 3859, 3861, 5, 696, 349, 2, 3860, 3847, 3, 2, 2, 2, 3860, 3858, 3, 2, 2, 2, 3861, 645, 3, 2, 2, 2, 3862, 3867, 5, 666, 334, 2, 3863, 3867, 5, 692, 347, 2, 3864, 3867, 5, 674, 338, 2, 3865, 3867, 5, 680, 341, 2, 3866, 3862, 3, 2, 2, 2, 3866, 3863, 3, 2, 2, 2, 3866, 3864, 3, 2, 2, 2, 3866, 3865, 3, 2, 2, 2, 3867, 3871, 3, 2, 2, 2, 3868, 3870, 5, 656, 329, 2, 3869, 3868, 3, 2, 2, 2, 3870, 3873, 3, 2, 2, 2, 3871, 3869, 3, 2, 2, 2, 3871, 3872, 3, 2, 2, 2, 3872, 647, 3, 2, 2, 2, 3873, 3871, 3, 2, 2, 2, 3874, 3876, 7, 32, 2, 2, 3875, 3874, 3, 2, 2, 2, 3875, 3876, 3, 2, 2, 2, 3876, 3877, 3, 2, 2, 2, 3877, 3878, 5, 668, 335, 2, 3878, 3879, 5, 650, 326, 2, 3879, 649, 3, 2, 2, 2, 3880, 3881, 7, 373, 2, 2, 3881, 3882, 5, 632, 317, 2, 3882, 3883, 7, 374, 2, 2, 3883, 651, 3, 2, 2, 2, 3884, 3885, 7, 31, 2, 2, 3885, 653, 3, 2, 2, 2, 3886, 3911, 7, 33, 2, 2, 3887, 3888, 7, 258, 2, 2, 3888, 3911, 7, 33, 2, 2, 3889, 3911, 7, 371, 2, 2, 3890, 3891, 7, 214, 2, 2, 3891, 3911, 7, 33, 2, 2, 3892, 3894, 7, 34, 2, 2, 3893, 3895, 7, 30, 2, 2, 3894, 3893, 3, 2, 2, 2, 3894, 3895, 3, 2, 2, 2, 3895, 3896, 3, 2, 2, 2, 3896, 3911, 7, 33, 2, 2, 3897, 3899, 7, 35, 2, 2, 3898, 3900, 7, 30, 2, 2, 3899, 3898, 3, 2, 2, 2, 3899, 3900, 3, 2, 2, 2, 3900, 3901, 3, 2, 2, 2, 3901, 3911, 7, 33, 2, 2, 3902, 3904, 7, 36, 2, 2, 3903, 3905, 7, 30, 2, 2, 3904, 3903, 3, 2, 2, 2, 3904, 3905, 3, 2, 2, 2, 3905, 3906, 3, 2, 2, 2, 3906, 3911, 7, 33, 2, 2, 3907, 3908, 7, 34, 2, 2, 3908, 3909, 7, 220, 2, 2, 3909, 3911, 7, 33, 2, 2, 3910, 3886, 3, 2, 2, 2, 3910, 3887, 3, 2, 2, 2, 3910, 3889, 3, 2, 2, 2, 3910, 3890, 3, 2, 2, 2, 3910, 3892, 3, 2, 2, 2, 3910, 3897, 3, 2, 2, 2, 3910, 3902, 3, 2, 2, 2, 3910, 3907, 3, 2, 2, 2, 3911, 655, 3, 2, 2, 2, 3912, 3913, 7, 221, 2, 2, 3913, 3914, 7, 185, 2, 2, 3914, 3915, 7, 30, 2, 2, 3915, 3916, 5, 746, 374, 2, 3916, 3926, 5, 658, 330, 2, 3917, 3918, 7, 25, 2, 2, 3918, 3923, 5, 848, 425, 2, 3919, 3920, 7, 371, 2, 2, 3920, 3922, 5, 848, 425, 2, 3921, 3919, 3, 2, 2, 2, 3922, 3925, 3, 2, 2, 2, 3923, 3921, 3, 2, 2, 2, 3923, 3924, 3, 2, 2, 2, 3924, 3927, 3, 2, 2, 2, 3925, 3923, 3, 2, 2, 2, 3926, 3917, 3, 2, 2, 2, 3926, 3927, 3, 2, 2, 2, 3927, 3972, 3, 2, 2, 2, 3928, 3930, 7, 371, 2, 2, 3929, 3928, 3, 2, 2, 2, 3929, 3930, 3, 2, 2, 2, 3930, 3931, 3, 2, 2, 2, 3931, 3932, 7, 221, 2, 2, 3932, 3933, 7, 185, 2, 2, 3933, 3934, 5, 746, 374, 2, 3934, 3944, 5, 658, 330, 2, 3935, 3936, 7, 25, 2, 2, 3936, 3941, 5, 848, 425, 2, 3937, 3938, 7, 371, 2, 2, 3938, 3940, 5, 848, 425, 2, 3939, 3937, 3, 2, 2, 2, 3940, 3943, 3, 2, 2, 2, 3941, 3939, 3, 2, 2, 2, 3941, 3942, 3, 2, 2, 2, 3942, 3945, 3, 2, 2, 2, 3943, 3941, 3, 2, 2, 2, 3944, 3935, 3, 2, 2, 2, 3944, 3945, 3, 2, 2, 2, 3945, 3972, 3, 2, 2, 2, 3946, 3948, 7, 371, 2, 2, 3947, 3946, 3, 2, 2, 2, 3947, 3948, 3, 2, 2, 2, 3948, 3949, 3, 2, 2, 2, 3949, 3950, 7, 221, 2, 2, 3950, 3951, 7, 40, 2, 2, 3951, 3952, 7, 373, 2, 2, 3952, 3953, 5, 686, 344, 2, 3953, 3955, 7, 374, 2, 2, 3954, 3956, 7, 25, 2, 2, 3955, 3954, 3, 2, 2, 2, 3955, 3956, 3, 2, 2, 2, 3956, 3957, 3, 2, 2, 2, 3957, 3969, 5, 658, 330, 2, 3958, 3959, 7, 373, 2, 2, 3959, 3964, 5, 848, 425, 2, 3960, 3961, 7, 371, 2, 2, 3961, 3963, 5, 848, 425, 2, 3962, 3960, 3, 2, 2, 2, 3963, 3966, 3, 2, 2, 2, 3964, 3962, 3, 2, 2, 2, 3964, 3965, 3, 2, 2, 2, 3965, 3967, 3, 2, 2, 2, 3966, 3964, 3, 2, 2, 2, 3967, 3968, 7, 374, 2, 2, 3968, 3970, 3, 2, 2, 2, 3969, 3958, 3, 2, 2, 2, 3969, 3970, 3, 2, 2, 2, 3970, 3972, 3, 2, 2, 2, 3971, 3912, 3, 2, 2, 2, 3971, 3929, 3, 2, 2, 2, 3971, 3947, 3, 2, 2, 2, 3972, 657, 3, 2, 2, 2, 3973, 3974, 5, 848, 425, 2, 3974, 659, 3, 2, 2, 2, 3975, 3976, 7, 135, 2, 2, 3976, 3977, 7, 373, 2, 2, 3977, 3978, 7, 136, 2, 2, 3978, 3979, 7, 405, 2, 2, 3979, 3980, 7, 137, 2, 2, 3980, 3981, 7, 138, 2, 2, 3981, 3991, 7, 405, 2, 2, 3982, 3983, 7, 37, 2, 2, 3983, 3988, 5, 816, 409, 2, 3984, 3985, 7, 371, 2, 2, 3985, 3987, 5, 816, 409, 2, 3986, 3984, 3, 2, 2, 2, 3987, 3990, 3, 2, 2, 2, 3988, 3986, 3, 2, 2, 2, 3988, 3989, 3, 2, 2, 2, 3989, 3992, 3, 2, 2, 2, 3990, 3988, 3, 2, 2, 2, 3991, 3982, 3, 2, 2, 2, 3991, 3992, 3, 2, 2, 2, 3992, 3993, 3, 2, 2, 2, 3993, 3994, 7, 374, 2, 2, 3994, 661, 3, 2, 2, 2, 3995, 3996, 7, 135, 2, 2, 3996, 3997, 7, 373, 2, 2, 3997, 3998, 7, 405, 2, 2, 3998, 3999, 9, 25, 2, 2, 3999, 4005, 7, 374, 2, 2, 4000, 4001, 7, 135, 2, 2, 4001, 4002, 7, 373, 2, 2, 4002, 4003, 7, 404, 2, 2, 4003, 4005, 7, 374, 2, 2, 4004, 3995, 3, 2, 2, 2, 4004, 4000, 3, 2, 2, 2, 4005, 663, 3, 2, 2, 2, 4006, 4009, 5, 660, 331, 2, 4007, 4009, 5, 662, 332, 2, 4008, 4006, 3, 2, 2, 2, 4008, 4007, 3, 2, 2, 2, 4009, 665, 3, 2, 2, 2, 4010, 4012, 5, 670, 336, 2, 4011, 4013, 5, 356, 179, 2, 4012, 4011, 3, 2, 2, 2, 4012, 4013, 3, 2, 2, 2, 4013, 4015, 3, 2, 2, 2, 4014, 4016, 5, 664, 333, 2, 4015, 4014, 3, 2, 2, 2, 4015, 4016, 3, 2, 2, 2, 4016, 4021, 3, 2, 2, 2, 4017, 4019, 7, 25, 2, 2, 4018, 4017, 3, 2, 2, 2, 4018, 4019, 3, 2, 2, 2, 4019, 4020, 3, 2, 2, 2, 4020, 4022, 5, 848, 425, 2, 4021, 4018, 3, 2, 2, 2, 4021, 4022, 3, 2, 2, 2, 4022, 667, 3, 2, 2, 2, 4023, 4025, 5, 670, 336, 2, 4024, 4026, 5, 664, 333, 2, 4025, 4024, 3, 2, 2, 2, 4025, 4026, 3, 2, 2, 2, 4026, 4031, 3, 2, 2, 2, 4027, 4029, 7, 25, 2, 2, 4028, 4027, 3, 2, 2, 2, 4028, 4029, 3, 2, 2, 2, 4029, 4030, 3, 2, 2, 2, 4030, 4032, 5, 848, 425, 2, 4031, 4028, 3, 2, 2, 2, 4031, 4032, 3, 2, 2, 2, 4032, 669, 3, 2, 2, 2, 4033, 4038, 5, 848, 425, 2, 4034, 4035, 7, 369, 2, 2, 4035, 4037, 5, 848, 425, 2, 4036, 4034, 3, 2, 2, 2, 4037, 4040, 3, 2, 2, 2, 4038, 4036, 3, 2, 2, 2, 4038, 4039, 3, 2, 2, 2, 4039, 671, 3, 2, 2, 2, 4040, 4038, 3, 2, 2, 2, 4041, 4042, 5, 848, 425, 2, 4042, 4043, 7, 369, 2, 2, 4043, 4045, 3, 2, 2, 2, 4044, 4041, 3, 2, 2, 2, 4044, 4045, 3, 2, 2, 2, 4045, 4046, 3, 2, 2, 2, 4046, 4047, 5, 848, 425, 2, 4047, 673, 3, 2, 2, 2, 4048, 4049, 7, 373, 2, 2, 4049, 4050, 5, 524, 263, 2, 4050, 4055, 7, 374, 2, 2, 4051, 4053, 7, 25, 2, 2, 4052, 4051, 3, 2, 2, 2, 4052, 4053, 3, 2, 2, 2, 4053, 4054, 3, 2, 2, 2, 4054, 4056, 5, 848, 425, 2, 4055, 4052, 3, 2, 2, 2, 4055, 4056, 3, 2, 2, 2, 4056, 675, 3, 2, 2, 2, 4057, 4059, 5, 740, 371, 2, 4058, 4060, 5, 736, 369, 2, 4059, 4058, 3, 2, 2, 2, 4059, 4060, 3, 2, 2, 2, 4060, 4069, 3, 2, 2, 2, 4061, 4069, 5, 736, 369, 2, 4062, 4064, 5, 742, 372, 2, 4063, 4065, 5, 744, 373, 2, 4064, 4063, 3, 2, 2, 2, 4064, 4065, 3, 2, 2, 2, 4065, 4069, 3, 2, 2, 2, 4066, 4069, 5, 744, 373, 2, 4067, 4069, 5, 738, 370, 2, 4068, 4057, 3, 2, 2, 2, 4068, 4061, 3, 2, 2, 2, 4068, 4062, 3, 2, 2, 2, 4068, 4066, 3, 2, 2, 2, 4068, 4067, 3, 2, 2, 2, 4069, 677, 3, 2, 2, 2, 4070, 4074, 5, 674, 338, 2, 4071, 4074, 5, 666, 334, 2, 4072, 4074, 5, 680, 341, 2, 4073, 4070, 3, 2, 2, 2, 4073, 4071, 3, 2, 2, 2, 4073, 4072, 3, 2, 2, 2, 4074, 679, 3, 2, 2, 2, 4075, 4076, 5, 848, 425, 2, 4076, 4077, 7, 373, 2, 2, 4077, 4078, 7, 37, 2, 2, 4078, 4080, 5, 678, 340, 2, 4079, 4081, 5, 676, 339, 2, 4080, 4079, 3, 2, 2, 2, 4080, 4081, 3, 2, 2, 2, 4081, 4097, 3, 2, 2, 2, 4082, 4083, 7, 406, 2, 2, 4083, 4084, 7, 373, 2, 2, 4084, 4085, 5, 816, 409, 2, 4085, 4094, 7, 374, 2, 2, 4086, 4087, 7, 371, 2, 2, 4087, 4088, 7, 406, 2, 2, 4088, 4089, 7, 373, 2, 2, 4089, 4090, 5, 816, 409, 2, 4090, 4091, 7, 374, 2, 2, 4091, 4093, 3, 2, 2, 2, 4092, 4086, 3, 2, 2, 2, 4093, 4096, 3, 2, 2, 2, 4094, 4092, 3, 2, 2, 2, 4094, 4095, 3, 2, 2, 2, 4095, 4098, 3, 2, 2, 2, 4096, 4094, 3, 2, 2, 2, 4097, 4082, 3, 2, 2, 2, 4097, 4098, 3, 2, 2, 2, 4098, 4099, 3, 2, 2, 2, 4099, 4101, 7, 374, 2, 2, 4100, 4102, 5, 848, 425, 2, 4101, 4100, 3, 2, 2, 2, 4101, 4102, 3, 2, 2, 2, 4102, 681, 3, 2, 2, 2, 4103, 4104, 7, 23, 2, 2, 4104, 4105, 5, 684, 343, 2, 4105, 683, 3, 2, 2, 2, 4106, 4107, 5, 816, 409, 2, 4107, 685, 3, 2, 2, 2, 4108, 4109, 7, 272, 2, 2, 4109, 4110, 5, 688, 345, 2, 4110, 687, 3, 2, 2, 2, 4111, 4116, 5, 690, 346, 2, 4112, 4113, 7, 371, 2, 2, 4113, 4115, 5, 690, 346, 2, 4114, 4112, 3, 2, 2, 2, 4115, 4118, 3, 2, 2, 2, 4116, 4114, 3, 2, 2, 2, 4116, 4117, 3, 2, 2, 2, 4117, 689, 3, 2, 2, 2, 4118, 4116, 3, 2, 2, 2, 4119, 4120, 5, 724, 363, 2, 4120, 691, 3, 2, 2, 2, 4121, 4122, 7, 40, 2, 2, 4122, 4123, 7, 373, 2, 2, 4123, 4124, 5, 686, 344, 2, 4124, 4126, 7, 374, 2, 2, 4125, 4127, 7, 25, 2, 2, 4126, 4125, 3, 2, 2, 2, 4126, 4127, 3, 2, 2, 2, 4127, 4128, 3, 2, 2, 2, 4128, 4138, 5, 658, 330, 2, 4129, 4130, 7, 373, 2, 2, 4130, 4135, 5, 848, 425, 2, 4131, 4132, 7, 371, 2, 2, 4132, 4134, 5, 848, 425, 2, 4133, 4131, 3, 2, 2, 2, 4134, 4137, 3, 2, 2, 2, 4135, 4133, 3, 2, 2, 2, 4135, 4136, 3, 2, 2, 2, 4136, 4139, 3, 2, 2, 2, 4137, 4135, 3, 2, 2, 2, 4138, 4129, 3, 2, 2, 2, 4138, 4139, 3, 2, 2, 2, 4139, 4140, 3, 2, 2, 2, 4140, 4141, 7, 374, 2, 2, 4141, 693, 3, 2, 2, 2, 4142, 4143, 7, 208, 2, 2, 4143, 4144, 7, 373, 2, 2, 4144, 4149, 7, 405, 2, 2, 4145, 4146, 7, 371, 2, 2, 4146, 4148, 7, 405, 2, 2, 4147, 4145, 3, 2, 2, 2, 4148, 4151, 3, 2, 2, 2, 4149, 4147, 3, 2, 2, 2, 4149, 4150, 3, 2, 2, 2, 4150, 4152, 3, 2, 2, 2, 4151, 4149, 3, 2, 2, 2, 4152, 4153, 7, 374, 2, 2, 4153, 695, 3, 2, 2, 2, 4154, 4155, 5, 848, 425, 2, 4155, 4157, 7, 373, 2, 2, 4156, 4158, 5, 698, 350, 2, 4157, 4156, 3, 2, 2, 2, 4157, 4158, 3, 2, 2, 2, 4158, 4159, 3, 2, 2, 2, 4159, 4160, 7, 374, 2, 2, 4160, 697, 3, 2, 2, 2, 4161, 4166, 5, 700, 351, 2, 4162, 4163, 7, 371, 2, 2, 4163, 4165, 5, 700, 351, 2, 4164, 4162, 3, 2, 2, 2, 4165, 4168, 3, 2, 2, 2, 4166, 4164, 3, 2, 2, 2, 4166, 4167, 3, 2, 2, 2, 4167, 699, 3, 2, 2, 2, 4168, 4166, 3, 2, 2, 2, 4169, 4173, 5, 702, 352, 2, 4170, 4173, 5, 816, 409, 2, 4171, 4173, 7, 400, 2, 2, 4172, 4169, 3, 2, 2, 2, 4172, 4170, 3, 2, 2, 2, 4172, 4171, 3, 2, 2, 2, 4173, 701, 3, 2, 2, 2, 4174, 4175, 5, 848, 425, 2, 4175, 4179, 7, 386, 2, 2, 4176, 4180, 5, 848, 425, 2, 4177, 4180, 5, 816, 409, 2, 4178, 4180, 7, 400, 2, 2, 4179, 4176, 3, 2, 2, 2, 4179, 4177, 3, 2, 2, 2, 4179, 4178, 3, 2, 2, 2, 4180, 703, 3, 2, 2, 2, 4181, 4182, 7, 20, 2, 2, 4182, 4183, 7, 21, 2, 2, 4183, 4184, 5, 706, 354, 2, 4184, 705, 3, 2, 2, 2, 4185, 4189, 5, 710, 356, 2, 4186, 4189, 5, 712, 357, 2, 4187, 4189, 5, 708, 355, 2, 4188, 4185, 3, 2, 2, 2, 4188, 4186, 3, 2, 2, 2, 4188, 4187, 3, 2, 2, 2, 4189, 707, 3, 2, 2, 2, 4190, 4191, 7, 373, 2, 2, 4191, 4192, 7, 374, 2, 2, 4192, 709, 3, 2, 2, 2, 4193, 4194, 9, 26, 2, 2, 4194, 4195, 7, 373, 2, 2, 4195, 4200, 5, 816, 409, 2, 4196, 4197, 7, 371, 2, 2, 4197, 4199, 5, 816, 409, 2, 4198, 4196, 3, 2, 2, 2, 4199, 4202, 3, 2, 2, 2, 4200, 4198, 3, 2, 2, 2, 4200, 4201, 3, 2, 2, 2, 4201, 4203, 3, 2, 2, 2, 4202, 4200, 3, 2, 2, 2, 4203, 4204, 7, 374, 2, 2, 4204, 711, 3, 2, 2, 2, 4205, 4210, 5, 726, 364, 2, 4206, 4207, 7, 156, 2, 2, 4207, 4211, 7, 237, 2, 2, 4208, 4209, 7, 156, 2, 2, 4209, 4211, 7, 238, 2, 2, 4210, 4206, 3, 2, 2, 2, 4210, 4208, 3, 2, 2, 2, 4210, 4211, 3, 2, 2, 2, 4211, 4225, 3, 2, 2, 2, 4212, 4213, 7, 251, 2, 2, 4213, 4214, 7, 252, 2, 2, 4214, 4215, 7, 373, 2, 2, 4215, 4220, 5, 714, 358, 2, 4216, 4217, 7, 371, 2, 2, 4217, 4219, 5, 714, 358, 2, 4218, 4216, 3, 2, 2, 2, 4219, 4222, 3, 2, 2, 2, 4220, 4218, 3, 2, 2, 2, 4220, 4221, 3, 2, 2, 2, 4221, 4223, 3, 2, 2, 2, 4222, 4220, 3, 2, 2, 2, 4223, 4224, 7, 374, 2, 2, 4224, 4226, 3, 2, 2, 2, 4225, 4212, 3, 2, 2, 2, 4225, 4226, 3, 2, 2, 2, 4226, 713, 3, 2, 2, 2, 4227, 4230, 5, 716, 359, 2, 4228, 4230, 5, 718, 360, 2, 4229, 4227, 3, 2, 2, 2, 4229, 4228, 3, 2, 2, 2, 4230, 715, 3, 2, 2, 2, 4231, 4233, 7, 373, 2, 2, 4232, 4234, 5, 816, 409, 2, 4233, 4232, 3, 2, 2, 2, 4233, 4234, 3, 2, 2, 2, 4234, 4239, 3, 2, 2, 2, 4235, 4236, 7, 371, 2, 2, 4236, 4238, 5, 816, 409, 2, 4237, 4235, 3, 2, 2, 2, 4238, 4241, 3, 2, 2, 2, 4239, 4237, 3, 2, 2, 2, 4239, 4240, 3, 2, 2, 2, 4240, 4242, 3, 2, 2, 2, 4241, 4239, 3, 2, 2, 2, 4242, 4243, 7, 374, 2, 2, 4243, 717, 3, 2, 2, 2, 4244, 4245, 5, 816, 409, 2, 4245, 719, 3, 2, 2, 2, 4246, 4247, 7, 22, 2, 2, 4247, 4248, 5, 722, 362, 2, 4248, 721, 3, 2, 2, 2, 4249, 4250, 5, 816, 409, 2, 4250, 723, 3, 2, 2, 2, 4251, 4252, 7, 373, 2, 2, 4252, 4253, 5, 726, 364, 2, 4253, 4254, 7, 374, 2, 2, 4254, 725, 3, 2, 2, 2, 4255, 4257, 5, 816, 409, 2, 4256, 4258, 5, 728, 365, 2, 4257, 4256, 3, 2, 2, 2, 4257, 4258, 3, 2, 2, 2, 4258, 727, 3, 2, 2, 2, 4259, 4260, 7, 371, 2, 2, 4260, 4262, 5, 816, 409, 2, 4261, 4259, 3, 2, 2, 2, 4262, 4263, 3, 2, 2, 2, 4263, 4261, 3, 2, 2, 2, 4263, 4264, 3, 2, 2, 2, 4264, 729, 3, 2, 2, 2, 4265, 4268, 5, 724, 363, 2, 4266, 4268, 5, 726, 364, 2, 4267, 4265, 3, 2, 2, 2, 4267, 4266, 3, 2, 2, 2, 4268, 731, 3, 2, 2, 2, 4269, 4270, 7, 373, 2, 2, 4270, 4275, 5, 458, 230, 2, 4271, 4272, 7, 371, 2, 2, 4272, 4274, 5, 458, 230, 2, 4273, 4271, 3, 2, 2, 2, 4274, 4277, 3, 2, 2, 2, 4275, 4273, 3, 2, 2, 2, 4275, 4276, 3, 2, 2, 2, 4276, 4278, 3, 2, 2, 2, 4277, 4275, 3, 2, 2, 2, 4278, 4279, 7, 374, 2, 2, 4279, 733, 3, 2, 2, 2, 4280, 4285, 5, 458, 230, 2, 4281, 4282, 7, 371, 2, 2, 4282, 4284, 5, 458, 230, 2, 4283, 4281, 3, 2, 2, 2, 4284, 4287, 3, 2, 2, 2, 4285, 4283, 3, 2, 2, 2, 4285, 4286, 3, 2, 2, 2, 4286, 735, 3, 2, 2, 2, 4287, 4285, 3, 2, 2, 2, 4288, 4289, 7, 19, 2, 2, 4289, 4290, 7, 21, 2, 2, 4290, 4295, 5, 458, 230, 2, 4291, 4292, 7, 371, 2, 2, 4292, 4294, 5, 458, 230, 2, 4293, 4291, 3, 2, 2, 2, 4294, 4297, 3, 2, 2, 2, 4295, 4293, 3, 2, 2, 2, 4295, 4296, 3, 2, 2, 2, 4296, 737, 3, 2, 2, 2, 4297, 4295, 3, 2, 2, 2, 4298, 4299, 7, 55, 2, 2, 4299, 4306, 7, 21, 2, 2, 4300, 4301, 7, 373, 2, 2, 4301, 4302, 5, 400, 201, 2, 4302, 4303, 7, 374, 2, 2, 4303, 4307, 3, 2, 2, 2, 4304, 4307, 7, 6, 2, 2, 4305, 4307, 7, 7, 2, 2, 4306, 4300, 3, 2, 2, 2, 4306, 4304, 3, 2, 2, 2, 4306, 4305, 3, 2, 2, 2, 4307, 739, 3, 2, 2, 2, 4308, 4309, 7, 38, 2, 2, 4309, 4310, 7, 21, 2, 2, 4310, 4311, 5, 730, 366, 2, 4311, 741, 3, 2, 2, 2, 4312, 4313, 7, 56, 2, 2, 4313, 4314, 7, 21, 2, 2, 4314, 4315, 5, 730, 366, 2, 4315, 743, 3, 2, 2, 2, 4316, 4317, 7, 57, 2, 2, 4317, 4320, 7, 21, 2, 2, 4318, 4321, 5, 732, 367, 2, 4319, 4321, 5, 734, 368, 2, 4320, 4318, 3, 2, 2, 2, 4320, 4319, 3, 2, 2, 2, 4321, 745, 3, 2, 2, 2, 4322, 4323, 5, 748, 375, 2, 4323, 4338, 7, 373, 2, 2, 4324, 4339, 7, 390, 2, 2, 4325, 4327, 9, 23, 2, 2, 4326, 4325, 3, 2, 2, 2, 4326, 4327, 3, 2, 2, 2, 4327, 4336, 3, 2, 2, 2, 4328, 4333, 5, 606, 304, 2, 4329, 4330, 7, 371, 2, 2, 4330, 4332, 5, 606, 304, 2, 4331, 4329, 3, 2, 2, 2, 4332, 4335, 3, 2, 2, 2, 4333, 4331, 3, 2, 2, 2, 4333, 4334, 3, 2, 2, 2, 4334, 4337, 3, 2, 2, 2, 4335, 4333, 3, 2, 2, 2, 4336, 4328, 3, 2, 2, 2, 4336, 4337, 3, 2, 2, 2, 4337, 4339, 3, 2, 2, 2, 4338, 4324, 3, 2, 2, 2, 4338, 4326, 3, 2, 2, 2, 4339, 4340, 3, 2, 2, 2, 4340, 4343, 7, 374, 2, 2, 4341, 4342, 7, 250, 2, 2, 4342, 4344, 5, 616, 309, 2, 4343, 4341, 3, 2, 2, 2, 4343, 4344, 3, 2, 2, 2, 4344, 747, 3, 2, 2, 2, 4345, 4348, 5, 850, 426, 2, 4346, 4348, 5, 856, 429, 2, 4347, 4345, 3, 2, 2, 2, 4347, 4346, 3, 2, 2, 2, 4348, 749, 3, 2, 2, 2, 4349, 4350, 7, 140, 2, 2, 4350, 4351, 7, 373, 2, 2, 4351, 4352, 5, 816, 409, 2, 4352, 4355, 7, 25, 2, 2, 4353, 4356, 5, 512, 257, 2, 4354, 4356, 5, 516, 259, 2, 4355, 4353, 3, 2, 2, 2, 4355, 4354, 3, 2, 2, 2, 4356, 4357, 3, 2, 2, 2, 4357, 4358, 7, 374, 2, 2, 4358, 751, 3, 2, 2, 2, 4359, 4360, 7, 169, 2, 2, 4360, 4366, 5, 816, 409, 2, 4361, 4362, 7, 170, 2, 2, 4362, 4363, 5, 816, 409, 2, 4363, 4364, 7, 171, 2, 2, 4364, 4365, 5, 816, 409, 2, 4365, 4367, 3, 2, 2, 2, 4366, 4361, 3, 2, 2, 2, 4367, 4368, 3, 2, 2, 2, 4368, 4366, 3, 2, 2, 2, 4368, 4369, 3, 2, 2, 2, 4369, 4372, 3, 2, 2, 2, 4370, 4371, 7, 172, 2, 2, 4371, 4373, 5, 816, 409, 2, 4372, 4370, 3, 2, 2, 2, 4372, 4373, 3, 2, 2, 2, 4373, 4374, 3, 2, 2, 2, 4374, 4375, 7, 173, 2, 2, 4375, 753, 3, 2, 2, 2, 4376, 4382, 7, 169, 2, 2, 4377, 4378, 7, 170, 2, 2, 4378, 4379, 5, 816, 409, 2, 4379, 4380, 7, 171, 2, 2, 4380, 4381, 5, 816, 409, 2, 4381, 4383, 3, 2, 2, 2, 4382, 4377, 3, 2, 2, 2, 4383, 4384, 3, 2, 2, 2, 4384, 4382, 3, 2, 2, 2, 4384, 4385, 3, 2, 2, 2, 4385, 4388, 3, 2, 2, 2, 4386, 4387, 7, 172, 2, 2, 4387, 4389, 5, 816, 409, 2, 4388, 4386, 3, 2, 2, 2, 4388, 4389, 3, 2, 2, 2, 4389, 4390, 3, 2, 2, 2, 4390, 4391, 7, 173, 2, 2, 4391, 755, 3, 2, 2, 2, 4392, 4393, 7, 309, 2, 2, 4393, 4394, 7, 373, 2, 2, 4394, 4397, 5, 816, 409, 2, 4395, 4396, 7, 79, 2, 2, 4396, 4398, 5, 758, 380, 2, 4397, 4395, 3, 2, 2, 2, 4397, 4398, 3, 2, 2, 2, 4398, 4399, 3, 2, 2, 2, 4399, 4400, 7, 374, 2, 2, 4400, 757, 3, 2, 2, 2, 4401, 4402, 9, 27, 2, 2, 4402, 759, 3, 2, 2, 2, 4403, 4404, 7, 308, 2, 2, 4404, 4405, 7, 373, 2, 2, 4405, 4406, 5, 762, 382, 2, 4406, 4407, 7, 24, 2, 2, 4407, 4408, 5, 816, 409, 2, 4408, 4409, 7, 374, 2, 2, 4409, 761, 3, 2, 2, 2, 4410, 4411, 9, 28, 2, 2, 4411, 763, 3, 2, 2, 2, 4412, 4425, 5, 778, 390, 2, 4413, 4425, 7, 405, 2, 2, 4414, 4425, 5, 770, 386, 2, 4415, 4425, 5, 772, 387, 2, 4416, 4425, 5, 774, 388, 2, 4417, 4425, 7, 400, 2, 2, 4418, 4425, 5, 766, 384, 2, 4419, 4425, 7, 402, 2, 2, 4420, 4425, 7, 403, 2, 2, 4421, 4425, 5, 768, 385, 2, 4422, 4425, 5, 828, 415, 2, 4423, 4425, 7, 68, 2, 2, 4424, 4412, 3, 2, 2, 2, 4424, 4413, 3, 2, 2, 2, 4424, 4414, 3, 2, 2, 2, 4424, 4415, 3, 2, 2, 2, 4424, 4416, 3, 2, 2, 2, 4424, 4417, 3, 2, 2, 2, 4424, 4418, 3, 2, 2, 2, 4424, 4419, 3, 2, 2, 2, 4424, 4420, 3, 2, 2, 2, 4424, 4421, 3, 2, 2, 2, 4424, 4422, 3, 2, 2, 2, 4424, 4423, 3, 2, 2, 2, 4425, 765, 3, 2, 2, 2, 4426, 4428, 7, 400, 2, 2, 4427, 4429, 7, 400, 2, 2, 4428, 4427, 3, 2, 2, 2, 4429, 4430, 3, 2, 2, 2, 4430, 4428, 3, 2, 2, 2, 4430, 4431, 3, 2, 2, 2, 4431, 767, 3, 2, 2, 2, 4432, 4433, 7, 408, 2, 2, 4433, 4434, 7, 401, 2, 2, 4434, 769, 3, 2, 2, 2, 4435, 4436, 7, 89, 2, 2, 4436, 4439, 7, 400, 2, 2, 4437, 4439, 7, 246, 2, 2, 4438, 4435, 3, 2, 2, 2, 4438, 4437, 3, 2, 2, 2, 4439, 771, 3, 2, 2, 2, 4440, 4441, 7, 91, 2, 2, 4441, 4448, 7, 400, 2, 2, 4442, 4443, 7, 91, 2, 2, 4443, 4444, 7, 400, 2, 2, 4444, 4445, 7, 25, 2, 2, 4445, 4448, 7, 92, 2, 2, 4446, 4448, 7, 247, 2, 2, 4447, 4440, 3, 2, 2, 2, 4447, 4442, 3, 2, 2, 2, 4447, 4446, 3, 2, 2, 2, 4448, 773, 3, 2, 2, 2, 4449, 4450, 7, 93, 2, 2, 4450, 4451, 7, 400, 2, 2, 4451, 775, 3, 2, 2, 2, 4452, 4453, 9, 29, 2, 2, 4453, 777, 3, 2, 2, 2, 4454, 4455, 5, 776, 389, 2, 4455, 4456, 5, 782, 392, 2, 4456, 779, 3, 2, 2, 2, 4457, 4458, 7, 373, 2, 2, 4458, 4459, 5, 776, 389, 2, 4459, 4460, 7, 374, 2, 2, 4460, 4461, 5, 782, 392, 2, 4461, 4473, 3, 2, 2, 2, 4462, 4463, 7, 96, 2, 2, 4463, 4464, 5, 776, 389, 2, 4464, 4465, 5, 782, 392, 2, 4465, 4473, 3, 2, 2, 2, 4466, 4467, 7, 96, 2, 2, 4467, 4468, 7, 373, 2, 2, 4468, 4469, 5, 816, 409, 2, 4469, 4470, 7, 374, 2, 2, 4470, 4471, 5, 782, 392, 2, 4471, 4473, 3, 2, 2, 2, 4472, 4457, 3, 2, 2, 2, 4472, 4462, 3, 2, 2, 2, 4472, 4466, 3, 2, 2, 2, 4473, 781, 3, 2, 2, 2, 4474, 4475, 7, 274, 2, 2, 4475, 4476, 7, 79, 2, 2, 4476, 4487, 7, 277, 2, 2, 4477, 4478, 7, 279, 2, 2, 4478, 4479, 7, 79, 2, 2, 4479, 4487, 7, 283, 2, 2, 4480, 4487, 7, 274, 2, 2, 4481, 4487, 7, 277, 2, 2, 4482, 4487, 7, 279, 2, 2, 4483, 4487, 7, 281, 2, 2, 4484, 4487, 7, 282, 2, 2, 4485, 4487, 7, 283, 2, 2, 4486, 4474, 3, 2, 2, 2, 4486, 4477, 3, 2, 2, 2, 4486, 4480, 3, 2, 2, 2, 4486, 4481, 3, 2, 2, 2, 4486, 4482, 3, 2, 2, 2, 4486, 4483, 3, 2, 2, 2, 4486, 4484, 3, 2, 2, 2, 4486, 4485, 3, 2, 2, 2, 4487, 783, 3, 2, 2, 2, 4488, 4500, 5, 764, 383, 2, 4489, 4500, 5, 780, 391, 2, 4490, 4500, 5, 750, 376, 2, 4491, 4500, 5, 760, 381, 2, 4492, 4500, 5, 756, 379, 2, 4493, 4500, 5, 752, 377, 2, 4494, 4500, 5, 754, 378, 2, 4495, 4500, 5, 818, 410, 2, 4496, 4500, 5, 746, 374, 2, 4497, 4500, 5, 630, 316, 2, 4498, 4500, 5, 724, 363, 2, 4499, 4488, 3, 2, 2, 2, 4499, 4489, 3, 2, 2, 2, 4499, 4490, 3, 2, 2, 2, 4499, 4491, 3, 2, 2, 2, 4499, 4492, 3, 2, 2, 2, 4499, 4493, 3, 2, 2, 2, 4499, 4494, 3, 2, 2, 2, 4499, 4495, 3, 2, 2, 2, 4499, 4496, 3, 2, 2, 2, 4499, 4497, 3, 2, 2, 2, 4499, 4498, 3, 2, 2, 2, 4500, 785, 3, 2, 2, 2, 4501, 4502, 9, 30, 2, 2, 4502, 787, 3, 2, 2, 2, 4503, 4513, 7, 68, 2, 2, 4504, 4513, 7, 3, 2, 2, 4505, 4513, 7, 4, 2, 2, 4506, 4507, 7, 10, 2, 2, 4507, 4513, 7, 68, 2, 2, 4508, 4509, 7, 10, 2, 2, 4509, 4513, 7, 3, 2, 2, 4510, 4511, 7, 10, 2, 2, 4511, 4513, 7, 4, 2, 2, 4512, 4503, 3, 2, 2, 2, 4512, 4504, 3, 2, 2, 2, 4512, 4505, 3, 2, 2, 2, 4512, 4506, 3, 2, 2, 2, 4512, 4508, 3, 2, 2, 2, 4512, 4510, 3, 2, 2, 2, 4513, 789, 3, 2, 2, 2, 4514, 4515, 7, 397, 2, 2, 4515, 791, 3, 2, 2, 2, 4516, 4517, 9, 31, 2, 2, 4517, 793, 3, 2, 2, 2, 4518, 4519, 9, 32, 2, 2, 4519, 795, 3, 2, 2, 2, 4520, 4521, 7, 396, 2, 2, 4521, 797, 3, 2, 2, 2, 4522, 4523, 7, 393, 2, 2, 4523, 799, 3, 2, 2, 2, 4524, 4525, 7, 395, 2, 2, 4525, 801, 3, 2, 2, 2, 4526, 4527, 9, 33, 2, 2, 4527, 803, 3, 2, 2, 2, 4528, 4534, 5, 802, 402, 2, 4529, 4534, 7, 382, 2, 2, 4530, 4534, 7, 383, 2, 2, 4531, 4534, 7, 384, 2, 2, 4532, 4534, 7, 385, 2, 2, 4533, 4528, 3, 2, 2, 2, 4533, 4529, 3, 2, 2, 2, 4533, 4530, 3, 2, 2, 2, 4533, 4531, 3, 2, 2, 2, 4533, 4532, 3, 2, 2, 2, 4534, 805, 3, 2, 2, 2, 4535, 4536, 7, 67, 2, 2, 4536, 4537, 7, 27, 2, 2, 4537, 4538, 7, 24, 2, 2, 4538, 807, 3, 2, 2, 2, 4539, 4547, 7, 379, 2, 2, 4540, 4547, 7, 380, 2, 2, 4541, 4547, 7, 381, 2, 2, 4542, 4543, 7, 67, 2, 2, 4543, 4544, 7, 10, 2, 2, 4544, 4545, 7, 27, 2, 2, 4545, 4547, 7, 24, 2, 2, 4546, 4539, 3, 2, 2, 2, 4546, 4540, 3, 2, 2, 2, 4546, 4541, 3, 2, 2, 2, 4546, 4542, 3, 2, 2, 2, 4547, 809, 3, 2, 2, 2, 4548, 4549, 7, 10, 2, 2, 4549, 811, 3, 2, 2, 2, 4550, 4551, 7, 8, 2, 2, 4551, 813, 3, 2, 2, 2, 4552, 4553, 7, 9, 2, 2, 4553, 815, 3, 2, 2, 2, 4554, 4555, 8, 409, 1, 2, 4555, 4564, 5, 784, 393, 2, 4556, 4557, 7, 375, 2, 2, 4557, 4558, 5, 816, 409, 2, 4558, 4559, 7, 376, 2, 2, 4559, 4563, 3, 2, 2, 2, 4560, 4561, 7, 369, 2, 2, 4561, 4563, 5, 848, 425, 2, 4562, 4556, 3, 2, 2, 2, 4562, 4560, 3, 2, 2, 2, 4563, 4566, 3, 2, 2, 2, 4564, 4562, 3, 2, 2, 2, 4564, 4565, 3, 2, 2, 2, 4565, 4580, 3, 2, 2, 2, 4566, 4564, 3, 2, 2, 2, 4567, 4568, 5, 786, 394, 2, 4568, 4569, 5, 816, 409, 17, 4569, 4580, 3, 2, 2, 2, 4570, 4571, 7, 14, 2, 2, 4571, 4580, 5, 818, 410, 2, 4572, 4573, 5, 810, 406, 2, 4573, 4574, 5, 816, 409, 6, 4574, 4580, 3, 2, 2, 2, 4575, 4576, 7, 373, 2, 2, 4576, 4577, 5, 816, 409, 2, 4577, 4578, 7, 374, 2, 2, 4578, 4580, 3, 2, 2, 2, 4579, 4554, 3, 2, 2, 2, 4579, 4567, 3, 2, 2, 2, 4579, 4570, 3, 2, 2, 2, 4579, 4572, 3, 2, 2, 2, 4579, 4575, 3, 2, 2, 2, 4580, 4627, 3, 2, 2, 2, 4581, 4582, 12, 15, 2, 2, 4582, 4583, 5, 790, 396, 2, 4583, 4584, 5, 816, 409, 16, 4584, 4626, 3, 2, 2, 2, 4585, 4586, 12, 14, 2, 2, 4586, 4587, 5, 792, 397, 2, 4587, 4588, 5, 816, 409, 15, 4588, 4626, 3, 2, 2, 2, 4589, 4590, 12, 13, 2, 2, 4590, 4591, 5, 794, 398, 2, 4591, 4592, 5, 816, 409, 14, 4592, 4626, 3, 2, 2, 2, 4593, 4594, 12, 12, 2, 2, 4594, 4595, 5, 796, 399, 2, 4595, 4596, 5, 816, 409, 13, 4596, 4626, 3, 2, 2, 2, 4597, 4598, 12, 11, 2, 2, 4598, 4599, 5, 798, 400, 2, 4599, 4600, 5, 816, 409, 12, 4600, 4626, 3, 2, 2, 2, 4601, 4602, 12, 10, 2, 2, 4602, 4603, 5, 800, 401, 2, 4603, 4604, 5, 816, 409, 11, 4604, 4626, 3, 2, 2, 2, 4605, 4608, 12, 7, 2, 2, 4606, 4609, 5, 808, 405, 2, 4607, 4609, 5, 806, 404, 2, 4608, 4606, 3, 2, 2, 2, 4608, 4607, 3, 2, 2, 2, 4609, 4610, 3, 2, 2, 2, 4610, 4611, 5, 816, 409, 8, 4611, 4626, 3, 2, 2, 2, 4612, 4613, 12, 5, 2, 2, 4613, 4614, 5, 812, 407, 2, 4614, 4615, 5, 816, 409, 6, 4615, 4626, 3, 2, 2, 2, 4616, 4617, 12, 4, 2, 2, 4617, 4618, 5, 814, 408, 2, 4618, 4619, 5, 816, 409, 5, 4619, 4626, 3, 2, 2, 2, 4620, 4621, 12, 16, 2, 2, 4621, 4622, 7, 67, 2, 2, 4622, 4626, 5, 788, 395, 2, 4623, 4624, 12, 9, 2, 2, 4624, 4626, 5, 820, 411, 2, 4625, 4581, 3, 2, 2, 2, 4625, 4585, 3, 2, 2, 2, 4625, 4589, 3, 2, 2, 2, 4625, 4593, 3, 2, 2, 2, 4625, 4597, 3, 2, 2, 2, 4625, 4601, 3, 2, 2, 2, 4625, 4605, 3, 2, 2, 2, 4625, 4612, 3, 2, 2, 2, 4625, 4616, 3, 2, 2, 2, 4625, 4620, 3, 2, 2, 2, 4625, 4623, 3, 2, 2, 2, 4626, 4629, 3, 2, 2, 2, 4627, 4625, 3, 2, 2, 2, 4627, 4628, 3, 2, 2, 2, 4628, 817, 3, 2, 2, 2, 4629, 4627, 3, 2, 2, 2, 4630, 4631, 7, 373, 2, 2, 4631, 4632, 5, 540, 271, 2, 4632, 4633, 7, 374, 2, 2, 4633, 819, 3, 2, 2, 2, 4634, 4635, 5, 804, 403, 2, 4635, 4636, 5, 816, 409, 2, 4636, 4641, 3, 2, 2, 2, 4637, 4641, 5, 822, 412, 2, 4638, 4639, 7, 10, 2, 2, 4639, 4641, 5, 826, 414, 2, 4640, 4634, 3, 2, 2, 2, 4640, 4637, 3, 2, 2, 2, 4640, 4638, 3, 2, 2, 2, 4641, 821, 3, 2, 2, 2, 4642, 4643, 7, 187, 2, 2, 4643, 4656, 5, 824, 413, 2, 4644, 4645, 7, 211, 2, 2, 4645, 4646, 5, 816, 409, 2, 4646, 4647, 7, 8, 2, 2, 4647, 4648, 5, 816, 409, 2, 4648, 4656, 3, 2, 2, 2, 4649, 4650, 7, 11, 2, 2, 4650, 4651, 7, 12, 2, 2, 4651, 4656, 5, 724, 363, 2, 4652, 4653, 7, 11, 2, 2, 4653, 4654, 7, 5, 2, 2, 4654, 4656, 5, 724, 363, 2, 4655, 4642, 3, 2, 2, 2, 4655, 4644, 3, 2, 2, 2, 4655, 4649, 3, 2, 2, 2, 4655, 4652, 3, 2, 2, 2, 4656, 823, 3, 2, 2, 2, 4657, 4660, 5, 818, 410, 2, 4658, 4660, 5, 724, 363, 2, 4659, 4657, 3, 2, 2, 2, 4659, 4658, 3, 2, 2, 2, 4660, 825, 3, 2, 2, 2, 4661, 4662, 5, 802, 402, 2, 4662, 4663, 5, 816, 409, 2, 4663, 4666, 3, 2, 2, 2, 4664, 4666, 5, 822, 412, 2, 4665, 4661, 3, 2, 2, 2, 4665, 4664, 3, 2, 2, 2, 4666, 827, 3, 2, 2, 2, 4667, 4668, 9, 34, 2, 2, 4668, 829, 3, 2, 2, 2, 4669, 4670, 9, 34, 2, 2, 4670, 831, 3, 2, 2, 2, 4671, 4673, 5, 670, 336, 2, 4672, 4674, 5, 834, 418, 2, 4673, 4672, 3, 2, 2, 2, 4673, 4674, 3, 2, 2, 2, 4674, 833, 3, 2, 2, 2, 4675, 4676, 7, 38, 2, 2, 4676, 4677, 7, 373, 2, 2, 4677, 4682, 5, 836, 419, 2, 4678, 4679, 7, 371, 2, 2, 4679, 4681, 5, 836, 419, 2, 4680, 4678, 3, 2, 2, 2, 4681, 4684, 3, 2, 2, 2, 4682, 4680, 3, 2, 2, 2, 4682, 4683, 3, 2, 2, 2, 4683, 4685, 3, 2, 2, 2, 4684, 4682, 3, 2, 2, 2, 4685, 4686, 7, 374, 2, 2, 4686, 835, 3, 2, 2, 2, 4687, 4690, 5, 848, 425, 2, 4688, 4689, 7, 379, 2, 2, 4689, 4691, 5, 764, 383, 2, 4690, 4688, 3, 2, 2, 2, 4690, 4691, 3, 2, 2, 2, 4691, 837, 3, 2, 2, 2, 4692, 4693, 7, 38, 2, 2, 4693, 4694, 7, 373, 2, 2, 4694, 4699, 5, 840, 421, 2, 4695, 4696, 7, 371, 2, 2, 4696, 4698, 5, 840, 421, 2, 4697, 4695, 3, 2, 2, 2, 4698, 4701, 3, 2, 2, 2, 4699, 4697, 3, 2, 2, 2, 4699, 4700, 3, 2, 2, 2, 4700, 4702, 3, 2, 2, 2, 4701, 4699, 3, 2, 2, 2, 4702, 4703, 7, 374, 2, 2, 4703, 839, 3, 2, 2, 2, 4704, 4705, 5, 848, 425, 2, 4705, 4706, 5, 842, 422, 2, 4706, 4707, 5, 764, 383, 2, 4707, 841, 3, 2, 2, 2, 4708, 4709, 9, 35, 2, 2, 4709, 843, 3, 2, 2, 2, 4710, 4711, 9, 36, 2, 2, 4711, 845, 3, 2, 2, 2, 4712, 4716, 5, 844, 423, 2, 4713, 4716, 7, 400, 2, 2, 4714, 4716, 5, 850, 426, 2, 4715, 4712, 3, 2, 2, 2, 4715, 4713, 3, 2, 2, 2, 4715, 4714, 3, 2, 2, 2, 4716, 847, 3, 2, 2, 2, 4717, 4726, 7, 406, 2, 2, 4718, 4719, 7, 377, 2, 2, 4719, 4720, 7, 377, 2, 2, 4720, 4721, 7, 406, 2, 2, 4721, 4722, 7, 378, 2, 2, 4722, 4726, 7, 378, 2, 2, 4723, 4726, 5, 854, 428, 2, 4724, 4726, 5, 858, 430, 2, 4725, 4717, 3, 2, 2, 2, 4725, 4718, 3, 2, 2, 2, 4725, 4723, 3, 2, 2, 2, 4725, 4724, 3, 2, 2, 2, 4726, 849, 3, 2, 2, 2, 4727, 4728, 5, 848, 425, 2, 4728, 4729, 7, 369, 2, 2, 4729, 4730, 5, 848, 425, 2, 4730, 4743, 3, 2, 2, 2, 4731, 4732, 5, 848, 425, 2, 4732, 4733, 7, 369, 2, 2, 4733, 4738, 5, 848, 425, 2, 4734, 4735, 7, 369, 2, 2, 4735, 4737, 5, 848, 425, 2, 4736, 4734, 3, 2, 2, 2, 4737, 4740, 3, 2, 2, 2, 4738, 4736, 3, 2, 2, 2, 4738, 4739, 3, 2, 2, 2, 4739, 4743, 3, 2, 2, 2, 4740, 4738, 3, 2, 2, 2, 4741, 4743, 5, 848, 425, 2, 4742, 4727, 3, 2, 2, 2, 4742, 4731, 3, 2, 2, 2, 4742, 4741, 3, 2, 2, 2, 4743, 851, 3, 2, 2, 2, 4744, 4747, 5, 848, 425, 2, 4745, 4747, 7, 407, 2, 2, 4746, 4744, 3, 2, 2, 2, 4746, 4745, 3, 2, 2, 2, 4747, 853, 3, 2, 2, 2, 4748, 4749, 9, 37, 2, 2, 4749, 855, 3, 2, 2, 2, 4750, 4751, 9, 38, 2, 2, 4751, 857, 3, 2, 2, 2, 4752, 4755, 5, 856, 429, 2, 4753, 4755, 7, 94, 2, 2, 4754, 4752, 3, 2, 2, 2, 4754, 4753, 3, 2, 2, 2, 4755, 859, 3, 2, 2, 2, 4756, 4771, 5, 870, 436, 2, 4757, 4771, 5, 886, 444, 2, 4758, 4771, 5, 894, 448, 2, 4759, 4771, 5, 890, 446, 2, 4760, 4771, 5, 892, 447, 2, 4761, 4771, 5, 916, 459, 2, 4762, 4771, 5, 918, 460, 2, 4763, 4771, 5, 922, 462, 2, 4764, 4771, 5, 928, 465, 2, 4765, 4771, 5, 930, 466, 2, 4766, 4771, 5, 932, 467, 2, 4767, 4771, 5, 934, 468, 2, 4768, 4771, 5, 936, 469, 2, 4769, 4771, 5, 938, 470, 2, 4770, 4756, 3, 2, 2, 2, 4770, 4757, 3, 2, 2, 2, 4770, 4758, 3, 2, 2, 2, 4770, 4759, 3, 2, 2, 2, 4770, 4760, 3, 2, 2, 2, 4770, 4761, 3, 2, 2, 2, 4770, 4762, 3, 2, 2, 2, 4770, 4763, 3, 2, 2, 2, 4770, 4764, 3, 2, 2, 2, 4770, 4765, 3, 2, 2, 2, 4770, 4766, 3, 2, 2, 2, 4770, 4767, 3, 2, 2, 2, 4770, 4768, 3, 2, 2, 2, 4770, 4769, 3, 2, 2, 2, 4771, 861, 3, 2, 2, 2, 4772, 4773, 7, 323, 2, 2, 4773, 4774, 7, 379, 2, 2, 4774, 4780, 7, 405, 2, 2, 4775, 4776, 7, 326, 2, 2, 4776, 4777, 7, 328, 2, 2, 4777, 4778, 7, 379, 2, 2, 4778, 4780, 5, 896, 449, 2, 4779, 4772, 3, 2, 2, 2, 4779, 4775, 3, 2, 2, 2, 4780, 863, 3, 2, 2, 2, 4781, 4786, 5, 862, 432, 2, 4782, 4783, 7, 371, 2, 2, 4783, 4785, 5, 862, 432, 2, 4784, 4782, 3, 2, 2, 2, 4785, 4788, 3, 2, 2, 2, 4786, 4784, 3, 2, 2, 2, 4786, 4787, 3, 2, 2, 2, 4787, 865, 3, 2, 2, 2, 4788, 4786, 3, 2, 2, 2, 4789, 4793, 7, 323, 2, 2, 4790, 4791, 7, 326, 2, 2, 4791, 4793, 7, 328, 2, 2, 4792, 4789, 3, 2, 2, 2, 4792, 4790, 3, 2, 2, 2, 4793, 867, 3, 2, 2, 2, 4794, 4799, 5, 866, 434, 2, 4795, 4796, 7, 371, 2, 2, 4796, 4798, 5, 866, 434, 2, 4797, 4795, 3, 2, 2, 2, 4798, 4801, 3, 2, 2, 2, 4799, 4797, 3, 2, 2, 2, 4799, 4800, 3, 2, 2, 2, 4800, 869, 3, 2, 2, 2, 4801, 4799, 3, 2, 2, 2, 4802, 4803, 7, 69, 2, 2, 4803, 4804, 7, 321, 2, 2, 4804, 4807, 7, 322, 2, 2, 4805, 4808, 5, 872, 437, 2, 4806, 4808, 5, 874, 438, 2, 4807, 4805, 3, 2, 2, 2, 4807, 4806, 3, 2, 2, 2, 4808, 871, 3, 2, 2, 2, 4809, 4810, 5, 848, 425, 2, 4810, 4811, 7, 11, 2, 2, 4811, 4812, 5, 848, 425, 2, 4812, 873, 3, 2, 2, 2, 4813, 4816, 5, 848, 425, 2, 4814, 4815, 7, 156, 2, 2, 4815, 4817, 5, 864, 433, 2, 4816, 4814, 3, 2, 2, 2, 4816, 4817, 3, 2, 2, 2, 4817, 875, 3, 2, 2, 2, 4818, 4819, 7, 156, 2, 2, 4819, 4820, 7, 142, 2, 2, 4820, 877, 3, 2, 2, 2, 4821, 4823, 7, 325, 2, 2, 4822, 4824, 5, 876, 439, 2, 4823, 4822, 3, 2, 2, 2, 4823, 4824, 3, 2, 2, 2, 4824, 879, 3, 2, 2, 2, 4825, 4826, 7, 132, 2, 2, 4826, 881, 3, 2, 2, 2, 4827, 4828, 7, 133, 2, 2, 4828, 883, 3, 2, 2, 2, 4829, 4830, 7, 339, 2, 2, 4830, 885, 3, 2, 2, 2, 4831, 4832, 7, 71, 2, 2, 4832, 4833, 7, 321, 2, 2, 4833, 4834, 7, 322, 2, 2, 4834, 4852, 5, 848, 425, 2, 4835, 4853, 7, 301, 2, 2, 4836, 4853, 7, 133, 2, 2, 4837, 4838, 7, 162, 2, 2, 4838, 4853, 5, 864, 433, 2, 4839, 4840, 7, 163, 2, 2, 4840, 4853, 5, 868, 435, 2, 4841, 4853, 5, 888, 445, 2, 4842, 4844, 5, 878, 440, 2, 4843, 4845, 5, 880, 441, 2, 4844, 4843, 3, 2, 2, 2, 4844, 4845, 3, 2, 2, 2, 4845, 4851, 3, 2, 2, 2, 4846, 4848, 5, 880, 441, 2, 4847, 4849, 5, 878, 440, 2, 4848, 4847, 3, 2, 2, 2, 4848, 4849, 3, 2, 2, 2, 4849, 4851, 3, 2, 2, 2, 4850, 4842, 3, 2, 2, 2, 4850, 4846, 3, 2, 2, 2, 4851, 4853, 3, 2, 2, 2, 4852, 4835, 3, 2, 2, 2, 4852, 4836, 3, 2, 2, 2, 4852, 4837, 3, 2, 2, 2, 4852, 4839, 3, 2, 2, 2, 4852, 4841, 3, 2, 2, 2, 4852, 4850, 3, 2, 2, 2, 4853, 887, 3, 2, 2, 2, 4854, 4855, 7, 78, 2, 2, 4855, 4856, 7, 79, 2, 2, 4856, 4857, 5, 848, 425, 2, 4857, 889, 3, 2, 2, 2, 4858, 4861, 5, 880, 441, 2, 4859, 4861, 5, 882, 442, 2, 4860, 4858, 3, 2, 2, 2, 4860, 4859, 3, 2, 2, 2, 4861, 4862, 3, 2, 2, 2, 4862, 4863, 7, 335, 2, 2, 4863, 4864, 7, 336, 2, 2, 4864, 891, 3, 2, 2, 2, 4865, 4877, 7, 142, 2, 2, 4866, 4867, 7, 337, 2, 2, 4867, 4868, 7, 321, 2, 2, 4868, 4869, 7, 322, 2, 2, 4869, 4870, 7, 156, 2, 2, 4870, 4878, 5, 848, 425, 2, 4871, 4872, 7, 321, 2, 2, 4872, 4873, 7, 322, 2, 2, 4873, 4874, 5, 848, 425, 2, 4874, 4875, 7, 156, 2, 2, 4875, 4876, 5, 848, 425, 2, 4876, 4878, 3, 2, 2, 2, 4877, 4866, 3, 2, 2, 2, 4877, 4871, 3, 2, 2, 2, 4878, 893, 3, 2, 2, 2, 4879, 4880, 7, 77, 2, 2, 4880, 4881, 7, 321, 2, 2, 4881, 4882, 7, 322, 2, 2, 4882, 4883, 5, 848, 425, 2, 4883, 895, 3, 2, 2, 2, 4884, 4889, 5, 848, 425, 2, 4885, 4886, 7, 369, 2, 2, 4886, 4888, 5, 848, 425, 2, 4887, 4885, 3, 2, 2, 2, 4888, 4891, 3, 2, 2, 2, 4889, 4887, 3, 2, 2, 2, 4889, 4890, 3, 2, 2, 2, 4890, 897, 3, 2, 2, 2, 4891, 4889, 3, 2, 2, 2, 4892, 4893, 5, 906, 454, 2, 4893, 899, 3, 2, 2, 2, 4894, 4895, 5, 898, 450, 2, 4895, 4896, 7, 2, 2, 3, 4896, 901, 3, 2, 2, 2, 4897, 4902, 5, 904, 453, 2, 4898, 4899, 7, 9, 2, 2, 4899, 4901, 5, 904, 453, 2, 4900, 4898, 3, 2, 2, 2, 4901, 4904, 3, 2, 2, 2, 4902, 4900, 3, 2, 2, 2, 4902, 4903, 3, 2, 2, 2, 4903, 903, 3, 2, 2, 2, 4904, 4902, 3, 2, 2, 2, 4905, 4910, 5, 906, 454, 2, 4906, 4907, 7, 8, 2, 2, 4907, 4909, 5, 906, 454, 2, 4908, 4906, 3, 2, 2, 2, 4909, 4912, 3, 2, 2, 2, 4910, 4908, 3, 2, 2, 2, 4910, 4911, 3, 2, 2, 2, 4911, 905, 3, 2, 2, 2, 4912, 4910, 3, 2, 2, 2, 4913, 4914, 5, 848, 425, 2, 4914, 4915, 5, 910, 456, 2, 4915, 4916, 5, 908, 455, 2, 4916, 907, 3, 2, 2, 2, 4917, 4918, 9, 29, 2, 2, 4918, 909, 3, 2, 2, 2, 4919, 4920, 7, 385, 2, 2, 4920, 911, 3, 2, 2, 2, 4921, 4926, 7, 124, 2, 2, 4922, 4923, 7, 329, 2, 2, 4923, 4924, 7, 79, 2, 2, 4924, 4926, 5, 896, 449, 2, 4925, 4921, 3, 2, 2, 2, 4925, 4922, 3, 2, 2, 2, 4926, 913, 3, 2, 2, 2, 4927, 4928, 5, 912, 457, 2, 4928, 4929, 7, 2, 2, 3, 4929, 915, 3, 2, 2, 2, 4930, 4931, 7, 69, 2, 2, 4931, 4932, 7, 217, 2, 2, 4932, 4933, 5, 848, 425, 2, 4933, 4934, 7, 369, 2, 2, 4934, 4935, 5, 848, 425, 2, 4935, 4936, 5, 920, 461, 2, 4936, 917, 3, 2, 2, 2, 4937, 4938, 7, 71, 2, 2, 4938, 4939, 7, 217, 2, 2, 4939, 4940, 5, 848, 425, 2, 4940, 4941, 7, 369, 2, 2, 4941, 4957, 5, 848, 425, 2, 4942, 4958, 5, 920, 461, 2, 4943, 4944, 7, 141, 2, 2, 4944, 4945, 7, 79, 2, 2, 4945, 4946, 7, 328, 2, 2, 4946, 4958, 5, 896, 449, 2, 4947, 4948, 7, 77, 2, 2, 4948, 4949, 7, 24, 2, 2, 4949, 4950, 7, 328, 2, 2, 4950, 4958, 5, 896, 449, 2, 4951, 4952, 7, 141, 2, 2, 4952, 4953, 7, 79, 2, 2, 4953, 4958, 7, 339, 2, 2, 4954, 4955, 7, 77, 2, 2, 4955, 4956, 7, 24, 2, 2, 4956, 4958, 7, 339, 2, 2, 4957, 4942, 3, 2, 2, 2, 4957, 4943, 3, 2, 2, 2, 4957, 4947, 3, 2, 2, 2, 4957, 4951, 3, 2, 2, 2, 4957, 4954, 3, 2, 2, 2, 4958, 919, 3, 2, 2, 2, 4959, 4960, 7, 170, 2, 2, 4960, 4961, 5, 898, 450, 2, 4961, 4962, 7, 330, 2, 2, 4962, 4963, 5, 912, 457, 2, 4963, 921, 3, 2, 2, 2, 4964, 4965, 7, 77, 2, 2, 4965, 4966, 7, 217, 2, 2, 4966, 4967, 5, 848, 425, 2, 4967, 4968, 7, 369, 2, 2, 4968, 4969, 5, 848, 425, 2, 4969, 923, 3, 2, 2, 2, 4970, 4971, 7, 331, 2, 2, 4971, 4972, 7, 379, 2, 2, 4972, 4983, 7, 405, 2, 2, 4973, 4974, 7, 323, 2, 2, 4974, 4975, 7, 379, 2, 2, 4975, 4983, 7, 405, 2, 2, 4976, 4977, 7, 332, 2, 2, 4977, 4978, 7, 379, 2, 2, 4978, 4983, 7, 400, 2, 2, 4979, 4980, 7, 333, 2, 2, 4980, 4981, 7, 379, 2, 2, 4981, 4983, 5, 896, 449, 2, 4982, 4970, 3, 2, 2, 2, 4982, 4973, 3, 2, 2, 2, 4982, 4976, 3, 2, 2, 2, 4982, 4979, 3, 2, 2, 2, 4983, 925, 3, 2, 2, 2, 4984, 4989, 5, 924, 463, 2, 4985, 4986, 7, 371, 2, 2, 4986, 4988, 5, 924, 463, 2, 4987, 4985, 3, 2, 2, 2, 4988, 4991, 3, 2, 2, 2, 4989, 4987, 3, 2, 2, 2, 4989, 4990, 3, 2, 2, 2, 4990, 927, 3, 2, 2, 2, 4991, 4989, 3, 2, 2, 2, 4992, 4993, 7, 69, 2, 2, 4993, 4994, 7, 328, 2, 2, 4994, 4995, 5, 848, 425, 2, 4995, 4996, 7, 369, 2, 2, 4996, 4997, 5, 896, 449, 2, 4997, 4998, 7, 156, 2, 2, 4998, 4999, 5, 926, 464, 2, 4999, 929, 3, 2, 2, 2, 5000, 5001, 7, 71, 2, 2, 5001, 5002, 7, 328, 2, 2, 5002, 5003, 5, 848, 425, 2, 5003, 5004, 7, 369, 2, 2, 5004, 5015, 5, 896, 449, 2, 5005, 5006, 7, 162, 2, 2, 5006, 5016, 5, 926, 464, 2, 5007, 5008, 7, 163, 2, 2, 5008, 5016, 7, 332, 2, 2, 5009, 5010, 7, 141, 2, 2, 5010, 5011, 7, 217, 2, 2, 5011, 5016, 5, 848, 425, 2, 5012, 5013, 7, 77, 2, 2, 5013, 5014, 7, 217, 2, 2, 5014, 5016, 5, 848, 425, 2, 5015, 5005, 3, 2, 2, 2, 5015, 5007, 3, 2, 2, 2, 5015, 5009, 3, 2, 2, 2, 5015, 5012, 3, 2, 2, 2, 5016, 931, 3, 2, 2, 2, 5017, 5018, 7, 77, 2, 2, 5018, 5019, 7, 328, 2, 2, 5019, 5020, 5, 848, 425, 2, 5020, 5021, 7, 369, 2, 2, 5021, 5022, 5, 896, 449, 2, 5022, 933, 3, 2, 2, 2, 5023, 5024, 7, 69, 2, 2, 5024, 5025, 9, 39, 2, 2, 5025, 5026, 7, 334, 2, 2, 5026, 5027, 7, 400, 2, 2, 5027, 5028, 7, 187, 2, 2, 5028, 5032, 5, 848, 425, 2, 5029, 5030, 7, 79, 2, 2, 5030, 5033, 5, 896, 449, 2, 5031, 5033, 5, 884, 443, 2, 5032, 5029, 3, 2, 2, 2, 5032, 5031, 3, 2, 2, 2, 5033, 5037, 3, 2, 2, 2, 5034, 5035, 7, 156, 2, 2, 5035, 5036, 7, 19, 2, 2, 5036, 5038, 7, 405, 2, 2, 5037, 5034, 3, 2, 2, 2, 5037, 5038, 3, 2, 2, 2, 5038, 935, 3, 2, 2, 2, 5039, 5040, 7, 71, 2, 2, 5040, 5041, 9, 39, 2, 2, 5041, 5042, 7, 334, 2, 2, 5042, 5043, 7, 400, 2, 2, 5043, 5044, 7, 187, 2, 2, 5044, 5048, 5, 848, 425, 2, 5045, 5046, 7, 79, 2, 2, 5046, 5049, 5, 896, 449, 2, 5047, 5049, 5, 884, 443, 2, 5048, 5045, 3, 2, 2, 2, 5048, 5047, 3, 2, 2, 2, 5049, 5053, 3, 2, 2, 2, 5050, 5051, 7, 156, 2, 2, 5051, 5052, 7, 19, 2, 2, 5052, 5054, 7, 405, 2, 2, 5053, 5050, 3, 2, 2, 2, 5053, 5054, 3, 2, 2, 2, 5054, 937, 3, 2, 2, 2, 5055, 5056, 7, 77, 2, 2, 5056, 5057, 9, 39, 2, 2, 5057, 5058, 7, 334, 2, 2, 5058, 5059, 7, 400, 2, 2, 5059, 5060, 7, 187, 2, 2, 5060, 5061, 5, 848, 425, 2, 5061, 939, 3, 2, 2, 2, 583, 942, 945, 947, 958, 964, 970, 981, 984, 986, 1004, 1009, 1014, 1020, 1024, 1037, 1041, 1045, 1050, 1057, 1063, 1067, 1069, 1073, 1080, 1082, 1088, 1099, 1107, 1111, 1158, 1188, 1192, 1195, 1200, 1207, 1218, 1231, 1235, 1242, 1245, 1248, 1251, 1255, 1261, 1264, 1267, 1270, 1273, 1276, 1282, 1298, 1300, 1305, 1307, 1317, 1322, 1326, 1329, 1336, 1342, 1347, 1357, 1371, 1387, 1402, 1406, 1423, 1436, 1440, 1445, 1472, 1477, 1482, 1490, 1496, 1500, 1503, 1506, 1512, 1519, 1529, 1533, 1538, 1542, 1548, 1555, 1562, 1570, 1577, 1581, 1584, 1592, 1595, 1603, 1606, 1610, 1620, 1625, 1631, 1644, 1650, 1666, 1682, 1698, 1705, 1717, 1721, 1726, 1731, 1734, 1737, 1741, 1744, 1747, 1769, 1772, 1779, 1792, 1797, 1806, 1813, 1819, 1827, 1833, 1849, 1852, 1862, 1870, 1874, 1877, 1881, 1885, 1888, 1893, 1898, 1904, 1915, 1917, 1921, 1927, 1933, 1938, 1944, 1949, 1956, 1961, 1969, 1974, 1981, 1987, 1995, 2002, 2007, 2015, 2022, 2025, 2028, 2030, 2044, 2046, 2052, 2067, 2084, 2089, 2093, 2097, 2104, 2111, 2117, 2121, 2124, 2131, 2154, 2159, 2163, 2171, 2179, 2183, 2189, 2194, 2201, 2204, 2210, 2217, 2225, 2234, 2243, 2263, 2269, 2272, 2274, 2281, 2291, 2299, 2303, 2307, 2320, 2329, 2335, 2339, 2346, 2349, 2352, 2355, 2362, 2367, 2373, 2377, 2382, 2399, 2403, 2410, 2418, 2420, 2424, 2427, 2439, 2444, 2453, 2457, 2464, 2470, 2475, 2480, 2483, 2494, 2502, 2508, 2512, 2530, 2546, 2562, 2566, 2581, 2587, 2590, 2593, 2596, 2599, 2603, 2620, 2628, 2631, 2635, 2642, 2649, 2653, 2660, 2691, 2699, 2715, 2731, 2739, 2747, 2755, 2766, 2770, 2778, 2787, 2790, 2799, 2803, 2805, 2809, 2813, 2819, 2825, 2843, 2845, 2849, 2858, 2869, 2873, 2880, 2892, 2899, 2907, 2911, 2914, 2921, 2927, 2931, 2934, 2940, 2944, 2948, 2955, 2961, 2972, 2980, 2983, 2986, 2998, 3002, 3006, 3014, 3018, 3024, 3028, 3032, 3036, 3044, 3048, 3052, 3065, 3071, 3076, 3079, 3084, 3093, 3102, 3110, 3120, 3139, 3142, 3153, 3181, 3187, 3193, 3199, 3201, 3204, 3210, 3218, 3233, 3240, 3245, 3248, 3252, 3255, 3258, 3261, 3264, 3270, 3274, 3277, 3280, 3283, 3286, 3289, 3296, 3299, 3306, 3309, 3312, 3315, 3318, 3321, 3324, 3327, 3330, 3333, 3337, 3340, 3343, 3346, 3349, 3352, 3355, 3358, 3361, 3364, 3366, 3372, 3377, 3384, 3386, 3389, 3394, 3397, 3401, 3406, 3413, 3419, 3431, 3438, 3444, 3453, 3456, 3460, 3466, 3476, 3480, 3491, 3497, 3500, 3510, 3512, 3516, 3523, 3545, 3552, 3556, 3559, 3564, 3567, 3574, 3581, 3584, 3592, 3598, 3600, 3602, 3605, 3608, 3612, 3616, 3626, 3631, 3633, 3639, 3642, 3645, 3653, 3659, 3661, 3663, 3666, 3669, 3673, 3676, 3683, 3697, 3707, 3710, 3713, 3716, 3720, 3730, 3740, 3748, 3756, 3763, 3772, 3780, 3792, 3797, 3803, 3810, 3817, 3824, 3831, 3840, 3844, 3849, 3853, 3856, 3860, 3866, 3871, 3875, 3894, 3899, 3904, 3910, 3923, 3926, 3929, 3941, 3944, 3947, 3955, 3964, 3969, 3971, 3988, 3991, 4004, 4008, 4012, 4015, 4018, 4021, 4025, 4028, 4031, 4038, 4044, 4052, 4055, 4059, 4064, 4068, 4073, 4080, 4094, 4097, 4101, 4116, 4126, 4135, 4138, 4149, 4157, 4166, 4172, 4179, 4188, 4200, 4210, 4220, 4225, 4229, 4233, 4239, 4257, 4263, 4267, 4275, 4285, 4295, 4306, 4320, 4326, 4333, 4336, 4338, 4343, 4347, 4355, 4368, 4372, 4384, 4388, 4397, 4424, 4430, 4438, 4447, 4472, 4486, 4499, 4512, 4533, 4546, 4562, 4564, 4579, 4608, 4625, 4627, 4640, 4655, 4659, 4665, 4673, 4682, 4690, 4699, 4715, 4725, 4738, 4742, 4746, 4754, 4770, 4779, 4786, 4792, 4799, 4807, 4816, 4823, 4844, 4848, 4850, 4852, 4860, 4877, 4889, 4902, 4910, 4925, 4957, 4982, 4989, 5015, 5032, 5037, 5048, 5053]
\ No newline at end of file
diff --git a/reverse_engineering/parser/Hive/HiveParser.js b/reverse_engineering/parser/Hive/HiveParser.js
deleted file mode 100644
index 7303e03..0000000
--- a/reverse_engineering/parser/Hive/HiveParser.js
+++ /dev/null
@@ -1,53482 +0,0 @@
-// Generated from grammars/HiveParser.g4 by ANTLR 4.9.2
-// jshint ignore: start
-const antlr4 = require('antlr4');
-const { HiveParserVisitor } = require('./HiveParserVisitor.js');
-
-const serializedATN = [
- '\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786',
- '\u5964\u0003\u019d\u13c7\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004',
- '\u0004\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t',
- '\u0007\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004',
- '\f\t\f\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010',
- '\t\u0010\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013',
- '\u0004\u0014\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u0017',
- '\t\u0017\u0004\u0018\t\u0018\u0004\u0019\t\u0019\u0004\u001a\t\u001a',
- '\u0004\u001b\t\u001b\u0004\u001c\t\u001c\u0004\u001d\t\u001d\u0004\u001e',
- '\t\u001e\u0004\u001f\t\u001f\u0004 \t \u0004!\t!\u0004"\t"\u0004#',
- "\t#\u0004$\t$\u0004%\t%\u0004&\t&\u0004\'\t\'\u0004(\t(\u0004)\t)\u0004",
- '*\t*\u0004+\t+\u0004,\t,\u0004-\t-\u0004.\t.\u0004/\t/\u00040\t0\u0004',
- '1\t1\u00042\t2\u00043\t3\u00044\t4\u00045\t5\u00046\t6\u00047\t7\u0004',
- '8\t8\u00049\t9\u0004:\t:\u0004;\t;\u0004<\t<\u0004=\t=\u0004>\t>\u0004',
- '?\t?\u0004@\t@\u0004A\tA\u0004B\tB\u0004C\tC\u0004D\tD\u0004E\tE\u0004',
- 'F\tF\u0004G\tG\u0004H\tH\u0004I\tI\u0004J\tJ\u0004K\tK\u0004L\tL\u0004',
- 'M\tM\u0004N\tN\u0004O\tO\u0004P\tP\u0004Q\tQ\u0004R\tR\u0004S\tS\u0004',
- 'T\tT\u0004U\tU\u0004V\tV\u0004W\tW\u0004X\tX\u0004Y\tY\u0004Z\tZ\u0004',
- '[\t[\u0004\\\t\\\u0004]\t]\u0004^\t^\u0004_\t_\u0004`\t`\u0004a\ta\u0004',
- 'b\tb\u0004c\tc\u0004d\td\u0004e\te\u0004f\tf\u0004g\tg\u0004h\th\u0004',
- 'i\ti\u0004j\tj\u0004k\tk\u0004l\tl\u0004m\tm\u0004n\tn\u0004o\to\u0004',
- 'p\tp\u0004q\tq\u0004r\tr\u0004s\ts\u0004t\tt\u0004u\tu\u0004v\tv\u0004',
- 'w\tw\u0004x\tx\u0004y\ty\u0004z\tz\u0004{\t{\u0004|\t|\u0004}\t}\u0004',
- '~\t~\u0004\u007f\t\u007f\u0004\u0080\t\u0080\u0004\u0081\t\u0081\u0004',
- '\u0082\t\u0082\u0004\u0083\t\u0083\u0004\u0084\t\u0084\u0004\u0085\t',
- '\u0085\u0004\u0086\t\u0086\u0004\u0087\t\u0087\u0004\u0088\t\u0088\u0004',
- '\u0089\t\u0089\u0004\u008a\t\u008a\u0004\u008b\t\u008b\u0004\u008c\t',
- '\u008c\u0004\u008d\t\u008d\u0004\u008e\t\u008e\u0004\u008f\t\u008f\u0004',
- '\u0090\t\u0090\u0004\u0091\t\u0091\u0004\u0092\t\u0092\u0004\u0093\t',
- '\u0093\u0004\u0094\t\u0094\u0004\u0095\t\u0095\u0004\u0096\t\u0096\u0004',
- '\u0097\t\u0097\u0004\u0098\t\u0098\u0004\u0099\t\u0099\u0004\u009a\t',
- '\u009a\u0004\u009b\t\u009b\u0004\u009c\t\u009c\u0004\u009d\t\u009d\u0004',
- '\u009e\t\u009e\u0004\u009f\t\u009f\u0004\u00a0\t\u00a0\u0004\u00a1\t',
- '\u00a1\u0004\u00a2\t\u00a2\u0004\u00a3\t\u00a3\u0004\u00a4\t\u00a4\u0004',
- '\u00a5\t\u00a5\u0004\u00a6\t\u00a6\u0004\u00a7\t\u00a7\u0004\u00a8\t',
- '\u00a8\u0004\u00a9\t\u00a9\u0004\u00aa\t\u00aa\u0004\u00ab\t\u00ab\u0004',
- '\u00ac\t\u00ac\u0004\u00ad\t\u00ad\u0004\u00ae\t\u00ae\u0004\u00af\t',
- '\u00af\u0004\u00b0\t\u00b0\u0004\u00b1\t\u00b1\u0004\u00b2\t\u00b2\u0004',
- '\u00b3\t\u00b3\u0004\u00b4\t\u00b4\u0004\u00b5\t\u00b5\u0004\u00b6\t',
- '\u00b6\u0004\u00b7\t\u00b7\u0004\u00b8\t\u00b8\u0004\u00b9\t\u00b9\u0004',
- '\u00ba\t\u00ba\u0004\u00bb\t\u00bb\u0004\u00bc\t\u00bc\u0004\u00bd\t',
- '\u00bd\u0004\u00be\t\u00be\u0004\u00bf\t\u00bf\u0004\u00c0\t\u00c0\u0004',
- '\u00c1\t\u00c1\u0004\u00c2\t\u00c2\u0004\u00c3\t\u00c3\u0004\u00c4\t',
- '\u00c4\u0004\u00c5\t\u00c5\u0004\u00c6\t\u00c6\u0004\u00c7\t\u00c7\u0004',
- '\u00c8\t\u00c8\u0004\u00c9\t\u00c9\u0004\u00ca\t\u00ca\u0004\u00cb\t',
- '\u00cb\u0004\u00cc\t\u00cc\u0004\u00cd\t\u00cd\u0004\u00ce\t\u00ce\u0004',
- '\u00cf\t\u00cf\u0004\u00d0\t\u00d0\u0004\u00d1\t\u00d1\u0004\u00d2\t',
- '\u00d2\u0004\u00d3\t\u00d3\u0004\u00d4\t\u00d4\u0004\u00d5\t\u00d5\u0004',
- '\u00d6\t\u00d6\u0004\u00d7\t\u00d7\u0004\u00d8\t\u00d8\u0004\u00d9\t',
- '\u00d9\u0004\u00da\t\u00da\u0004\u00db\t\u00db\u0004\u00dc\t\u00dc\u0004',
- '\u00dd\t\u00dd\u0004\u00de\t\u00de\u0004\u00df\t\u00df\u0004\u00e0\t',
- '\u00e0\u0004\u00e1\t\u00e1\u0004\u00e2\t\u00e2\u0004\u00e3\t\u00e3\u0004',
- '\u00e4\t\u00e4\u0004\u00e5\t\u00e5\u0004\u00e6\t\u00e6\u0004\u00e7\t',
- '\u00e7\u0004\u00e8\t\u00e8\u0004\u00e9\t\u00e9\u0004\u00ea\t\u00ea\u0004',
- '\u00eb\t\u00eb\u0004\u00ec\t\u00ec\u0004\u00ed\t\u00ed\u0004\u00ee\t',
- '\u00ee\u0004\u00ef\t\u00ef\u0004\u00f0\t\u00f0\u0004\u00f1\t\u00f1\u0004',
- '\u00f2\t\u00f2\u0004\u00f3\t\u00f3\u0004\u00f4\t\u00f4\u0004\u00f5\t',
- '\u00f5\u0004\u00f6\t\u00f6\u0004\u00f7\t\u00f7\u0004\u00f8\t\u00f8\u0004',
- '\u00f9\t\u00f9\u0004\u00fa\t\u00fa\u0004\u00fb\t\u00fb\u0004\u00fc\t',
- '\u00fc\u0004\u00fd\t\u00fd\u0004\u00fe\t\u00fe\u0004\u00ff\t\u00ff\u0004',
- '\u0100\t\u0100\u0004\u0101\t\u0101\u0004\u0102\t\u0102\u0004\u0103\t',
- '\u0103\u0004\u0104\t\u0104\u0004\u0105\t\u0105\u0004\u0106\t\u0106\u0004',
- '\u0107\t\u0107\u0004\u0108\t\u0108\u0004\u0109\t\u0109\u0004\u010a\t',
- '\u010a\u0004\u010b\t\u010b\u0004\u010c\t\u010c\u0004\u010d\t\u010d\u0004',
- '\u010e\t\u010e\u0004\u010f\t\u010f\u0004\u0110\t\u0110\u0004\u0111\t',
- '\u0111\u0004\u0112\t\u0112\u0004\u0113\t\u0113\u0004\u0114\t\u0114\u0004',
- '\u0115\t\u0115\u0004\u0116\t\u0116\u0004\u0117\t\u0117\u0004\u0118\t',
- '\u0118\u0004\u0119\t\u0119\u0004\u011a\t\u011a\u0004\u011b\t\u011b\u0004',
- '\u011c\t\u011c\u0004\u011d\t\u011d\u0004\u011e\t\u011e\u0004\u011f\t',
- '\u011f\u0004\u0120\t\u0120\u0004\u0121\t\u0121\u0004\u0122\t\u0122\u0004',
- '\u0123\t\u0123\u0004\u0124\t\u0124\u0004\u0125\t\u0125\u0004\u0126\t',
- '\u0126\u0004\u0127\t\u0127\u0004\u0128\t\u0128\u0004\u0129\t\u0129\u0004',
- '\u012a\t\u012a\u0004\u012b\t\u012b\u0004\u012c\t\u012c\u0004\u012d\t',
- '\u012d\u0004\u012e\t\u012e\u0004\u012f\t\u012f\u0004\u0130\t\u0130\u0004',
- '\u0131\t\u0131\u0004\u0132\t\u0132\u0004\u0133\t\u0133\u0004\u0134\t',
- '\u0134\u0004\u0135\t\u0135\u0004\u0136\t\u0136\u0004\u0137\t\u0137\u0004',
- '\u0138\t\u0138\u0004\u0139\t\u0139\u0004\u013a\t\u013a\u0004\u013b\t',
- '\u013b\u0004\u013c\t\u013c\u0004\u013d\t\u013d\u0004\u013e\t\u013e\u0004',
- '\u013f\t\u013f\u0004\u0140\t\u0140\u0004\u0141\t\u0141\u0004\u0142\t',
- '\u0142\u0004\u0143\t\u0143\u0004\u0144\t\u0144\u0004\u0145\t\u0145\u0004',
- '\u0146\t\u0146\u0004\u0147\t\u0147\u0004\u0148\t\u0148\u0004\u0149\t',
- '\u0149\u0004\u014a\t\u014a\u0004\u014b\t\u014b\u0004\u014c\t\u014c\u0004',
- '\u014d\t\u014d\u0004\u014e\t\u014e\u0004\u014f\t\u014f\u0004\u0150\t',
- '\u0150\u0004\u0151\t\u0151\u0004\u0152\t\u0152\u0004\u0153\t\u0153\u0004',
- '\u0154\t\u0154\u0004\u0155\t\u0155\u0004\u0156\t\u0156\u0004\u0157\t',
- '\u0157\u0004\u0158\t\u0158\u0004\u0159\t\u0159\u0004\u015a\t\u015a\u0004',
- '\u015b\t\u015b\u0004\u015c\t\u015c\u0004\u015d\t\u015d\u0004\u015e\t',
- '\u015e\u0004\u015f\t\u015f\u0004\u0160\t\u0160\u0004\u0161\t\u0161\u0004',
- '\u0162\t\u0162\u0004\u0163\t\u0163\u0004\u0164\t\u0164\u0004\u0165\t',
- '\u0165\u0004\u0166\t\u0166\u0004\u0167\t\u0167\u0004\u0168\t\u0168\u0004',
- '\u0169\t\u0169\u0004\u016a\t\u016a\u0004\u016b\t\u016b\u0004\u016c\t',
- '\u016c\u0004\u016d\t\u016d\u0004\u016e\t\u016e\u0004\u016f\t\u016f\u0004',
- '\u0170\t\u0170\u0004\u0171\t\u0171\u0004\u0172\t\u0172\u0004\u0173\t',
- '\u0173\u0004\u0174\t\u0174\u0004\u0175\t\u0175\u0004\u0176\t\u0176\u0004',
- '\u0177\t\u0177\u0004\u0178\t\u0178\u0004\u0179\t\u0179\u0004\u017a\t',
- '\u017a\u0004\u017b\t\u017b\u0004\u017c\t\u017c\u0004\u017d\t\u017d\u0004',
- '\u017e\t\u017e\u0004\u017f\t\u017f\u0004\u0180\t\u0180\u0004\u0181\t',
- '\u0181\u0004\u0182\t\u0182\u0004\u0183\t\u0183\u0004\u0184\t\u0184\u0004',
- '\u0185\t\u0185\u0004\u0186\t\u0186\u0004\u0187\t\u0187\u0004\u0188\t',
- '\u0188\u0004\u0189\t\u0189\u0004\u018a\t\u018a\u0004\u018b\t\u018b\u0004',
- '\u018c\t\u018c\u0004\u018d\t\u018d\u0004\u018e\t\u018e\u0004\u018f\t',
- '\u018f\u0004\u0190\t\u0190\u0004\u0191\t\u0191\u0004\u0192\t\u0192\u0004',
- '\u0193\t\u0193\u0004\u0194\t\u0194\u0004\u0195\t\u0195\u0004\u0196\t',
- '\u0196\u0004\u0197\t\u0197\u0004\u0198\t\u0198\u0004\u0199\t\u0199\u0004',
- '\u019a\t\u019a\u0004\u019b\t\u019b\u0004\u019c\t\u019c\u0004\u019d\t',
- '\u019d\u0004\u019e\t\u019e\u0004\u019f\t\u019f\u0004\u01a0\t\u01a0\u0004',
- '\u01a1\t\u01a1\u0004\u01a2\t\u01a2\u0004\u01a3\t\u01a3\u0004\u01a4\t',
- '\u01a4\u0004\u01a5\t\u01a5\u0004\u01a6\t\u01a6\u0004\u01a7\t\u01a7\u0004',
- '\u01a8\t\u01a8\u0004\u01a9\t\u01a9\u0004\u01aa\t\u01aa\u0004\u01ab\t',
- '\u01ab\u0004\u01ac\t\u01ac\u0004\u01ad\t\u01ad\u0004\u01ae\t\u01ae\u0004',
- '\u01af\t\u01af\u0004\u01b0\t\u01b0\u0004\u01b1\t\u01b1\u0004\u01b2\t',
- '\u01b2\u0004\u01b3\t\u01b3\u0004\u01b4\t\u01b4\u0004\u01b5\t\u01b5\u0004',
- '\u01b6\t\u01b6\u0004\u01b7\t\u01b7\u0004\u01b8\t\u01b8\u0004\u01b9\t',
- '\u01b9\u0004\u01ba\t\u01ba\u0004\u01bb\t\u01bb\u0004\u01bc\t\u01bc\u0004',
- '\u01bd\t\u01bd\u0004\u01be\t\u01be\u0004\u01bf\t\u01bf\u0004\u01c0\t',
- '\u01c0\u0004\u01c1\t\u01c1\u0004\u01c2\t\u01c2\u0004\u01c3\t\u01c3\u0004',
- '\u01c4\t\u01c4\u0004\u01c5\t\u01c5\u0004\u01c6\t\u01c6\u0004\u01c7\t',
- '\u01c7\u0004\u01c8\t\u01c8\u0004\u01c9\t\u01c9\u0004\u01ca\t\u01ca\u0004',
- '\u01cb\t\u01cb\u0004\u01cc\t\u01cc\u0004\u01cd\t\u01cd\u0004\u01ce\t',
- '\u01ce\u0004\u01cf\t\u01cf\u0004\u01d0\t\u01d0\u0004\u01d1\t\u01d1\u0004',
- '\u01d2\t\u01d2\u0004\u01d3\t\u01d3\u0004\u01d4\t\u01d4\u0004\u01d5\t',
- '\u01d5\u0004\u01d6\t\u01d6\u0003\u0002\u0003\u0002\u0005\u0002\u03af',
- '\n\u0002\u0003\u0002\u0007\u0002\u03b2\n\u0002\f\u0002\u000e\u0002\u03b5',
- '\u000b\u0002\u0003\u0002\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0004',
- '\u0003\u0004\u0003\u0005\u0003\u0005\u0005\u0005\u03bf\n\u0005\u0003',
- '\u0006\u0003\u0006\u0007\u0006\u03c3\n\u0006\f\u0006\u000e\u0006\u03c6',
- '\u000b\u0006\u0003\u0006\u0003\u0006\u0003\u0006\u0005\u0006\u03cb\n',
- '\u0006\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003',
- '\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0005\u0007\u03d6\n\u0007',
- '\u0003\u0007\u0005\u0007\u03d9\n\u0007\u0005\u0007\u03db\n\u0007\u0003',
- '\b\u0003\b\u0003\t\u0003\t\u0003\n\u0003\n\u0003\n\u0003\n\u0003\n\u0003',
- '\n\u0003\n\u0003\n\u0003\n\u0003\n\u0003\n\u0003\n\u0005\n\u03ed\n\n',
- '\u0003\u000b\u0003\u000b\u0003\u000b\u0005\u000b\u03f2\n\u000b\u0003',
- '\u000b\u0003\u000b\u0003\u000b\u0005\u000b\u03f7\n\u000b\u0003\u000b',
- '\u0003\u000b\u0003\u000b\u0003\u000b\u0005\u000b\u03fd\n\u000b\u0003',
- '\f\u0003\f\u0005\f\u0401\n\f\u0003\f\u0003\f\u0003\f\u0003\f\u0003\f',
- '\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0005\r\u040e\n\r\u0003',
- '\u000e\u0003\u000e\u0005\u000e\u0412\n\u000e\u0003\u000e\u0003\u000e',
- '\u0005\u000e\u0416\n\u000e\u0003\u000e\u0003\u000e\u0003\u000e\u0005',
- '\u000e\u041b\n\u000e\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u000f',
- '\u0003\u000f\u0005\u000f\u0422\n\u000f\u0003\u000f\u0003\u000f\u0003',
- '\u000f\u0003\u000f\u0005\u000f\u0428\n\u000f\u0003\u000f\u0003\u000f',
- '\u0005\u000f\u042c\n\u000f\u0005\u000f\u042e\n\u000f\u0003\u000f\u0003',
- '\u000f\u0005\u000f\u0432\n\u000f\u0003\u0010\u0003\u0010\u0003\u0010',
- '\u0003\u0010\u0003\u0010\u0005\u0010\u0439\n\u0010\u0005\u0010\u043b',
- '\n\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0005\u0010',
- '\u0441\n\u0010\u0003\u0011\u0003\u0011\u0003\u0011\u0003\u0011\u0003',
- '\u0012\u0003\u0012\u0003\u0012\u0007\u0012\u044a\n\u0012\f\u0012\u000e',
- '\u0012\u044d\u000b\u0012\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0013',
- '\u0003\u0013\u0005\u0013\u0454\n\u0013\u0003\u0013\u0003\u0013\u0005',
- '\u0013\u0458\n\u0013\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014',
- '\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014',
- '\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014',
- '\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014',
- '\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014',
- '\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014',
- '\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014',
- '\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0005\u0014',
- '\u0487\n\u0014\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0016\u0003',
- '\u0016\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0018\u0003',
- '\u0018\u0003\u0018\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u001a\u0003',
- '\u001a\u0003\u001a\u0003\u001a\u0003\u001b\u0003\u001b\u0003\u001b\u0003',
- '\u001c\u0003\u001c\u0003\u001c\u0003\u001d\u0003\u001d\u0003\u001d\u0005',
- '\u001d\u04a5\n\u001d\u0003\u001d\u0003\u001d\u0005\u001d\u04a9\n\u001d',
- '\u0003\u001d\u0005\u001d\u04ac\n\u001d\u0003\u001d\u0003\u001d\u0003',
- '\u001d\u0005\u001d\u04b1\n\u001d\u0003\u001e\u0003\u001e\u0003\u001e',
- '\u0003\u001e\u0003\u001e\u0005\u001e\u04b8\n\u001e\u0003\u001f\u0003',
- '\u001f\u0003\u001f\u0003\u001f\u0003 \u0003 \u0003 \u0007 \u04c1\n ',
- '\f \u000e \u04c4\u000b \u0003!\u0003!\u0003!\u0003!\u0003"\u0003"',
- '\u0003"\u0003#\u0003#\u0003#\u0005#\u04d0\n#\u0003#\u0003#\u0005#\u04d4',
- '\n#\u0003$\u0003$\u0003$\u0003%\u0003%\u0005%\u04db\n%\u0003%\u0005',
- '%\u04de\n%\u0003%\u0005%\u04e1\n%\u0003%\u0005%\u04e4\n%\u0003%\u0003',
- '%\u0005%\u04e8\n%\u0003%\u0003%\u0003%\u0003%\u0005%\u04ee\n%\u0003',
- '%\u0005%\u04f1\n%\u0003%\u0005%\u04f4\n%\u0003%\u0005%\u04f7\n%\u0003',
- '%\u0005%\u04fa\n%\u0003%\u0005%\u04fd\n%\u0003%\u0003%\u0003%\u0003',
- '%\u0005%\u0503\n%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003',
- '%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003%\u0007%\u0513\n%\f%\u000e',
- '%\u0516\u000b%\u0003%\u0003%\u0005%\u051a\n%\u0005%\u051c\n%\u0003&',
- '\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0005&\u0526\n&\u0003',
- "\'\u0003\'\u0003\'\u0005\'\u052b\n\'\u0003\'\u0003\'\u0005\'\u052f\n",
- "\'\u0003\'\u0005\'\u0532\n\'\u0003(\u0003(\u0003(\u0003)\u0003)\u0005",
- ')\u0539\n)\u0003*\u0003*\u0003*\u0003*\u0005*\u053f\n*\u0003*\u0003',
- '*\u0003*\u0005*\u0544\n*\u0003*\u0003*\u0003*\u0003*\u0003*\u0003*\u0007',
- '*\u054c\n*\f*\u000e*\u054f\u000b*\u0003*\u0003*\u0003+\u0003+\u0003',
- '+\u0003+\u0003+\u0003+\u0003+\u0003+\u0003+\u0005+\u055c\n+\u0003+\u0003',
- '+\u0003+\u0003+\u0003+\u0003+\u0003+\u0003+\u0003+\u0003+\u0003+\u0003',
- '+\u0003+\u0003+\u0005+\u056c\n+\u0003,\u0003,\u0003,\u0003,\u0003,\u0003',
- ',\u0003,\u0003,\u0003,\u0003,\u0003,\u0003,\u0003,\u0005,\u057b\n,\u0003',
- ',\u0003,\u0005,\u057f\n,\u0003-\u0003-\u0003-\u0003-\u0003-\u0003-\u0003',
- '-\u0003-\u0003-\u0003-\u0003-\u0003-\u0003-\u0003-\u0003-\u0005-\u0590',
- '\n-\u0003.\u0003.\u0003.\u0003.\u0003.\u0003.\u0003/\u0003/\u0003/\u0003',
- '/\u0003/\u0005/\u059d\n/\u00030\u00030\u00050\u05a1\n0\u00031\u0003',
- '1\u00031\u00051\u05a6\n1\u00032\u00032\u00032\u00032\u00032\u00033\u0003',
- '3\u00033\u00033\u00033\u00034\u00034\u00034\u00034\u00034\u00035\u0003',
- '5\u00035\u00035\u00036\u00036\u00036\u00036\u00036\u00036\u00056\u05c1',
- '\n6\u00037\u00037\u00037\u00057\u05c6\n7\u00038\u00038\u00038\u0005',
- '8\u05cb\n8\u00039\u00039\u00039\u00039\u0003:\u0003:\u0005:\u05d3\n',
- ':\u0003:\u0003:\u0003:\u0003:\u0005:\u05d9\n:\u0003:\u0003:\u0005:\u05dd',
- '\n:\u0003:\u0005:\u05e0\n:\u0003:\u0005:\u05e3\n:\u0003;\u0003;\u0003',
- ';\u0003;\u0005;\u05e9\n;\u0003;\u0003;\u0003;\u0003;\u0003;\u0005;\u05f0',
- '\n;\u0003<\u0003<\u0003<\u0003<\u0003<\u0003=\u0003=\u0003=\u0005=\u05fa',
- '\n=\u0003>\u0003>\u0005>\u05fe\n>\u0003>\u0006>\u0601\n>\r>\u000e>\u0602',
- '\u0003?\u0003?\u0005?\u0607\n?\u0003@\u0003@\u0007@\u060b\n@\f@\u000e',
- '@\u060e\u000b@\u0003A\u0003A\u0007A\u0612\nA\fA\u000eA\u0615\u000bA',
- '\u0003B\u0003B\u0007B\u0619\nB\fB\u000eB\u061c\u000bB\u0003C\u0003C',
- '\u0003C\u0003D\u0003D\u0005D\u0623\nD\u0003D\u0003D\u0003D\u0007D\u0628',
- '\nD\fD\u000eD\u062b\u000bD\u0003D\u0005D\u062e\nD\u0003D\u0005D\u0631',
- '\nD\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0005E\u0639\nE\u0003',
- 'E\u0005E\u063c\nE\u0003F\u0003F\u0003F\u0003F\u0003F\u0003F\u0005F\u0644',
- '\nF\u0003F\u0005F\u0647\nF\u0003G\u0003G\u0005G\u064b\nG\u0003H\u0003',
- 'H\u0003I\u0003I\u0003I\u0003I\u0003I\u0003I\u0005I\u0655\nI\u0003I\u0003',
- 'I\u0003I\u0005I\u065a\nI\u0003J\u0003J\u0003J\u0003J\u0005J\u0660\n',
- 'J\u0003J\u0003J\u0003K\u0003K\u0003K\u0003K\u0003L\u0003L\u0003L\u0003',
- 'L\u0003L\u0005L\u066d\nL\u0003M\u0003M\u0003M\u0003M\u0005M\u0673\n',
- 'M\u0003N\u0003N\u0003N\u0003N\u0003N\u0003O\u0003O\u0003O\u0003O\u0003',
- 'P\u0003P\u0003P\u0007P\u0681\nP\fP\u000eP\u0684\u000bP\u0003Q\u0003',
- 'Q\u0003Q\u0003Q\u0003R\u0003R\u0003R\u0003R\u0003S\u0003S\u0003S\u0003',
- 'S\u0003S\u0005S\u0693\nS\u0003T\u0003T\u0003T\u0003T\u0003T\u0003T\u0003',
- 'U\u0003U\u0003U\u0003U\u0003V\u0003V\u0003V\u0003V\u0005V\u06a3\nV\u0003',
- 'V\u0003V\u0003V\u0003V\u0003V\u0005V\u06aa\nV\u0003W\u0003W\u0003X\u0003',
- 'X\u0003X\u0003X\u0003Y\u0003Y\u0003Y\u0003Y\u0005Y\u06b6\nY\u0003Y\u0003',
- 'Y\u0005Y\u06ba\nY\u0003Y\u0003Y\u0003Y\u0005Y\u06bf\nY\u0003Y\u0003',
- 'Y\u0003Y\u0005Y\u06c4\nY\u0003Y\u0005Y\u06c7\nY\u0003Y\u0005Y\u06ca',
- '\nY\u0003Y\u0003Y\u0005Y\u06ce\nY\u0003Y\u0005Y\u06d1\nY\u0003Y\u0005',
- 'Y\u06d4\nY\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003',
- 'Z\u0003Z\u0003[\u0003[\u0003[\u0003[\u0003[\u0003[\u0003\\\u0003\\\u0003',
- '\\\u0003\\\u0005\\\u06ea\n\\\u0003\\\u0005\\\u06ed\n\\\u0003]\u0003',
- ']\u0003]\u0003]\u0003]\u0005]\u06f4\n]\u0003]\u0003]\u0003^\u0003^\u0003',
- '^\u0003^\u0003_\u0003_\u0003_\u0007_\u06ff\n_\f_\u000e_\u0702\u000b',
- '_\u0003`\u0003`\u0005`\u0706\n`\u0003a\u0003a\u0003a\u0003b\u0003b\u0003',
- 'b\u0003b\u0005b\u070f\nb\u0003c\u0003c\u0003c\u0003c\u0003c\u0005c\u0716',
- '\nc\u0003c\u0003c\u0003d\u0003d\u0005d\u071c\nd\u0003e\u0003e\u0003',
- 'e\u0003f\u0003f\u0003f\u0005f\u0724\nf\u0003f\u0003f\u0003f\u0003f\u0005',
- 'f\u072a\nf\u0003g\u0003g\u0003g\u0003g\u0003h\u0003h\u0003h\u0003h\u0003',
- 'h\u0003h\u0003h\u0003h\u0003h\u0003h\u0005h\u073a\nh\u0003h\u0005h\u073d',
- '\nh\u0003i\u0003i\u0003i\u0003i\u0003i\u0003j\u0003j\u0003j\u0005j\u0747',
- '\nj\u0003j\u0003j\u0003j\u0003j\u0003j\u0003j\u0005j\u074f\nj\u0007',
- 'j\u0751\nj\fj\u000ej\u0754\u000bj\u0005j\u0756\nj\u0003k\u0003k\u0005',
- 'k\u075a\nk\u0003l\u0003l\u0005l\u075e\nl\u0003l\u0005l\u0761\nl\u0003',
- 'm\u0003m\u0003m\u0005m\u0766\nm\u0003m\u0003m\u0003m\u0005m\u076b\n',
- 'm\u0003m\u0003m\u0003m\u0003m\u0005m\u0771\nm\u0003n\u0003n\u0003n\u0003',
- 'n\u0003n\u0003n\u0003n\u0003n\u0003n\u0005n\u077c\nn\u0005n\u077e\n',
- 'n\u0003n\u0003n\u0005n\u0782\nn\u0003o\u0003o\u0003o\u0003o\u0005o\u0788',
- '\no\u0003o\u0003o\u0003o\u0003o\u0005o\u078e\no\u0003o\u0003o\u0003',
- 'o\u0005o\u0793\no\u0003o\u0003o\u0003o\u0003o\u0005o\u0799\no\u0003',
- 'o\u0003o\u0003o\u0005o\u079e\no\u0003o\u0003o\u0003o\u0003o\u0003o\u0005',
- 'o\u07a5\no\u0003o\u0003o\u0003o\u0005o\u07aa\no\u0003o\u0003o\u0003',
- 'o\u0003o\u0003o\u0003o\u0005o\u07b2\no\u0003o\u0003o\u0003o\u0005o\u07b7',
- '\no\u0003o\u0003o\u0003o\u0003o\u0003o\u0005o\u07be\no\u0003o\u0003',
- 'o\u0003o\u0003o\u0005o\u07c4\no\u0003o\u0003o\u0003o\u0003o\u0003o\u0003',
- 'o\u0005o\u07cc\no\u0003o\u0003o\u0003o\u0003o\u0003o\u0005o\u07d3\n',
- 'o\u0003o\u0003o\u0003o\u0005o\u07d8\no\u0003o\u0003o\u0003o\u0003o\u0003',
- 'o\u0003o\u0005o\u07e0\no\u0003o\u0003o\u0003o\u0003o\u0003o\u0005o\u07e7',
- '\no\u0003o\u0005o\u07ea\no\u0003o\u0005o\u07ed\no\u0005o\u07ef\no\u0003',
- 'o\u0003o\u0003o\u0003o\u0003o\u0003o\u0003o\u0003o\u0003o\u0003o\u0003',
- 'o\u0003o\u0005o\u07fd\no\u0005o\u07ff\no\u0003p\u0003p\u0003p\u0003',
- 'p\u0005p\u0805\np\u0003p\u0003p\u0003q\u0003q\u0003q\u0003q\u0003q\u0003',
- 'r\u0003r\u0003s\u0003s\u0003s\u0003s\u0005s\u0814\ns\u0003t\u0003t\u0003',
- 't\u0003t\u0003u\u0003u\u0003u\u0003u\u0003v\u0003v\u0003v\u0003v\u0003',
- 'w\u0003w\u0003w\u0005w\u0825\nw\u0003w\u0003w\u0003w\u0005w\u082a\n',
- 'w\u0003x\u0003x\u0005x\u082e\nx\u0003x\u0003x\u0005x\u0832\nx\u0003',
- 'x\u0003x\u0003x\u0003y\u0003y\u0005y\u0839\ny\u0003y\u0003y\u0003y\u0007',
- 'y\u083e\ny\fy\u000ey\u0841\u000by\u0003y\u0003y\u0003y\u0005y\u0846',
- '\ny\u0003z\u0003z\u0005z\u084a\nz\u0003z\u0005z\u084d\nz\u0003z\u0003',
- 'z\u0003z\u0007z\u0852\nz\fz\u000ez\u0855\u000bz\u0003z\u0003z\u0003',
- 'z\u0003{\u0003{\u0003{\u0003{\u0003{\u0003|\u0003|\u0003|\u0003}\u0003',
- '}\u0003}\u0003}\u0003~\u0003~\u0003~\u0003~\u0003~\u0005~\u086b\n~\u0003',
- '\u007f\u0003\u007f\u0003\u007f\u0005\u007f\u0870\n\u007f\u0003\u007f',
- '\u0003\u007f\u0005\u007f\u0874\n\u007f\u0003\u0080\u0003\u0080\u0003',
- '\u0080\u0003\u0080\u0003\u0081\u0003\u0081\u0005\u0081\u087c\n\u0081',
- '\u0003\u0082\u0003\u0082\u0003\u0082\u0003\u0083\u0003\u0083\u0003\u0083',
- '\u0005\u0083\u0884\n\u0083\u0003\u0083\u0003\u0083\u0005\u0083\u0888',
- '\n\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0005\u0083',
- '\u088e\n\u0083\u0003\u0084\u0003\u0084\u0003\u0084\u0005\u0084\u0893',
- '\n\u0084\u0003\u0084\u0003\u0084\u0003\u0084\u0003\u0084\u0003\u0084',
- '\u0005\u0084\u089a\n\u0084\u0003\u0084\u0005\u0084\u089d\n\u0084\u0003',
- '\u0084\u0003\u0084\u0003\u0084\u0003\u0084\u0005\u0084\u08a3\n\u0084',
- '\u0003\u0085\u0003\u0085\u0003\u0085\u0007\u0085\u08a8\n\u0085\f\u0085',
- '\u000e\u0085\u08ab\u000b\u0085\u0003\u0086\u0003\u0086\u0003\u0086\u0003',
- '\u0086\u0003\u0086\u0005\u0086\u08b2\n\u0086\u0003\u0087\u0003\u0087',
- '\u0003\u0088\u0003\u0088\u0003\u0088\u0007\u0088\u08b9\n\u0088\f\u0088',
- '\u000e\u0088\u08bc\u000b\u0088\u0003\u0089\u0003\u0089\u0003\u0089\u0003',
- '\u0089\u0003\u0089\u0003\u0089\u0005\u0089\u08c4\n\u0089\u0003\u008a',
- '\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008b\u0003\u008b\u0003\u008b',
- '\u0003\u008b\u0003\u008c\u0003\u008c\u0003\u008c\u0003\u008c\u0003\u008d',
- '\u0003\u008d\u0003\u008d\u0003\u008d\u0003\u008e\u0003\u008e\u0005\u008e',
- '\u08d8\n\u008e\u0003\u008e\u0003\u008e\u0003\u008e\u0003\u008e\u0005',
- '\u008e\u08de\n\u008e\u0003\u008e\u0005\u008e\u08e1\n\u008e\u0005\u008e',
- '\u08e3\n\u008e\u0003\u008f\u0003\u008f\u0003\u008f\u0007\u008f\u08e8',
- '\n\u008f\f\u008f\u000e\u008f\u08eb\u000b\u008f\u0003\u0090\u0003\u0090',
- '\u0003\u0090\u0003\u0091\u0003\u0091\u0003\u0092\u0003\u0092\u0005\u0092',
- '\u08f4\n\u0092\u0003\u0092\u0003\u0092\u0003\u0092\u0003\u0092\u0003',
- '\u0092\u0003\u0092\u0005\u0092\u08fc\n\u0092\u0003\u0093\u0003\u0093',
- '\u0005\u0093\u0900\n\u0093\u0003\u0093\u0003\u0093\u0005\u0093\u0904',
- '\n\u0093\u0003\u0093\u0003\u0093\u0003\u0094\u0003\u0094\u0003\u0094',
- '\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095',
- '\u0005\u0095\u0911\n\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003',
- '\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0005\u0096\u091a\n\u0096',
- '\u0003\u0096\u0003\u0096\u0003\u0097\u0003\u0097\u0005\u0097\u0920\n',
- '\u0097\u0003\u0097\u0003\u0097\u0005\u0097\u0924\n\u0097\u0003\u0097',
- '\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0005\u0097\u092b\n',
- '\u0097\u0003\u0097\u0005\u0097\u092e\n\u0097\u0003\u0097\u0005\u0097',
- '\u0931\n\u0097\u0003\u0097\u0005\u0097\u0934\n\u0097\u0003\u0097\u0003',
- '\u0097\u0003\u0097\u0003\u0098\u0003\u0098\u0005\u0098\u093b\n\u0098',
- '\u0003\u0098\u0003\u0098\u0003\u0098\u0005\u0098\u0940\n\u0098\u0003',
- '\u0098\u0003\u0098\u0003\u0098\u0003\u0098\u0005\u0098\u0946\n\u0098',
- '\u0003\u0098\u0003\u0098\u0005\u0098\u094a\n\u0098\u0003\u0098\u0007',
- '\u0098\u094d\n\u0098\f\u0098\u000e\u0098\u0950\u000b\u0098\u0003\u0098',
- '\u0003\u0098\u0003\u0098\u0003\u0099\u0003\u0099\u0003\u0099\u0003\u0099',
- '\u0003\u0099\u0003\u0099\u0003\u0099\u0003\u0099\u0003\u0099\u0003\u0099',
- '\u0003\u0099\u0005\u0099\u0960\n\u0099\u0003\u009a\u0003\u009a\u0005',
- '\u009a\u0964\n\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0003\u009a',
- '\u0003\u009a\u0005\u009a\u096b\n\u009a\u0003\u009a\u0003\u009a\u0003',
- '\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0005\u009a\u0973\n\u009a',
- '\u0005\u009a\u0975\n\u009a\u0003\u009b\u0003\u009b\u0005\u009b\u0979',
- '\n\u009b\u0003\u009c\u0005\u009c\u097c\n\u009c\u0003\u009c\u0003\u009c',
- '\u0003\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0003\u009c',
- '\u0007\u009c\u0986\n\u009c\f\u009c\u000e\u009c\u0989\u000b\u009c\u0003',
- '\u009c\u0003\u009c\u0005\u009c\u098d\n\u009c\u0003\u009d\u0003\u009d',
- '\u0003\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0005\u009d',
- '\u0996\n\u009d\u0003\u009e\u0003\u009e\u0005\u009e\u099a\n\u009e\u0003',
- '\u009e\u0003\u009e\u0003\u009f\u0003\u009f\u0003\u009f\u0005\u009f\u09a1',
- '\n\u009f\u0003\u009f\u0003\u009f\u0003\u009f\u0003\u009f\u0005\u009f',
- '\u09a7\n\u009f\u0003\u009f\u0003\u009f\u0003\u009f\u0005\u009f\u09ac',
- '\n\u009f\u0003\u009f\u0003\u009f\u0003\u009f\u0005\u009f\u09b1\n\u009f',
- '\u0003\u009f\u0005\u009f\u09b4\n\u009f\u0003\u00a0\u0003\u00a0\u0003',
- '\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a1\u0003\u00a1\u0003',
- '\u00a1\u0005\u00a1\u09bf\n\u00a1\u0003\u00a1\u0003\u00a1\u0003\u00a2',
- '\u0003\u00a2\u0003\u00a2\u0003\u00a2\u0005\u00a2\u09c7\n\u00a2\u0003',
- '\u00a2\u0003\u00a2\u0003\u00a3\u0003\u00a3\u0005\u00a3\u09cd\n\u00a3',
- '\u0003\u00a4\u0003\u00a4\u0005\u00a4\u09d1\n\u00a4\u0003\u00a5\u0003',
- '\u00a5\u0003\u00a5\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a7\u0003',
- '\u00a7\u0003\u00a8\u0003\u00a8\u0003\u00a8\u0003\u00a8\u0003\u00a8\u0003',
- '\u00a8\u0007\u00a8\u09e1\n\u00a8\f\u00a8\u000e\u00a8\u09e4\u000b\u00a8',
- '\u0003\u00a8\u0003\u00a8\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9',
- '\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9',
- '\u0003\u00a9\u0005\u00a9\u09f3\n\u00a9\u0003\u00a9\u0003\u00a9\u0003',
- '\u00a9\u0003\u00a9\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003',
- '\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0005',
- '\u00aa\u0a03\n\u00aa\u0003\u00ab\u0003\u00ab\u0005\u00ab\u0a07\n\u00ab',
- '\u0003\u00ac\u0003\u00ac\u0003\u00ac\u0003\u00ad\u0003\u00ad\u0003\u00ad',
- '\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae',
- '\u0003\u00ae\u0005\u00ae\u0a16\n\u00ae\u0003\u00af\u0003\u00af\u0003',
- '\u00af\u0003\u00af\u0005\u00af\u0a1c\n\u00af\u0003\u00af\u0005\u00af',
- '\u0a1f\n\u00af\u0003\u00af\u0005\u00af\u0a22\n\u00af\u0003\u00af\u0005',
- '\u00af\u0a25\n\u00af\u0003\u00af\u0005\u00af\u0a28\n\u00af\u0003\u00b0',
- '\u0003\u00b0\u0005\u00b0\u0a2c\n\u00b0\u0003\u00b1\u0003\u00b1\u0003',
- '\u00b1\u0003\u00b2\u0003\u00b2\u0003\u00b2\u0003\u00b3\u0003\u00b3\u0003',
- '\u00b3\u0003\u00b3\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0007\u00b4\u0a3b',
- '\n\u00b4\f\u00b4\u000e\u00b4\u0a3e\u000b\u00b4\u0003\u00b4\u0003\u00b4',
- '\u0003\u00b4\u0007\u00b4\u0a43\n\u00b4\f\u00b4\u000e\u00b4\u0a46\u000b',
- '\u00b4\u0005\u00b4\u0a48\n\u00b4\u0003\u00b5\u0003\u00b5\u0005\u00b5',
- '\u0a4c\n\u00b5\u0003\u00b5\u0003\u00b5\u0003\u00b6\u0003\u00b6\u0003',
- '\u00b6\u0005\u00b6\u0a53\n\u00b6\u0003\u00b7\u0003\u00b7\u0003\u00b7',
- '\u0007\u00b7\u0a58\n\u00b7\f\u00b7\u000e\u00b7\u0a5b\u000b\u00b7\u0003',
- '\u00b7\u0005\u00b7\u0a5e\n\u00b7\u0003\u00b8\u0003\u00b8\u0003\u00b8',
- '\u0003\u00b8\u0003\u00b8\u0005\u00b8\u0a65\n\u00b8\u0003\u00b9\u0003',
- '\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00ba\u0003\u00ba\u0003\u00ba\u0003',
- '\u00ba\u0003\u00ba\u0003\u00ba\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003',
- '\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003',
- '\u00bc\u0003\u00bc\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003',
- '\u00bd\u0003\u00be\u0003\u00be\u0003\u00be\u0005\u00be\u0a84\n\u00be',
- '\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf',
- '\u0005\u00bf\u0a8c\n\u00bf\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003',
- '\u00c0\u0003\u00c1\u0003\u00c1\u0003\u00c2\u0003\u00c2\u0003\u00c2\u0003',
- '\u00c2\u0003\u00c2\u0003\u00c2\u0003\u00c2\u0003\u00c2\u0005\u00c2\u0a9c',
- '\n\u00c2\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c4\u0003\u00c4',
- '\u0003\u00c4\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c6\u0003\u00c6',
- '\u0003\u00c6\u0007\u00c6\u0aaa\n\u00c6\f\u00c6\u000e\u00c6\u0aad\u000b',
- '\u00c6\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0007\u00c7\u0ab2\n\u00c7',
- '\f\u00c7\u000e\u00c7\u0ab5\u000b\u00c7\u0003\u00c8\u0003\u00c8\u0003',
- '\u00c8\u0007\u00c8\u0aba\n\u00c8\f\u00c8\u000e\u00c8\u0abd\u000b\u00c8',
- '\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0007\u00c9\u0ac2\n\u00c9\f\u00c9',
- '\u000e\u00c9\u0ac5\u000b\u00c9\u0003\u00ca\u0003\u00ca\u0003\u00cb\u0003',
- '\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0005\u00cb\u0acf',
- '\n\u00cb\u0007\u00cb\u0ad1\n\u00cb\f\u00cb\u000e\u00cb\u0ad4\u000b\u00cb',
- '\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0007\u00cc\u0ad9\n\u00cc\f\u00cc',
- '\u000e\u00cc\u0adc\u000b\u00cc\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003',
- '\u00cd\u0003\u00ce\u0003\u00ce\u0005\u00ce\u0ae4\n\u00ce\u0003\u00ce',
- '\u0005\u00ce\u0ae7\n\u00ce\u0003\u00cf\u0003\u00cf\u0003\u00d0\u0003',
- '\u00d0\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0005\u00d1\u0af0\n\u00d1',
- '\u0003\u00d2\u0003\u00d2\u0005\u00d2\u0af4\n\u00d2\u0005\u00d2\u0af6',
- '\n\u00d2\u0003\u00d3\u0003\u00d3\u0005\u00d3\u0afa\n\u00d3\u0003\u00d3',
- '\u0003\u00d3\u0005\u00d3\u0afe\n\u00d3\u0003\u00d4\u0003\u00d4\u0003',
- '\u00d4\u0003\u00d4\u0005\u00d4\u0b04\n\u00d4\u0003\u00d5\u0003\u00d5',
- '\u0003\u00d5\u0003\u00d5\u0005\u00d5\u0b0a\n\u00d5\u0003\u00d6\u0003',
- '\u00d6\u0003\u00d6\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d8\u0003',
- '\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003',
- '\u00d8\u0003\u00d8\u0003\u00d8\u0005\u00d8\u0b1c\n\u00d8\u0005\u00d8',
- '\u0b1e\n\u00d8\u0003\u00d9\u0003\u00d9\u0005\u00d9\u0b22\n\u00d9\u0003',
- '\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003',
- '\u00d9\u0005\u00d9\u0b2b\n\u00d9\u0003\u00da\u0003\u00da\u0003\u00da',
- '\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00da',
- '\u0005\u00da\u0b36\n\u00da\u0003\u00db\u0003\u00db\u0005\u00db\u0b3a',
- '\n\u00db\u0003\u00dc\u0003\u00dc\u0003\u00dc\u0007\u00dc\u0b3f\n\u00dc',
- '\f\u00dc\u000e\u00dc\u0b42\u000b\u00dc\u0003\u00dd\u0003\u00dd\u0003',
- '\u00dd\u0003\u00dd\u0003\u00de\u0003\u00de\u0003\u00de\u0007\u00de\u0b4b',
- '\n\u00de\f\u00de\u000e\u00de\u0b4e\u000b\u00de\u0003\u00df\u0003\u00df',
- '\u0003\u00e0\u0003\u00e0\u0005\u00e0\u0b54\n\u00e0\u0003\u00e1\u0003',
- '\u00e1\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0005\u00e2\u0b5c',
- '\n\u00e2\u0003\u00e3\u0003\u00e3\u0005\u00e3\u0b60\n\u00e3\u0003\u00e3',
- '\u0005\u00e3\u0b63\n\u00e3\u0003\u00e4\u0003\u00e4\u0003\u00e4\u0007',
- '\u00e4\u0b68\n\u00e4\f\u00e4\u000e\u00e4\u0b6b\u000b\u00e4\u0003\u00e5',
- '\u0003\u00e5\u0003\u00e5\u0005\u00e5\u0b70\n\u00e5\u0003\u00e6\u0003',
- '\u00e6\u0005\u00e6\u0b74\n\u00e6\u0003\u00e6\u0005\u00e6\u0b77\n\u00e6',
- '\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0005\u00e7\u0b7d\n',
- '\u00e7\u0003\u00e8\u0003\u00e8\u0005\u00e8\u0b81\n\u00e8\u0003\u00e9',
- '\u0003\u00e9\u0005\u00e9\u0b85\n\u00e9\u0003\u00ea\u0003\u00ea\u0003',
- '\u00ea\u0007\u00ea\u0b8a\n\u00ea\f\u00ea\u000e\u00ea\u0b8d\u000b\u00ea',
- '\u0003\u00eb\u0003\u00eb\u0003\u00eb\u0005\u00eb\u0b92\n\u00eb\u0003',
- '\u00ec\u0003\u00ec\u0003\u00ec\u0003\u00ec\u0003\u00ec\u0003\u00ec\u0003',
- '\u00ed\u0003\u00ed\u0003\u00ed\u0005\u00ed\u0b9d\n\u00ed\u0003\u00ed',
- '\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0005\u00ed',
- '\u0ba5\n\u00ed\u0003\u00ee\u0005\u00ee\u0ba8\n\u00ee\u0003\u00ee\u0005',
- '\u00ee\u0bab\n\u00ee\u0003\u00ef\u0003\u00ef\u0003\u00ef\u0003\u00ef',
- '\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f1\u0003\u00f1',
- '\u0005\u00f1\u0bb7\n\u00f1\u0003\u00f2\u0003\u00f2\u0005\u00f2\u0bbb',
- '\n\u00f2\u0003\u00f3\u0003\u00f3\u0005\u00f3\u0bbf\n\u00f3\u0003\u00f3',
- '\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0005\u00f3',
- '\u0bc7\n\u00f3\u0003\u00f4\u0003\u00f4\u0005\u00f4\u0bcb\n\u00f4\u0003',
- '\u00f4\u0003\u00f4\u0007\u00f4\u0bcf\n\u00f4\f\u00f4\u000e\u00f4\u0bd2',
- '\u000b\u00f4\u0003\u00f4\u0005\u00f4\u0bd5\n\u00f4\u0003\u00f5\u0003',
- '\u00f5\u0005\u00f5\u0bd9\n\u00f5\u0003\u00f6\u0003\u00f6\u0005\u00f6',
- '\u0bdd\n\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003',
- '\u00f6\u0003\u00f6\u0005\u00f6\u0be5\n\u00f6\u0003\u00f7\u0003\u00f7',
- '\u0005\u00f7\u0be9\n\u00f7\u0003\u00f7\u0003\u00f7\u0005\u00f7\u0bed',
- '\n\u00f7\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8',
- '\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8',
- '\u0005\u00f8\u0bfa\n\u00f8\u0003\u00f9\u0003\u00f9\u0003\u00f9\u0003',
- '\u00f9\u0005\u00f9\u0c00\n\u00f9\u0003\u00fa\u0003\u00fa\u0003\u00fa',
- '\u0005\u00fa\u0c05\n\u00fa\u0003\u00fb\u0005\u00fb\u0c08\n\u00fb\u0003',
- '\u00fb\u0003\u00fb\u0003\u00fc\u0005\u00fc\u0c0d\n\u00fc\u0003\u00fc',
- '\u0003\u00fc\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd',
- '\u0005\u00fd\u0c16\n\u00fd\u0003\u00fe\u0003\u00fe\u0003\u00ff\u0003',
- '\u00ff\u0003\u00ff\u0007\u00ff\u0c1d\n\u00ff\f\u00ff\u000e\u00ff\u0c20',
- '\u000b\u00ff\u0003\u0100\u0003\u0100\u0003\u0100\u0003\u0100\u0003\u0100',
- '\u0005\u0100\u0c27\n\u0100\u0003\u0101\u0003\u0101\u0003\u0101\u0003',
- '\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0005\u0101\u0c31',
- '\n\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101',
- '\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101',
- '\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101',
- '\u0005\u0101\u0c44\n\u0101\u0003\u0101\u0005\u0101\u0c47\n\u0101\u0003',
- '\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003',
- '\u0101\u0003\u0101\u0003\u0101\u0005\u0101\u0c52\n\u0101\u0003\u0102',
- '\u0003\u0102\u0003\u0102\u0003\u0102\u0003\u0102\u0003\u0103\u0003\u0103',
- '\u0003\u0103\u0003\u0103\u0003\u0103\u0003\u0104\u0003\u0104\u0003\u0104',
- '\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0105\u0003\u0105',
- '\u0003\u0105\u0003\u0105\u0003\u0105\u0003\u0106\u0003\u0106\u0003\u0106',
- '\u0003\u0106\u0005\u0106\u0c6e\n\u0106\u0003\u0106\u0003\u0106\u0003',
- '\u0106\u0003\u0106\u0005\u0106\u0c74\n\u0106\u0003\u0106\u0003\u0106',
- '\u0003\u0106\u0003\u0106\u0005\u0106\u0c7a\n\u0106\u0003\u0106\u0003',
- '\u0106\u0003\u0106\u0003\u0106\u0005\u0106\u0c80\n\u0106\u0005\u0106',
- '\u0c82\n\u0106\u0003\u0107\u0005\u0107\u0c85\n\u0107\u0003\u0107\u0003',
- '\u0107\u0003\u0108\u0003\u0108\u0005\u0108\u0c8b\n\u0108\u0003\u0109',
- '\u0003\u0109\u0003\u0109\u0003\u0109\u0007\u0109\u0c91\n\u0109\f\u0109',
- '\u000e\u0109\u0c94\u000b\u0109\u0003\u010a\u0003\u010a\u0003\u010a\u0003',
- '\u010a\u0003\u010a\u0003\u010a\u0003\u010b\u0003\u010b\u0003\u010b\u0003',
- '\u010b\u0007\u010b\u0ca0\n\u010b\f\u010b\u000e\u010b\u0ca3\u000b\u010b',
- '\u0003\u010c\u0003\u010c\u0006\u010c\u0ca7\n\u010c\r\u010c\u000e\u010c',
- '\u0ca8\u0003\u010d\u0003\u010d\u0003\u010d\u0005\u010d\u0cae\n\u010d',
- '\u0003\u010d\u0005\u010d\u0cb1\n\u010d\u0003\u010e\u0003\u010e\u0005',
- '\u010e\u0cb5\n\u010e\u0003\u010e\u0005\u010e\u0cb8\n\u010e\u0003\u010e',
- '\u0005\u010e\u0cbb\n\u010e\u0003\u010e\u0005\u010e\u0cbe\n\u010e\u0003',
- '\u010e\u0005\u010e\u0cc1\n\u010e\u0003\u010e\u0003\u010e\u0003\u010e',
- '\u0003\u010e\u0005\u010e\u0cc7\n\u010e\u0003\u010f\u0003\u010f\u0005',
- '\u010f\u0ccb\n\u010f\u0003\u010f\u0005\u010f\u0cce\n\u010f\u0003\u010f',
- '\u0005\u010f\u0cd1\n\u010f\u0003\u010f\u0005\u010f\u0cd4\n\u010f\u0003',
- '\u010f\u0005\u010f\u0cd7\n\u010f\u0003\u010f\u0005\u010f\u0cda\n\u010f',
- '\u0003\u0110\u0003\u0110\u0003\u0110\u0006\u0110\u0cdf\n\u0110\r\u0110',
- '\u000e\u0110\u0ce0\u0003\u0111\u0005\u0111\u0ce4\n\u0111\u0003\u0111',
- '\u0003\u0111\u0003\u0112\u0003\u0112\u0003\u0112\u0005\u0112\u0ceb\n',
- '\u0112\u0003\u0112\u0005\u0112\u0cee\n\u0112\u0003\u0112\u0005\u0112',
- '\u0cf1\n\u0112\u0003\u0112\u0005\u0112\u0cf4\n\u0112\u0003\u0112\u0005',
- '\u0112\u0cf7\n\u0112\u0003\u0112\u0005\u0112\u0cfa\n\u0112\u0003\u0112',
- '\u0005\u0112\u0cfd\n\u0112\u0003\u0112\u0005\u0112\u0d00\n\u0112\u0003',
- '\u0112\u0005\u0112\u0d03\n\u0112\u0003\u0112\u0005\u0112\u0d06\n\u0112',
- '\u0003\u0112\u0003\u0112\u0005\u0112\u0d0a\n\u0112\u0003\u0112\u0005',
- '\u0112\u0d0d\n\u0112\u0003\u0112\u0005\u0112\u0d10\n\u0112\u0003\u0112',
- '\u0005\u0112\u0d13\n\u0112\u0003\u0112\u0005\u0112\u0d16\n\u0112\u0003',
- '\u0112\u0005\u0112\u0d19\n\u0112\u0003\u0112\u0005\u0112\u0d1c\n\u0112',
- '\u0003\u0112\u0005\u0112\u0d1f\n\u0112\u0003\u0112\u0005\u0112\u0d22',
- '\n\u0112\u0003\u0112\u0005\u0112\u0d25\n\u0112\u0005\u0112\u0d27\n\u0112',
- '\u0003\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0005\u0113\u0d2d\n',
- '\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0005\u0113\u0d32\n\u0113',
- '\u0003\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0005\u0113',
- '\u0d39\n\u0113\u0005\u0113\u0d3b\n\u0113\u0003\u0114\u0005\u0114\u0d3e',
- '\n\u0114\u0003\u0114\u0003\u0114\u0003\u0114\u0005\u0114\u0d43\n\u0114',
- '\u0003\u0114\u0005\u0114\u0d46\n\u0114\u0003\u0114\u0003\u0114\u0005',
- '\u0114\u0d4a\n\u0114\u0003\u0115\u0003\u0115\u0003\u0115\u0005\u0115',
- '\u0d4f\n\u0115\u0003\u0115\u0003\u0115\u0003\u0115\u0003\u0115\u0003',
- '\u0115\u0005\u0115\u0d56\n\u0115\u0003\u0116\u0003\u0116\u0003\u0116',
- '\u0003\u0116\u0005\u0116\u0d5c\n\u0116\u0003\u0117\u0003\u0117\u0003',
- '\u0117\u0003\u0117\u0003\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0007',
- '\u0118\u0d66\n\u0118\f\u0118\u000e\u0118\u0d69\u000b\u0118\u0003\u0119',
- '\u0003\u0119\u0003\u0119\u0003\u0119\u0005\u0119\u0d6f\n\u0119\u0003',
- '\u011a\u0003\u011a\u0003\u011a\u0003\u011a\u0005\u011a\u0d75\n\u011a',
- '\u0003\u011b\u0003\u011b\u0003\u011b\u0003\u011b\u0003\u011b\u0007\u011b',
- '\u0d7c\n\u011b\f\u011b\u000e\u011b\u0d7f\u000b\u011b\u0005\u011b\u0d81',
- '\n\u011b\u0003\u011c\u0003\u011c\u0005\u011c\u0d85\n\u011c\u0003\u011d',
- '\u0003\u011d\u0003\u011d\u0003\u011d\u0005\u011d\u0d8b\n\u011d\u0003',
- '\u011e\u0003\u011e\u0003\u011e\u0003\u011e\u0003\u011f\u0003\u011f\u0003',
- '\u0120\u0003\u0120\u0005\u0120\u0d95\n\u0120\u0003\u0121\u0003\u0121',
- '\u0005\u0121\u0d99\n\u0121\u0003\u0122\u0003\u0122\u0003\u0122\u0003',
- '\u0122\u0003\u0123\u0003\u0123\u0003\u0123\u0006\u0123\u0da2\n\u0123',
- '\r\u0123\u000e\u0123\u0da3\u0003\u0124\u0003\u0124\u0003\u0124\u0003',
- '\u0124\u0005\u0124\u0daa\n\u0124\u0003\u0124\u0005\u0124\u0dad\n\u0124',
- '\u0003\u0124\u0003\u0124\u0003\u0124\u0003\u0124\u0003\u0124\u0003\u0124',
- '\u0003\u0125\u0003\u0125\u0007\u0125\u0db7\n\u0125\f\u0125\u000e\u0125',
- '\u0dba\u000b\u0125\u0003\u0125\u0005\u0125\u0dbd\n\u0125\u0003\u0126',
- '\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0005\u0126\u0dc4\n',
- '\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003',
- '\u0127\u0003\u0127\u0003\u0127\u0003\u0127\u0003\u0127\u0003\u0127\u0003',
- '\u0127\u0003\u0128\u0003\u0128\u0003\u0128\u0003\u0128\u0003\u0128\u0003',
- '\u0129\u0003\u0129\u0003\u0129\u0005\u0129\u0dda\n\u0129\u0003\u012a',
- '\u0003\u012a\u0003\u012a\u0006\u012a\u0ddf\n\u012a\r\u012a\u000e\u012a',
- '\u0de0\u0003\u012b\u0003\u012b\u0005\u012b\u0de5\n\u012b\u0003\u012b',
- '\u0005\u012b\u0de8\n\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0005',
- '\u012b\u0ded\n\u012b\u0003\u012b\u0005\u012b\u0df0\n\u012b\u0003\u012c',
- '\u0003\u012c\u0003\u012c\u0007\u012c\u0df5\n\u012c\f\u012c\u000e\u012c',
- '\u0df8\u000b\u012c\u0003\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0005',
- '\u012d\u0dfe\n\u012d\u0003\u012d\u0005\u012d\u0e01\n\u012d\u0003\u012d',
- '\u0003\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0005\u012d',
- '\u0e09\n\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0005',
- '\u012d\u0e0f\n\u012d\u0005\u012d\u0e11\n\u012d\u0005\u012d\u0e13\n\u012d',
- '\u0003\u012d\u0005\u012d\u0e16\n\u012d\u0003\u012d\u0005\u012d\u0e19',
- '\n\u012d\u0003\u012e\u0003\u012e\u0005\u012e\u0e1d\n\u012e\u0003\u012e',
- '\u0003\u012e\u0005\u012e\u0e21\n\u012e\u0003\u012e\u0003\u012e\u0003',
- '\u012e\u0003\u012e\u0003\u012e\u0003\u012e\u0007\u012e\u0e29\n\u012e',
- '\f\u012e\u000e\u012e\u0e2c\u000b\u012e\u0003\u012e\u0003\u012e\u0005',
- '\u012e\u0e30\n\u012e\u0005\u012e\u0e32\n\u012e\u0003\u012f\u0003\u012f',
- '\u0003\u012f\u0003\u012f\u0005\u012f\u0e38\n\u012f\u0003\u012f\u0005',
- '\u012f\u0e3b\n\u012f\u0003\u012f\u0005\u012f\u0e3e\n\u012f\u0003\u012f',
- '\u0003\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0005\u012f',
- '\u0e46\n\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0005',
- '\u012f\u0e4c\n\u012f\u0005\u012f\u0e4e\n\u012f\u0005\u012f\u0e50\n\u012f',
- '\u0003\u012f\u0005\u012f\u0e53\n\u012f\u0003\u012f\u0005\u012f\u0e56',
- '\n\u012f\u0003\u0130\u0003\u0130\u0005\u0130\u0e5a\n\u0130\u0003\u0130',
- '\u0005\u0130\u0e5d\n\u0130\u0003\u0131\u0003\u0131\u0003\u0131\u0007',
- '\u0131\u0e62\n\u0131\f\u0131\u000e\u0131\u0e65\u000b\u0131\u0003\u0132',
- '\u0003\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003\u0133\u0003\u0133',
- '\u0003\u0133\u0003\u0133\u0007\u0133\u0e70\n\u0133\f\u0133\u000e\u0133',
- '\u0e73\u000b\u0133\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003',
- '\u0135\u0003\u0135\u0003\u0135\u0005\u0135\u0e7c\n\u0135\u0003\u0135',
- '\u0005\u0135\u0e7f\n\u0135\u0003\u0135\u0005\u0135\u0e82\n\u0135\u0003',
- '\u0135\u0005\u0135\u0e85\n\u0135\u0003\u0136\u0003\u0136\u0005\u0136',
- '\u0e89\n\u0136\u0003\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003',
- '\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0005\u0137\u0e93\n\u0137',
- '\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0138',
- '\u0003\u0138\u0003\u0138\u0005\u0138\u0e9d\n\u0138\u0003\u0139\u0003',
- '\u0139\u0003\u0139\u0003\u0139\u0003\u0139\u0003\u0139\u0005\u0139\u0ea5',
- '\n\u0139\u0003\u013a\u0003\u013a\u0003\u013a\u0003\u013a\u0003\u013a',
- '\u0003\u013a\u0005\u013a\u0ead\n\u013a\u0003\u013b\u0003\u013b\u0003',
- '\u013b\u0003\u013b\u0003\u013b\u0005\u013b\u0eb4\n\u013b\u0003\u013c',
- '\u0003\u013c\u0003\u013d\u0003\u013d\u0003\u013d\u0007\u013d\u0ebb\n',
- '\u013d\f\u013d\u000e\u013d\u0ebe\u000b\u013d\u0003\u013e\u0003\u013e',
- '\u0003\u013e\u0007\u013e\u0ec3\n\u013e\f\u013e\u000e\u013e\u0ec6\u000b',
- '\u013e\u0003\u013f\u0003\u013f\u0003\u013f\u0003\u0140\u0003\u0140\u0003',
- '\u0140\u0003\u0140\u0006\u0140\u0ecf\n\u0140\r\u0140\u000e\u0140\u0ed0',
- '\u0003\u0140\u0003\u0140\u0003\u0140\u0005\u0140\u0ed6\n\u0140\u0003',
- '\u0141\u0003\u0141\u0007\u0141\u0eda\n\u0141\f\u0141\u000e\u0141\u0edd',
- '\u000b\u0141\u0003\u0141\u0003\u0141\u0007\u0141\u0ee1\n\u0141\f\u0141',
- '\u000e\u0141\u0ee4\u000b\u0141\u0003\u0141\u0003\u0141\u0007\u0141\u0ee8',
- '\n\u0141\f\u0141\u000e\u0141\u0eeb\u000b\u0141\u0003\u0141\u0003\u0141',
- '\u0007\u0141\u0eef\n\u0141\f\u0141\u000e\u0141\u0ef2\u000b\u0141\u0003',
- '\u0141\u0003\u0141\u0003\u0141\u0003\u0141\u0005\u0141\u0ef8\n\u0141',
- '\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0142',
- '\u0003\u0142\u0005\u0142\u0f01\n\u0142\u0007\u0142\u0f03\n\u0142\f\u0142',
- '\u000e\u0142\u0f06\u000b\u0142\u0003\u0143\u0003\u0143\u0005\u0143\u0f0a',
- '\n\u0143\u0003\u0143\u0003\u0143\u0005\u0143\u0f0e\n\u0143\u0003\u0143',
- '\u0005\u0143\u0f11\n\u0143\u0003\u0143\u0003\u0143\u0005\u0143\u0f15',
- '\n\u0143\u0003\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0005\u0144',
- '\u0f1b\n\u0144\u0003\u0144\u0007\u0144\u0f1e\n\u0144\f\u0144\u000e\u0144',
- '\u0f21\u000b\u0144\u0003\u0145\u0005\u0145\u0f24\n\u0145\u0003\u0145',
- '\u0003\u0145\u0003\u0145\u0003\u0146\u0003\u0146\u0003\u0146\u0003\u0146',
- '\u0003\u0147\u0003\u0147\u0003\u0148\u0003\u0148\u0003\u0148\u0003\u0148',
- '\u0003\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0005\u0148\u0f37\n',
- '\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0005\u0148\u0f3c\n\u0148',
- '\u0003\u0148\u0003\u0148\u0003\u0148\u0005\u0148\u0f41\n\u0148\u0003',
- '\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0005\u0148\u0f47\n\u0148',
- '\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149',
- '\u0003\u0149\u0003\u0149\u0003\u0149\u0007\u0149\u0f52\n\u0149\f\u0149',
- '\u000e\u0149\u0f55\u000b\u0149\u0005\u0149\u0f57\n\u0149\u0003\u0149',
- '\u0005\u0149\u0f5a\n\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003',
- '\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0007\u0149\u0f64',
- '\n\u0149\f\u0149\u000e\u0149\u0f67\u000b\u0149\u0005\u0149\u0f69\n\u0149',
- '\u0003\u0149\u0005\u0149\u0f6c\n\u0149\u0003\u0149\u0003\u0149\u0003',
- '\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0005\u0149\u0f74\n\u0149',
- '\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0007\u0149',
- '\u0f7b\n\u0149\f\u0149\u000e\u0149\u0f7e\u000b\u0149\u0003\u0149\u0003',
- '\u0149\u0005\u0149\u0f82\n\u0149\u0005\u0149\u0f84\n\u0149\u0003\u014a',
- '\u0003\u014a\u0003\u014b\u0003\u014b\u0003\u014b\u0003\u014b\u0003\u014b',
- '\u0003\u014b\u0003\u014b\u0003\u014b\u0003\u014b\u0003\u014b\u0003\u014b',
- '\u0007\u014b\u0f93\n\u014b\f\u014b\u000e\u014b\u0f96\u000b\u014b\u0005',
- '\u014b\u0f98\n\u014b\u0003\u014b\u0003\u014b\u0003\u014c\u0003\u014c',
- '\u0003\u014c\u0003\u014c\u0003\u014c\u0003\u014c\u0003\u014c\u0003\u014c',
- '\u0003\u014c\u0005\u014c\u0fa5\n\u014c\u0003\u014d\u0003\u014d\u0005',
- '\u014d\u0fa9\n\u014d\u0003\u014e\u0003\u014e\u0005\u014e\u0fad\n\u014e',
- '\u0003\u014e\u0005\u014e\u0fb0\n\u014e\u0003\u014e\u0005\u014e\u0fb3',
- '\n\u014e\u0003\u014e\u0005\u014e\u0fb6\n\u014e\u0003\u014f\u0003\u014f',
- '\u0005\u014f\u0fba\n\u014f\u0003\u014f\u0005\u014f\u0fbd\n\u014f\u0003',
- '\u014f\u0005\u014f\u0fc0\n\u014f\u0003\u0150\u0003\u0150\u0003\u0150',
- '\u0007\u0150\u0fc5\n\u0150\f\u0150\u000e\u0150\u0fc8\u000b\u0150\u0003',
- '\u0151\u0003\u0151\u0003\u0151\u0005\u0151\u0fcd\n\u0151\u0003\u0151',
- '\u0003\u0151\u0003\u0152\u0003\u0152\u0003\u0152\u0003\u0152\u0005\u0152',
- '\u0fd5\n\u0152\u0003\u0152\u0005\u0152\u0fd8\n\u0152\u0003\u0153\u0003',
- '\u0153\u0005\u0153\u0fdc\n\u0153\u0003\u0153\u0003\u0153\u0003\u0153',
- '\u0005\u0153\u0fe1\n\u0153\u0003\u0153\u0003\u0153\u0005\u0153\u0fe5',
- '\n\u0153\u0003\u0154\u0003\u0154\u0003\u0154\u0005\u0154\u0fea\n\u0154',
- '\u0003\u0155\u0003\u0155\u0003\u0155\u0003\u0155\u0003\u0155\u0005\u0155',
- '\u0ff1\n\u0155\u0003\u0155\u0003\u0155\u0003\u0155\u0003\u0155\u0003',
- '\u0155\u0003\u0155\u0003\u0155\u0003\u0155\u0003\u0155\u0003\u0155\u0007',
- '\u0155\u0ffd\n\u0155\f\u0155\u000e\u0155\u1000\u000b\u0155\u0005\u0155',
- '\u1002\n\u0155\u0003\u0155\u0003\u0155\u0005\u0155\u1006\n\u0155\u0003',
- '\u0156\u0003\u0156\u0003\u0156\u0003\u0157\u0003\u0157\u0003\u0158\u0003',
- '\u0158\u0003\u0158\u0003\u0159\u0003\u0159\u0003\u0159\u0007\u0159\u1013',
- '\n\u0159\f\u0159\u000e\u0159\u1016\u000b\u0159\u0003\u015a\u0003\u015a',
- '\u0003\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0005\u015b',
- '\u101f\n\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0003',
- '\u015b\u0007\u015b\u1026\n\u015b\f\u015b\u000e\u015b\u1029\u000b\u015b',
- '\u0005\u015b\u102b\n\u015b\u0003\u015b\u0003\u015b\u0003\u015c\u0003',
- '\u015c\u0003\u015c\u0003\u015c\u0003\u015c\u0007\u015c\u1034\n\u015c',
- '\f\u015c\u000e\u015c\u1037\u000b\u015c\u0003\u015c\u0003\u015c\u0003',
- '\u015d\u0003\u015d\u0003\u015d\u0005\u015d\u103e\n\u015d\u0003\u015d',
- '\u0003\u015d\u0003\u015e\u0003\u015e\u0003\u015e\u0007\u015e\u1045\n',
- '\u015e\f\u015e\u000e\u015e\u1048\u000b\u015e\u0003\u015f\u0003\u015f',
- '\u0003\u015f\u0005\u015f\u104d\n\u015f\u0003\u0160\u0003\u0160\u0003',
- '\u0160\u0003\u0160\u0003\u0160\u0005\u0160\u1054\n\u0160\u0003\u0161',
- '\u0003\u0161\u0003\u0161\u0003\u0161\u0003\u0162\u0003\u0162\u0003\u0162',
- '\u0005\u0162\u105d\n\u0162\u0003\u0163\u0003\u0163\u0003\u0163\u0003',
- '\u0164\u0003\u0164\u0003\u0164\u0003\u0164\u0003\u0164\u0007\u0164\u1067',
- '\n\u0164\f\u0164\u000e\u0164\u106a\u000b\u0164\u0003\u0164\u0003\u0164',
- '\u0003\u0165\u0003\u0165\u0003\u0165\u0003\u0165\u0003\u0165\u0005\u0165',
- '\u1073\n\u0165\u0003\u0165\u0003\u0165\u0003\u0165\u0003\u0165\u0003',
- '\u0165\u0003\u0165\u0007\u0165\u107b\n\u0165\f\u0165\u000e\u0165\u107e',
- '\u000b\u0165\u0003\u0165\u0003\u0165\u0005\u0165\u1082\n\u0165\u0003',
- '\u0166\u0003\u0166\u0005\u0166\u1086\n\u0166\u0003\u0167\u0003\u0167',
- '\u0005\u0167\u108a\n\u0167\u0003\u0167\u0003\u0167\u0007\u0167\u108e',
- '\n\u0167\f\u0167\u000e\u0167\u1091\u000b\u0167\u0003\u0167\u0003\u0167',
- '\u0003\u0168\u0003\u0168\u0003\u0169\u0003\u0169\u0003\u0169\u0003\u016a',
- '\u0003\u016a\u0003\u016b\u0003\u016b\u0003\u016b\u0003\u016b\u0003\u016c',
- '\u0003\u016c\u0005\u016c\u10a2\n\u016c\u0003\u016d\u0003\u016d\u0006',
- '\u016d\u10a6\n\u016d\r\u016d\u000e\u016d\u10a7\u0003\u016e\u0003\u016e',
- '\u0005\u016e\u10ac\n\u016e\u0003\u016f\u0003\u016f\u0003\u016f\u0003',
- '\u016f\u0007\u016f\u10b2\n\u016f\f\u016f\u000e\u016f\u10b5\u000b\u016f',
- '\u0003\u016f\u0003\u016f\u0003\u0170\u0003\u0170\u0003\u0170\u0007\u0170',
- '\u10bc\n\u0170\f\u0170\u000e\u0170\u10bf\u000b\u0170\u0003\u0171\u0003',
- '\u0171\u0003\u0171\u0003\u0171\u0003\u0171\u0007\u0171\u10c6\n\u0171',
- '\f\u0171\u000e\u0171\u10c9\u000b\u0171\u0003\u0172\u0003\u0172\u0003',
- '\u0172\u0003\u0172\u0003\u0172\u0003\u0172\u0003\u0172\u0003\u0172\u0005',
- '\u0172\u10d3\n\u0172\u0003\u0173\u0003\u0173\u0003\u0173\u0003\u0173',
- '\u0003\u0174\u0003\u0174\u0003\u0174\u0003\u0174\u0003\u0175\u0003\u0175',
- '\u0003\u0175\u0003\u0175\u0005\u0175\u10e1\n\u0175\u0003\u0176\u0003',
- '\u0176\u0003\u0176\u0003\u0176\u0005\u0176\u10e7\n\u0176\u0003\u0176',
- '\u0003\u0176\u0003\u0176\u0007\u0176\u10ec\n\u0176\f\u0176\u000e\u0176',
- '\u10ef\u000b\u0176\u0005\u0176\u10f1\n\u0176\u0005\u0176\u10f3\n\u0176',
- '\u0003\u0176\u0003\u0176\u0003\u0176\u0005\u0176\u10f8\n\u0176\u0003',
- '\u0177\u0003\u0177\u0005\u0177\u10fc\n\u0177\u0003\u0178\u0003\u0178',
- '\u0003\u0178\u0003\u0178\u0003\u0178\u0003\u0178\u0005\u0178\u1104\n',
- '\u0178\u0003\u0178\u0003\u0178\u0003\u0179\u0003\u0179\u0003\u0179\u0003',
- '\u0179\u0003\u0179\u0003\u0179\u0003\u0179\u0006\u0179\u110f\n\u0179',
- '\r\u0179\u000e\u0179\u1110\u0003\u0179\u0003\u0179\u0005\u0179\u1115',
- '\n\u0179\u0003\u0179\u0003\u0179\u0003\u017a\u0003\u017a\u0003\u017a',
- '\u0003\u017a\u0003\u017a\u0003\u017a\u0006\u017a\u111f\n\u017a\r\u017a',
- '\u000e\u017a\u1120\u0003\u017a\u0003\u017a\u0005\u017a\u1125\n\u017a',
- '\u0003\u017a\u0003\u017a\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b',
- '\u0003\u017b\u0005\u017b\u112e\n\u017b\u0003\u017b\u0003\u017b\u0003',
- '\u017c\u0003\u017c\u0003\u017d\u0003\u017d\u0003\u017d\u0003\u017d\u0003',
- '\u017d\u0003\u017d\u0003\u017d\u0003\u017e\u0003\u017e\u0003\u017f\u0003',
- '\u017f\u0003\u017f\u0003\u017f\u0003\u017f\u0003\u017f\u0003\u017f\u0003',
- '\u017f\u0003\u017f\u0003\u017f\u0003\u017f\u0003\u017f\u0005\u017f\u1149',
- '\n\u017f\u0003\u0180\u0003\u0180\u0006\u0180\u114d\n\u0180\r\u0180\u000e',
- '\u0180\u114e\u0003\u0181\u0003\u0181\u0003\u0181\u0003\u0182\u0003\u0182',
- '\u0003\u0182\u0005\u0182\u1157\n\u0182\u0003\u0183\u0003\u0183\u0003',
- '\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0005\u0183\u1160',
- '\n\u0183\u0003\u0184\u0003\u0184\u0003\u0184\u0003\u0185\u0003\u0185',
- '\u0003\u0186\u0003\u0186\u0003\u0186\u0003\u0187\u0003\u0187\u0003\u0187',
- '\u0003\u0187\u0003\u0187\u0003\u0187\u0003\u0187\u0003\u0187\u0003\u0187',
- '\u0003\u0187\u0003\u0187\u0003\u0187\u0003\u0187\u0003\u0187\u0003\u0187',
- '\u0005\u0187\u1179\n\u0187\u0003\u0188\u0003\u0188\u0003\u0188\u0003',
- '\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003',
- '\u0188\u0003\u0188\u0003\u0188\u0005\u0188\u1187\n\u0188\u0003\u0189',
- '\u0003\u0189\u0003\u0189\u0003\u0189\u0003\u0189\u0003\u0189\u0003\u0189',
- '\u0003\u0189\u0003\u0189\u0003\u0189\u0003\u0189\u0005\u0189\u1194\n',
- '\u0189\u0003\u018a\u0003\u018a\u0003\u018b\u0003\u018b\u0003\u018b\u0003',
- '\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0005',
- '\u018b\u11a1\n\u018b\u0003\u018c\u0003\u018c\u0003\u018d\u0003\u018d',
- '\u0003\u018e\u0003\u018e\u0003\u018f\u0003\u018f\u0003\u0190\u0003\u0190',
- '\u0003\u0191\u0003\u0191\u0003\u0192\u0003\u0192\u0003\u0193\u0003\u0193',
- '\u0003\u0193\u0003\u0193\u0003\u0193\u0005\u0193\u11b6\n\u0193\u0003',
- '\u0194\u0003\u0194\u0003\u0194\u0003\u0194\u0003\u0195\u0003\u0195\u0003',
- '\u0195\u0003\u0195\u0003\u0195\u0003\u0195\u0003\u0195\u0005\u0195\u11c3',
- '\n\u0195\u0003\u0196\u0003\u0196\u0003\u0197\u0003\u0197\u0003\u0198',
- '\u0003\u0198\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199',
- '\u0003\u0199\u0003\u0199\u0003\u0199\u0007\u0199\u11d3\n\u0199\f\u0199',
- '\u000e\u0199\u11d6\u000b\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003',
- '\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003',
- '\u0199\u0003\u0199\u0003\u0199\u0005\u0199\u11e4\n\u0199\u0003\u0199',
- '\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199',
- '\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199',
- '\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199',
- '\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199',
- '\u0003\u0199\u0003\u0199\u0005\u0199\u1201\n\u0199\u0003\u0199\u0003',
- '\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003',
- '\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003',
- '\u0199\u0003\u0199\u0007\u0199\u1212\n\u0199\f\u0199\u000e\u0199\u1215',
- '\u000b\u0199\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019b',
- '\u0003\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0005\u019b',
- '\u1221\n\u019b\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003',
- '\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003',
- '\u019c\u0003\u019c\u0003\u019c\u0005\u019c\u1230\n\u019c\u0003\u019d',
- '\u0003\u019d\u0005\u019d\u1234\n\u019d\u0003\u019e\u0003\u019e\u0003',
- '\u019e\u0003\u019e\u0005\u019e\u123a\n\u019e\u0003\u019f\u0003\u019f',
- '\u0003\u01a0\u0003\u01a0\u0003\u01a1\u0003\u01a1\u0005\u01a1\u1242\n',
- '\u01a1\u0003\u01a2\u0003\u01a2\u0003\u01a2\u0003\u01a2\u0003\u01a2\u0007',
- '\u01a2\u1249\n\u01a2\f\u01a2\u000e\u01a2\u124c\u000b\u01a2\u0003\u01a2',
- '\u0003\u01a2\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0005\u01a3\u1253\n',
- '\u01a3\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0007',
- '\u01a4\u125a\n\u01a4\f\u01a4\u000e\u01a4\u125d\u000b\u01a4\u0003\u01a4',
- '\u0003\u01a4\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a6',
- '\u0003\u01a6\u0003\u01a7\u0003\u01a7\u0003\u01a8\u0003\u01a8\u0003\u01a8',
- '\u0005\u01a8\u126c\n\u01a8\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003',
- '\u01a9\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0005\u01a9\u1276',
- '\n\u01a9\u0003\u01aa\u0003\u01aa\u0003\u01aa\u0003\u01aa\u0003\u01aa',
- '\u0003\u01aa\u0003\u01aa\u0003\u01aa\u0003\u01aa\u0007\u01aa\u1281\n',
- '\u01aa\f\u01aa\u000e\u01aa\u1284\u000b\u01aa\u0003\u01aa\u0005\u01aa',
- '\u1287\n\u01aa\u0003\u01ab\u0003\u01ab\u0005\u01ab\u128b\n\u01ab\u0003',
- '\u01ac\u0003\u01ac\u0003\u01ad\u0003\u01ad\u0003\u01ae\u0003\u01ae\u0005',
- '\u01ae\u1293\n\u01ae\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af',
- '\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af',
- '\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0005\u01af\u12a3\n',
- '\u01af\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003',
- '\u01b0\u0003\u01b0\u0005\u01b0\u12ac\n\u01b0\u0003\u01b1\u0003\u01b1',
- '\u0003\u01b1\u0007\u01b1\u12b1\n\u01b1\f\u01b1\u000e\u01b1\u12b4\u000b',
- '\u01b1\u0003\u01b2\u0003\u01b2\u0003\u01b2\u0005\u01b2\u12b9\n\u01b2',
- '\u0003\u01b3\u0003\u01b3\u0003\u01b3\u0007\u01b3\u12be\n\u01b3\f\u01b3',
- '\u000e\u01b3\u12c1\u000b\u01b3\u0003\u01b4\u0003\u01b4\u0003\u01b4\u0003',
- '\u01b4\u0003\u01b4\u0005\u01b4\u12c8\n\u01b4\u0003\u01b5\u0003\u01b5',
- '\u0003\u01b5\u0003\u01b5\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0005\u01b6',
- '\u12d1\n\u01b6\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b8\u0003',
- '\u01b8\u0005\u01b8\u12d8\n\u01b8\u0003\u01b9\u0003\u01b9\u0003\u01ba',
- '\u0003\u01ba\u0003\u01bb\u0003\u01bb\u0003\u01bc\u0003\u01bc\u0003\u01bc',
- '\u0003\u01bc\u0003\u01bc\u0003\u01bc\u0003\u01bc\u0003\u01bc\u0003\u01bc',
- '\u0003\u01bc\u0003\u01bc\u0003\u01bc\u0003\u01bc\u0005\u01bc\u12ed\n',
- '\u01bc\u0003\u01bc\u0003\u01bc\u0005\u01bc\u12f1\n\u01bc\u0005\u01bc',
- '\u12f3\n\u01bc\u0005\u01bc\u12f5\n\u01bc\u0003\u01bd\u0003\u01bd\u0003',
- '\u01bd\u0003\u01bd\u0003\u01be\u0003\u01be\u0005\u01be\u12fd\n\u01be',
- '\u0003\u01be\u0003\u01be\u0003\u01be\u0003\u01bf\u0003\u01bf\u0003\u01bf',
- '\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf',
- '\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0005\u01bf\u130e\n\u01bf\u0003',
- '\u01c0\u0003\u01c0\u0003\u01c0\u0003\u01c0\u0003\u01c0\u0003\u01c1\u0003',
- '\u01c1\u0003\u01c1\u0007\u01c1\u1318\n\u01c1\f\u01c1\u000e\u01c1\u131b',
- '\u000b\u01c1\u0003\u01c2\u0003\u01c2\u0003\u01c3\u0003\u01c3\u0003\u01c3',
- '\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0007\u01c4\u1325\n\u01c4\f\u01c4',
- '\u000e\u01c4\u1328\u000b\u01c4\u0003\u01c5\u0003\u01c5\u0003\u01c5\u0007',
- '\u01c5\u132d\n\u01c5\f\u01c5\u000e\u01c5\u1330\u000b\u01c5\u0003\u01c6',
- '\u0003\u01c6\u0003\u01c6\u0003\u01c6\u0003\u01c7\u0003\u01c7\u0003\u01c8',
- '\u0003\u01c8\u0003\u01c9\u0003\u01c9\u0003\u01c9\u0003\u01c9\u0005\u01c9',
- '\u133e\n\u01c9\u0003\u01ca\u0003\u01ca\u0003\u01ca\u0003\u01cb\u0003',
- '\u01cb\u0003\u01cb\u0003\u01cb\u0003\u01cb\u0003\u01cb\u0003\u01cb\u0003',
- '\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003',
- '\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003',
- '\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003',
- '\u01cc\u0003\u01cc\u0005\u01cc\u135e\n\u01cc\u0003\u01cd\u0003\u01cd',
- '\u0003\u01cd\u0003\u01cd\u0003\u01cd\u0003\u01ce\u0003\u01ce\u0003\u01ce',
- '\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0003\u01cf\u0003\u01cf\u0003\u01cf',
- '\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0003\u01cf',
- '\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0005\u01cf\u1377\n\u01cf\u0003',
- '\u01d0\u0003\u01d0\u0003\u01d0\u0007\u01d0\u137c\n\u01d0\f\u01d0\u000e',
- '\u01d0\u137f\u000b\u01d0\u0003\u01d1\u0003\u01d1\u0003\u01d1\u0003\u01d1',
- '\u0003\u01d1\u0003\u01d1\u0003\u01d1\u0003\u01d1\u0003\u01d2\u0003\u01d2',
- '\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2',
- '\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2',
- '\u0003\u01d2\u0005\u01d2\u1398\n\u01d2\u0003\u01d3\u0003\u01d3\u0003',
- '\u01d3\u0003\u01d3\u0003\u01d3\u0003\u01d3\u0003\u01d4\u0003\u01d4\u0003',
- '\u01d4\u0003\u01d4\u0003\u01d4\u0003\u01d4\u0003\u01d4\u0003\u01d4\u0003',
- '\u01d4\u0005\u01d4\u13a9\n\u01d4\u0003\u01d4\u0003\u01d4\u0003\u01d4',
- '\u0005\u01d4\u13ae\n\u01d4\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003',
- '\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0005',
- '\u01d5\u13b9\n\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0005\u01d5',
- '\u13be\n\u01d5\u0003\u01d6\u0003\u01d6\u0003\u01d6\u0003\u01d6\u0003',
- '\u01d6\u0003\u01d6\u0003\u01d6\u0003\u01d6\u0002\u0003\u0330\u01d7\u0002',
- '\u0004\u0006\b\n\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e',
- ' "$&(*,.02468:<>@BDFHJLNPRTVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084',
- '\u0086\u0088\u008a\u008c\u008e\u0090\u0092\u0094\u0096\u0098\u009a\u009c',
- '\u009e\u00a0\u00a2\u00a4\u00a6\u00a8\u00aa\u00ac\u00ae\u00b0\u00b2\u00b4',
- '\u00b6\u00b8\u00ba\u00bc\u00be\u00c0\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc',
- '\u00ce\u00d0\u00d2\u00d4\u00d6\u00d8\u00da\u00dc\u00de\u00e0\u00e2\u00e4',
- '\u00e6\u00e8\u00ea\u00ec\u00ee\u00f0\u00f2\u00f4\u00f6\u00f8\u00fa\u00fc',
- '\u00fe\u0100\u0102\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114',
- '\u0116\u0118\u011a\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c',
- '\u012e\u0130\u0132\u0134\u0136\u0138\u013a\u013c\u013e\u0140\u0142\u0144',
- '\u0146\u0148\u014a\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c',
- '\u015e\u0160\u0162\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174',
- '\u0176\u0178\u017a\u017c\u017e\u0180\u0182\u0184\u0186\u0188\u018a\u018c',
- '\u018e\u0190\u0192\u0194\u0196\u0198\u019a\u019c\u019e\u01a0\u01a2\u01a4',
- '\u01a6\u01a8\u01aa\u01ac\u01ae\u01b0\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc',
- '\u01be\u01c0\u01c2\u01c4\u01c6\u01c8\u01ca\u01cc\u01ce\u01d0\u01d2\u01d4',
- '\u01d6\u01d8\u01da\u01dc\u01de\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec',
- '\u01ee\u01f0\u01f2\u01f4\u01f6\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204',
- '\u0206\u0208\u020a\u020c\u020e\u0210\u0212\u0214\u0216\u0218\u021a\u021c',
- '\u021e\u0220\u0222\u0224\u0226\u0228\u022a\u022c\u022e\u0230\u0232\u0234',
- '\u0236\u0238\u023a\u023c\u023e\u0240\u0242\u0244\u0246\u0248\u024a\u024c',
- '\u024e\u0250\u0252\u0254\u0256\u0258\u025a\u025c\u025e\u0260\u0262\u0264',
- '\u0266\u0268\u026a\u026c\u026e\u0270\u0272\u0274\u0276\u0278\u027a\u027c',
- '\u027e\u0280\u0282\u0284\u0286\u0288\u028a\u028c\u028e\u0290\u0292\u0294',
- '\u0296\u0298\u029a\u029c\u029e\u02a0\u02a2\u02a4\u02a6\u02a8\u02aa\u02ac',
- '\u02ae\u02b0\u02b2\u02b4\u02b6\u02b8\u02ba\u02bc\u02be\u02c0\u02c2\u02c4',
- '\u02c6\u02c8\u02ca\u02cc\u02ce\u02d0\u02d2\u02d4\u02d6\u02d8\u02da\u02dc',
- '\u02de\u02e0\u02e2\u02e4\u02e6\u02e8\u02ea\u02ec\u02ee\u02f0\u02f2\u02f4',
- '\u02f6\u02f8\u02fa\u02fc\u02fe\u0300\u0302\u0304\u0306\u0308\u030a\u030c',
- '\u030e\u0310\u0312\u0314\u0316\u0318\u031a\u031c\u031e\u0320\u0322\u0324',
- '\u0326\u0328\u032a\u032c\u032e\u0330\u0332\u0334\u0336\u0338\u033a\u033c',
- '\u033e\u0340\u0342\u0344\u0346\u0348\u034a\u034c\u034e\u0350\u0352\u0354',
- '\u0356\u0358\u035a\u035c\u035e\u0360\u0362\u0364\u0366\u0368\u036a\u036c',
- '\u036e\u0370\u0372\u0374\u0376\u0378\u037a\u037c\u037e\u0380\u0382\u0384',
- '\u0386\u0388\u038a\u038c\u038e\u0390\u0392\u0394\u0396\u0398\u039a\u039c',
- '\u039e\u03a0\u03a2\u03a4\u03a6\u03a8\u03aa\u0002(\u0003\u0002\u013c',
- '\u013f\u0003\u0002\u00ea\u00eb\u0004\u0002\u00bc\u00bc\u00bf\u00bf\u0006',
- '\u0002((\u00b9\u00b9\u00bf\u00bf\u00e7\u00e7\u0003\u0002\u008d\u008e',
- '\u0004\u0002\u0010\u0010LL\u0003\u0002\u0097\u0098\u0004\u0002\u00bd',
- '\u00bd\u00c0\u00c0\u0004\u0002\u0018\u0018\u00bb\u00bb\u0003\u0002\u00c8',
- '\u00c9\u000b\u0002\u0005\u0005\u001a\u001a\u001c\u001cEEGGMM\u00b4\u00b4',
- '\u00c5\u00c5\u00e8\u00e9\u0005\u0002MM\u008d\u008d\u0155\u0155\u0004',
- '\u0002\u0094\u0095\u00df\u00df\u0004\u0002\u0116\u0117\u0119\u0119\u0003',
- '\u0002\u0119\u011b\u0003\u0002\u011a\u011b\u0003\u0002\u0159\u015e\u0005',
- '\u0002\u0156\u015a\u015c\u015c\u015f\u015f\u0003\u0002\u0084\u0085\u0003',
- '\u0002\u012d\u012e\u0003\u0002\u000f\u0010\u0004\u0002\u0005\u0005\u001b',
- '\u001b\u0003\u0002\u00f3\u00f4\u0004\u0002rr\u008b\u008b\u0003\u0002',
- '\u00ed\u00ee\u0005\u0002\u0112\u0112\u0114\u0117\u0119\u011b\u0004\u0002',
- '\u0112\u0112\u0114\u011b\u0004\u0002\u0190\u0190\u0195\u0195\u0004\u0002',
- '\u0184\u0185\u018a\u018a\u0004\u0002\u0183\u0183\u0186\u0188\u0003\u0002',
- '\u0184\u0185\u0004\u0002\u000b\u000b\u008f\u0090\u0003\u0002\u0003\u0004',
- '\u0004\u0002\u017b\u017b\u017d\u0181\u0011\u0002\b\u000b\r\rQWbbegj',
- 'j\u008f\u0090\u00a9\u00aa\u00bb\u00bb\u00d3\u00d3\u00d5\u00d5\u0135',
- '\u0135\u017b\u0181\u0183\u018b\u018d\u018d<\u0002\u000f\u0012\u001d',
- "\u001d\')+379<=?BHHJKNNPPRRZZ__bbffjjlnpps\u0086\u0088\u0088\u008d\u008e",
- '\u0091\u0091\u0094\u0096\u0098\u009b\u009d\u00a1\u00a3\u00a8\u00ae\u00b3',
- '\u00b5\u00b5\u00b9\u00ba\u00bd\u00c0\u00c3\u00c9\u00cb\u00cd\u00cf\u00cf',
- '\u00d1\u00d2\u00d7\u00d7\u00da\u00dc\u00de\u00e3\u00e5\u00e8\u00ea\u00ec',
- '\u00ef\u00ef\u00fc\u00fc\u00fe\u00fe\u0100\u0101\u0104\u010c\u010e\u010e',
- '\u0111\u011b\u011d\u011d\u0120\u0120\u0122\u0127\u012c\u0130\u0132\u0133',
- '\u0137\u0151\u0153\u0153\u015b\u015b\u015d\u015e\u0160\u0160\u016b\u016b',
- '\f\u0002\r\rQQSWYY[[eegg\u00d5\u00d5\u00f6\u00f7\u00fb\u00fb\u0005\u0002',
- '\u0014\u0014\u00ff\u00ff\u0154\u0154\u0002\u155b\u0002\u03b3\u0003\u0002',
- '\u0002\u0002\u0004\u03b8\u0003\u0002\u0002\u0002\u0006\u03ba\u0003\u0002',
- '\u0002\u0002\b\u03be\u0003\u0002\u0002\u0002\n\u03c0\u0003\u0002\u0002',
- '\u0002\f\u03da\u0003\u0002\u0002\u0002\u000e\u03dc\u0003\u0002\u0002',
- '\u0002\u0010\u03de\u0003\u0002\u0002\u0002\u0012\u03ec\u0003\u0002\u0002',
- '\u0002\u0014\u03ee\u0003\u0002\u0002\u0002\u0016\u03fe\u0003\u0002\u0002',
- '\u0002\u0018\u0407\u0003\u0002\u0002\u0002\u001a\u040f\u0003\u0002\u0002',
- '\u0002\u001c\u041c\u0003\u0002\u0002\u0002\u001e\u0433\u0003\u0002\u0002',
- '\u0002 \u0442\u0003\u0002\u0002\u0002"\u0446\u0003\u0002\u0002\u0002',
- '$\u044e\u0003\u0002\u0002\u0002&\u0486\u0003\u0002\u0002\u0002(\u0488',
- '\u0003\u0002\u0002\u0002*\u048b\u0003\u0002\u0002\u0002,\u048d\u0003',
- '\u0002\u0002\u0002.\u0491\u0003\u0002\u0002\u00020\u0494\u0003\u0002',
- '\u0002\u00022\u0497\u0003\u0002\u0002\u00024\u049b\u0003\u0002\u0002',
- '\u00026\u049e\u0003\u0002\u0002\u00028\u04a1\u0003\u0002\u0002\u0002',
- ':\u04b7\u0003\u0002\u0002\u0002<\u04b9\u0003\u0002\u0002\u0002>\u04bd',
- '\u0003\u0002\u0002\u0002@\u04c5\u0003\u0002\u0002\u0002B\u04c9\u0003',
- '\u0002\u0002\u0002D\u04cc\u0003\u0002\u0002\u0002F\u04d5\u0003\u0002',
- '\u0002\u0002H\u04d8\u0003\u0002\u0002\u0002J\u051d\u0003\u0002\u0002',
- '\u0002L\u0527\u0003\u0002\u0002\u0002N\u0533\u0003\u0002\u0002\u0002',
- 'P\u0536\u0003\u0002\u0002\u0002R\u053a\u0003\u0002\u0002\u0002T\u056b',
- '\u0003\u0002\u0002\u0002V\u057e\u0003\u0002\u0002\u0002X\u058f\u0003',
- '\u0002\u0002\u0002Z\u0591\u0003\u0002\u0002\u0002\\\u059c\u0003\u0002',
- '\u0002\u0002^\u05a0\u0003\u0002\u0002\u0002`\u05a5\u0003\u0002\u0002',
- '\u0002b\u05a7\u0003\u0002\u0002\u0002d\u05ac\u0003\u0002\u0002\u0002',
- 'f\u05b1\u0003\u0002\u0002\u0002h\u05b6\u0003\u0002\u0002\u0002j\u05ba',
- '\u0003\u0002\u0002\u0002l\u05c2\u0003\u0002\u0002\u0002n\u05c7\u0003',
- '\u0002\u0002\u0002p\u05cc\u0003\u0002\u0002\u0002r\u05d0\u0003\u0002',
- '\u0002\u0002t\u05e4\u0003\u0002\u0002\u0002v\u05f1\u0003\u0002\u0002',
- '\u0002x\u05f9\u0003\u0002\u0002\u0002z\u05fb\u0003\u0002\u0002\u0002',
- '|\u0604\u0003\u0002\u0002\u0002~\u0608\u0003\u0002\u0002\u0002\u0080',
- '\u060f\u0003\u0002\u0002\u0002\u0082\u0616\u0003\u0002\u0002\u0002\u0084',
- '\u061d\u0003\u0002\u0002\u0002\u0086\u0620\u0003\u0002\u0002\u0002\u0088',
- '\u063b\u0003\u0002\u0002\u0002\u008a\u0646\u0003\u0002\u0002\u0002\u008c',
- '\u064a\u0003\u0002\u0002\u0002\u008e\u064c\u0003\u0002\u0002\u0002\u0090',
- '\u0659\u0003\u0002\u0002\u0002\u0092\u065b\u0003\u0002\u0002\u0002\u0094',
- '\u0663\u0003\u0002\u0002\u0002\u0096\u066c\u0003\u0002\u0002\u0002\u0098',
- '\u0672\u0003\u0002\u0002\u0002\u009a\u0674\u0003\u0002\u0002\u0002\u009c',
- '\u0679\u0003\u0002\u0002\u0002\u009e\u067d\u0003\u0002\u0002\u0002\u00a0',
- '\u0685\u0003\u0002\u0002\u0002\u00a2\u0689\u0003\u0002\u0002\u0002\u00a4',
- '\u0692\u0003\u0002\u0002\u0002\u00a6\u0694\u0003\u0002\u0002\u0002\u00a8',
- '\u069a\u0003\u0002\u0002\u0002\u00aa\u069e\u0003\u0002\u0002\u0002\u00ac',
- '\u06ab\u0003\u0002\u0002\u0002\u00ae\u06ad\u0003\u0002\u0002\u0002\u00b0',
- '\u06b1\u0003\u0002\u0002\u0002\u00b2\u06d5\u0003\u0002\u0002\u0002\u00b4',
- '\u06df\u0003\u0002\u0002\u0002\u00b6\u06e5\u0003\u0002\u0002\u0002\u00b8',
- '\u06ee\u0003\u0002\u0002\u0002\u00ba\u06f7\u0003\u0002\u0002\u0002\u00bc',
- '\u06fb\u0003\u0002\u0002\u0002\u00be\u0703\u0003\u0002\u0002\u0002\u00c0',
- '\u0707\u0003\u0002\u0002\u0002\u00c2\u070a\u0003\u0002\u0002\u0002\u00c4',
- '\u0710\u0003\u0002\u0002\u0002\u00c6\u0719\u0003\u0002\u0002\u0002\u00c8',
- '\u071d\u0003\u0002\u0002\u0002\u00ca\u0720\u0003\u0002\u0002\u0002\u00cc',
- '\u072b\u0003\u0002\u0002\u0002\u00ce\u073c\u0003\u0002\u0002\u0002\u00d0',
- '\u073e\u0003\u0002\u0002\u0002\u00d2\u0743\u0003\u0002\u0002\u0002\u00d4',
- '\u0757\u0003\u0002\u0002\u0002\u00d6\u075b\u0003\u0002\u0002\u0002\u00d8',
- '\u0762\u0003\u0002\u0002\u0002\u00da\u0772\u0003\u0002\u0002\u0002\u00dc',
- '\u07fe\u0003\u0002\u0002\u0002\u00de\u0800\u0003\u0002\u0002\u0002\u00e0',
- '\u0808\u0003\u0002\u0002\u0002\u00e2\u080d\u0003\u0002\u0002\u0002\u00e4',
- '\u080f\u0003\u0002\u0002\u0002\u00e6\u0815\u0003\u0002\u0002\u0002\u00e8',
- '\u0819\u0003\u0002\u0002\u0002\u00ea\u081d\u0003\u0002\u0002\u0002\u00ec',
- '\u0821\u0003\u0002\u0002\u0002\u00ee\u082b\u0003\u0002\u0002\u0002\u00f0',
- '\u0836\u0003\u0002\u0002\u0002\u00f2\u0847\u0003\u0002\u0002\u0002\u00f4',
- '\u0859\u0003\u0002\u0002\u0002\u00f6\u085e\u0003\u0002\u0002\u0002\u00f8',
- '\u0861\u0003\u0002\u0002\u0002\u00fa\u0865\u0003\u0002\u0002\u0002\u00fc',
- '\u086c\u0003\u0002\u0002\u0002\u00fe\u0875\u0003\u0002\u0002\u0002\u0100',
- '\u087b\u0003\u0002\u0002\u0002\u0102\u087d\u0003\u0002\u0002\u0002\u0104',
- '\u088d\u0003\u0002\u0002\u0002\u0106\u08a2\u0003\u0002\u0002\u0002\u0108',
- '\u08a4\u0003\u0002\u0002\u0002\u010a\u08ac\u0003\u0002\u0002\u0002\u010c',
- '\u08b3\u0003\u0002\u0002\u0002\u010e\u08b5\u0003\u0002\u0002\u0002\u0110',
- '\u08c3\u0003\u0002\u0002\u0002\u0112\u08c5\u0003\u0002\u0002\u0002\u0114',
- '\u08c9\u0003\u0002\u0002\u0002\u0116\u08cd\u0003\u0002\u0002\u0002\u0118',
- '\u08d1\u0003\u0002\u0002\u0002\u011a\u08d5\u0003\u0002\u0002\u0002\u011c',
- '\u08e4\u0003\u0002\u0002\u0002\u011e\u08ec\u0003\u0002\u0002\u0002\u0120',
- '\u08ef\u0003\u0002\u0002\u0002\u0122\u08f1\u0003\u0002\u0002\u0002\u0124',
- '\u08fd\u0003\u0002\u0002\u0002\u0126\u0907\u0003\u0002\u0002\u0002\u0128',
- '\u090a\u0003\u0002\u0002\u0002\u012a\u0915\u0003\u0002\u0002\u0002\u012c',
- '\u091d\u0003\u0002\u0002\u0002\u012e\u0938\u0003\u0002\u0002\u0002\u0130',
- '\u095f\u0003\u0002\u0002\u0002\u0132\u0974\u0003\u0002\u0002\u0002\u0134',
- '\u0978\u0003\u0002\u0002\u0002\u0136\u097b\u0003\u0002\u0002\u0002\u0138',
- '\u098e\u0003\u0002\u0002\u0002\u013a\u0997\u0003\u0002\u0002\u0002\u013c',
- '\u09b3\u0003\u0002\u0002\u0002\u013e\u09b5\u0003\u0002\u0002\u0002\u0140',
- '\u09bb\u0003\u0002\u0002\u0002\u0142\u09c2\u0003\u0002\u0002\u0002\u0144',
- '\u09cc\u0003\u0002\u0002\u0002\u0146\u09d0\u0003\u0002\u0002\u0002\u0148',
- '\u09d2\u0003\u0002\u0002\u0002\u014a\u09d5\u0003\u0002\u0002\u0002\u014c',
- '\u09d8\u0003\u0002\u0002\u0002\u014e\u09da\u0003\u0002\u0002\u0002\u0150',
- '\u09e7\u0003\u0002\u0002\u0002\u0152\u09f8\u0003\u0002\u0002\u0002\u0154',
- '\u0a06\u0003\u0002\u0002\u0002\u0156\u0a08\u0003\u0002\u0002\u0002\u0158',
- '\u0a0b\u0003\u0002\u0002\u0002\u015a\u0a0e\u0003\u0002\u0002\u0002\u015c',
- '\u0a17\u0003\u0002\u0002\u0002\u015e\u0a2b\u0003\u0002\u0002\u0002\u0160',
- '\u0a2d\u0003\u0002\u0002\u0002\u0162\u0a30\u0003\u0002\u0002\u0002\u0164',
- '\u0a33\u0003\u0002\u0002\u0002\u0166\u0a47\u0003\u0002\u0002\u0002\u0168',
- '\u0a49\u0003\u0002\u0002\u0002\u016a\u0a52\u0003\u0002\u0002\u0002\u016c',
- '\u0a5d\u0003\u0002\u0002\u0002\u016e\u0a5f\u0003\u0002\u0002\u0002\u0170',
- '\u0a66\u0003\u0002\u0002\u0002\u0172\u0a6a\u0003\u0002\u0002\u0002\u0174',
- '\u0a70\u0003\u0002\u0002\u0002\u0176\u0a76\u0003\u0002\u0002\u0002\u0178',
- '\u0a7b\u0003\u0002\u0002\u0002\u017a\u0a83\u0003\u0002\u0002\u0002\u017c',
- '\u0a85\u0003\u0002\u0002\u0002\u017e\u0a8d\u0003\u0002\u0002\u0002\u0180',
- '\u0a91\u0003\u0002\u0002\u0002\u0182\u0a93\u0003\u0002\u0002\u0002\u0184',
- '\u0a9d\u0003\u0002\u0002\u0002\u0186\u0aa0\u0003\u0002\u0002\u0002\u0188',
- '\u0aa3\u0003\u0002\u0002\u0002\u018a\u0aa6\u0003\u0002\u0002\u0002\u018c',
- '\u0aae\u0003\u0002\u0002\u0002\u018e\u0ab6\u0003\u0002\u0002\u0002\u0190',
- '\u0abe\u0003\u0002\u0002\u0002\u0192\u0ac6\u0003\u0002\u0002\u0002\u0194',
- '\u0ac8\u0003\u0002\u0002\u0002\u0196\u0ad5\u0003\u0002\u0002\u0002\u0198',
- '\u0add\u0003\u0002\u0002\u0002\u019a\u0ae6\u0003\u0002\u0002\u0002\u019c',
- '\u0ae8\u0003\u0002\u0002\u0002\u019e\u0aea\u0003\u0002\u0002\u0002\u01a0',
- '\u0aef\u0003\u0002\u0002\u0002\u01a2\u0af5\u0003\u0002\u0002\u0002\u01a4',
- '\u0af9\u0003\u0002\u0002\u0002\u01a6\u0aff\u0003\u0002\u0002\u0002\u01a8',
- '\u0b09\u0003\u0002\u0002\u0002\u01aa\u0b0b\u0003\u0002\u0002\u0002\u01ac',
- '\u0b0e\u0003\u0002\u0002\u0002\u01ae\u0b11\u0003\u0002\u0002\u0002\u01b0',
- '\u0b21\u0003\u0002\u0002\u0002\u01b2\u0b2c\u0003\u0002\u0002\u0002\u01b4',
- '\u0b39\u0003\u0002\u0002\u0002\u01b6\u0b3b\u0003\u0002\u0002\u0002\u01b8',
- '\u0b43\u0003\u0002\u0002\u0002\u01ba\u0b47\u0003\u0002\u0002\u0002\u01bc',
- '\u0b4f\u0003\u0002\u0002\u0002\u01be\u0b53\u0003\u0002\u0002\u0002\u01c0',
- '\u0b55\u0003\u0002\u0002\u0002\u01c2\u0b5b\u0003\u0002\u0002\u0002\u01c4',
- '\u0b5d\u0003\u0002\u0002\u0002\u01c6\u0b64\u0003\u0002\u0002\u0002\u01c8',
- '\u0b6c\u0003\u0002\u0002\u0002\u01ca\u0b71\u0003\u0002\u0002\u0002\u01cc',
- '\u0b78\u0003\u0002\u0002\u0002\u01ce\u0b80\u0003\u0002\u0002\u0002\u01d0',
- '\u0b84\u0003\u0002\u0002\u0002\u01d2\u0b86\u0003\u0002\u0002\u0002\u01d4',
- '\u0b8e\u0003\u0002\u0002\u0002\u01d6\u0b93\u0003\u0002\u0002\u0002\u01d8',
- '\u0b9c\u0003\u0002\u0002\u0002\u01da\u0ba7\u0003\u0002\u0002\u0002\u01dc',
- '\u0bac\u0003\u0002\u0002\u0002\u01de\u0bb0\u0003\u0002\u0002\u0002\u01e0',
- '\u0bb4\u0003\u0002\u0002\u0002\u01e2\u0bba\u0003\u0002\u0002\u0002\u01e4',
- '\u0bbe\u0003\u0002\u0002\u0002\u01e6\u0bca\u0003\u0002\u0002\u0002\u01e8',
- '\u0bd8\u0003\u0002\u0002\u0002\u01ea\u0bdc\u0003\u0002\u0002\u0002\u01ec',
- '\u0be8\u0003\u0002\u0002\u0002\u01ee\u0bf9\u0003\u0002\u0002\u0002\u01f0',
- '\u0bff\u0003\u0002\u0002\u0002\u01f2\u0c04\u0003\u0002\u0002\u0002\u01f4',
- '\u0c07\u0003\u0002\u0002\u0002\u01f6\u0c0c\u0003\u0002\u0002\u0002\u01f8',
- '\u0c10\u0003\u0002\u0002\u0002\u01fa\u0c17\u0003\u0002\u0002\u0002\u01fc',
- '\u0c19\u0003\u0002\u0002\u0002\u01fe\u0c26\u0003\u0002\u0002\u0002\u0200',
- '\u0c51\u0003\u0002\u0002\u0002\u0202\u0c53\u0003\u0002\u0002\u0002\u0204',
- '\u0c58\u0003\u0002\u0002\u0002\u0206\u0c5d\u0003\u0002\u0002\u0002\u0208',
- '\u0c64\u0003\u0002\u0002\u0002\u020a\u0c81\u0003\u0002\u0002\u0002\u020c',
- '\u0c84\u0003\u0002\u0002\u0002\u020e\u0c8a\u0003\u0002\u0002\u0002\u0210',
- '\u0c8c\u0003\u0002\u0002\u0002\u0212\u0c95\u0003\u0002\u0002\u0002\u0214',
- '\u0c9b\u0003\u0002\u0002\u0002\u0216\u0ca4\u0003\u0002\u0002\u0002\u0218',
- '\u0cb0\u0003\u0002\u0002\u0002\u021a\u0cc6\u0003\u0002\u0002\u0002\u021c',
- '\u0cc8\u0003\u0002\u0002\u0002\u021e\u0cde\u0003\u0002\u0002\u0002\u0220',
- '\u0ce3\u0003\u0002\u0002\u0002\u0222\u0d26\u0003\u0002\u0002\u0002\u0224',
- '\u0d3a\u0003\u0002\u0002\u0002\u0226\u0d49\u0003\u0002\u0002\u0002\u0228',
- '\u0d55\u0003\u0002\u0002\u0002\u022a\u0d57\u0003\u0002\u0002\u0002\u022c',
- '\u0d5d\u0003\u0002\u0002\u0002\u022e\u0d61\u0003\u0002\u0002\u0002\u0230',
- '\u0d6a\u0003\u0002\u0002\u0002\u0232\u0d74\u0003\u0002\u0002\u0002\u0234',
- '\u0d76\u0003\u0002\u0002\u0002\u0236\u0d84\u0003\u0002\u0002\u0002\u0238',
- '\u0d8a\u0003\u0002\u0002\u0002\u023a\u0d8c\u0003\u0002\u0002\u0002\u023c',
- '\u0d90\u0003\u0002\u0002\u0002\u023e\u0d92\u0003\u0002\u0002\u0002\u0240',
- '\u0d96\u0003\u0002\u0002\u0002\u0242\u0d9a\u0003\u0002\u0002\u0002\u0244',
- '\u0d9e\u0003\u0002\u0002\u0002\u0246\u0da5\u0003\u0002\u0002\u0002\u0248',
- '\u0db8\u0003\u0002\u0002\u0002\u024a\u0dbe\u0003\u0002\u0002\u0002\u024c',
- '\u0dca\u0003\u0002\u0002\u0002\u024e\u0dd1\u0003\u0002\u0002\u0002\u0250',
- '\u0dd9\u0003\u0002\u0002\u0002\u0252\u0ddb\u0003\u0002\u0002\u0002\u0254',
- '\u0def\u0003\u0002\u0002\u0002\u0256\u0df1\u0003\u0002\u0002\u0002\u0258',
- '\u0df9\u0003\u0002\u0002\u0002\u025a\u0e31\u0003\u0002\u0002\u0002\u025c',
- '\u0e37\u0003\u0002\u0002\u0002\u025e\u0e5c\u0003\u0002\u0002\u0002\u0260',
- '\u0e5e\u0003\u0002\u0002\u0002\u0262\u0e66\u0003\u0002\u0002\u0002\u0264',
- '\u0e6b\u0003\u0002\u0002\u0002\u0266\u0e74\u0003\u0002\u0002\u0002\u0268',
- '\u0e84\u0003\u0002\u0002\u0002\u026a\u0e88\u0003\u0002\u0002\u0002\u026c',
- '\u0e92\u0003\u0002\u0002\u0002\u026e\u0e9c\u0003\u0002\u0002\u0002\u0270',
- '\u0ea4\u0003\u0002\u0002\u0002\u0272\u0eac\u0003\u0002\u0002\u0002\u0274',
- '\u0eb3\u0003\u0002\u0002\u0002\u0276\u0eb5\u0003\u0002\u0002\u0002\u0278',
- '\u0eb7\u0003\u0002\u0002\u0002\u027a\u0ebf\u0003\u0002\u0002\u0002\u027c',
- '\u0ec7\u0003\u0002\u0002\u0002\u027e\u0ed5\u0003\u0002\u0002\u0002\u0280',
- '\u0ef7\u0003\u0002\u0002\u0002\u0282\u0ef9\u0003\u0002\u0002\u0002\u0284',
- '\u0f14\u0003\u0002\u0002\u0002\u0286\u0f1a\u0003\u0002\u0002\u0002\u0288',
- '\u0f23\u0003\u0002\u0002\u0002\u028a\u0f28\u0003\u0002\u0002\u0002\u028c',
- '\u0f2c\u0003\u0002\u0002\u0002\u028e\u0f46\u0003\u0002\u0002\u0002\u0290',
- '\u0f83\u0003\u0002\u0002\u0002\u0292\u0f85\u0003\u0002\u0002\u0002\u0294',
- '\u0f87\u0003\u0002\u0002\u0002\u0296\u0fa4\u0003\u0002\u0002\u0002\u0298',
- '\u0fa8\u0003\u0002\u0002\u0002\u029a\u0faa\u0003\u0002\u0002\u0002\u029c',
- '\u0fb7\u0003\u0002\u0002\u0002\u029e\u0fc1\u0003\u0002\u0002\u0002\u02a0',
- '\u0fcc\u0003\u0002\u0002\u0002\u02a2\u0fd0\u0003\u0002\u0002\u0002\u02a4',
- '\u0fe4\u0003\u0002\u0002\u0002\u02a6\u0fe9\u0003\u0002\u0002\u0002\u02a8',
- '\u0feb\u0003\u0002\u0002\u0002\u02aa\u1007\u0003\u0002\u0002\u0002\u02ac',
- '\u100a\u0003\u0002\u0002\u0002\u02ae\u100c\u0003\u0002\u0002\u0002\u02b0',
- '\u100f\u0003\u0002\u0002\u0002\u02b2\u1017\u0003\u0002\u0002\u0002\u02b4',
- '\u1019\u0003\u0002\u0002\u0002\u02b6\u102e\u0003\u0002\u0002\u0002\u02b8',
- '\u103a\u0003\u0002\u0002\u0002\u02ba\u1041\u0003\u0002\u0002\u0002\u02bc',
- '\u104c\u0003\u0002\u0002\u0002\u02be\u104e\u0003\u0002\u0002\u0002\u02c0',
- '\u1055\u0003\u0002\u0002\u0002\u02c2\u105c\u0003\u0002\u0002\u0002\u02c4',
- '\u105e\u0003\u0002\u0002\u0002\u02c6\u1061\u0003\u0002\u0002\u0002\u02c8',
- '\u106d\u0003\u0002\u0002\u0002\u02ca\u1085\u0003\u0002\u0002\u0002\u02cc',
- '\u1087\u0003\u0002\u0002\u0002\u02ce\u1094\u0003\u0002\u0002\u0002\u02d0',
- '\u1096\u0003\u0002\u0002\u0002\u02d2\u1099\u0003\u0002\u0002\u0002\u02d4',
- '\u109b\u0003\u0002\u0002\u0002\u02d6\u109f\u0003\u0002\u0002\u0002\u02d8',
- '\u10a5\u0003\u0002\u0002\u0002\u02da\u10ab\u0003\u0002\u0002\u0002\u02dc',
- '\u10ad\u0003\u0002\u0002\u0002\u02de\u10b8\u0003\u0002\u0002\u0002\u02e0',
- '\u10c0\u0003\u0002\u0002\u0002\u02e2\u10ca\u0003\u0002\u0002\u0002\u02e4',
- '\u10d4\u0003\u0002\u0002\u0002\u02e6\u10d8\u0003\u0002\u0002\u0002\u02e8',
- '\u10dc\u0003\u0002\u0002\u0002\u02ea\u10e2\u0003\u0002\u0002\u0002\u02ec',
- '\u10fb\u0003\u0002\u0002\u0002\u02ee\u10fd\u0003\u0002\u0002\u0002\u02f0',
- '\u1107\u0003\u0002\u0002\u0002\u02f2\u1118\u0003\u0002\u0002\u0002\u02f4',
- '\u1128\u0003\u0002\u0002\u0002\u02f6\u1131\u0003\u0002\u0002\u0002\u02f8',
- '\u1133\u0003\u0002\u0002\u0002\u02fa\u113a\u0003\u0002\u0002\u0002\u02fc',
- '\u1148\u0003\u0002\u0002\u0002\u02fe\u114a\u0003\u0002\u0002\u0002\u0300',
- '\u1150\u0003\u0002\u0002\u0002\u0302\u1156\u0003\u0002\u0002\u0002\u0304',
- '\u115f\u0003\u0002\u0002\u0002\u0306\u1161\u0003\u0002\u0002\u0002\u0308',
- '\u1164\u0003\u0002\u0002\u0002\u030a\u1166\u0003\u0002\u0002\u0002\u030c',
- '\u1178\u0003\u0002\u0002\u0002\u030e\u1186\u0003\u0002\u0002\u0002\u0310',
- '\u1193\u0003\u0002\u0002\u0002\u0312\u1195\u0003\u0002\u0002\u0002\u0314',
- '\u11a0\u0003\u0002\u0002\u0002\u0316\u11a2\u0003\u0002\u0002\u0002\u0318',
- '\u11a4\u0003\u0002\u0002\u0002\u031a\u11a6\u0003\u0002\u0002\u0002\u031c',
- '\u11a8\u0003\u0002\u0002\u0002\u031e\u11aa\u0003\u0002\u0002\u0002\u0320',
- '\u11ac\u0003\u0002\u0002\u0002\u0322\u11ae\u0003\u0002\u0002\u0002\u0324',
- '\u11b5\u0003\u0002\u0002\u0002\u0326\u11b7\u0003\u0002\u0002\u0002\u0328',
- '\u11c2\u0003\u0002\u0002\u0002\u032a\u11c4\u0003\u0002\u0002\u0002\u032c',
- '\u11c6\u0003\u0002\u0002\u0002\u032e\u11c8\u0003\u0002\u0002\u0002\u0330',
- '\u11e3\u0003\u0002\u0002\u0002\u0332\u1216\u0003\u0002\u0002\u0002\u0334',
- '\u1220\u0003\u0002\u0002\u0002\u0336\u122f\u0003\u0002\u0002\u0002\u0338',
- '\u1233\u0003\u0002\u0002\u0002\u033a\u1239\u0003\u0002\u0002\u0002\u033c',
- '\u123b\u0003\u0002\u0002\u0002\u033e\u123d\u0003\u0002\u0002\u0002\u0340',
- '\u123f\u0003\u0002\u0002\u0002\u0342\u1243\u0003\u0002\u0002\u0002\u0344',
- '\u124f\u0003\u0002\u0002\u0002\u0346\u1254\u0003\u0002\u0002\u0002\u0348',
- '\u1260\u0003\u0002\u0002\u0002\u034a\u1264\u0003\u0002\u0002\u0002\u034c',
- '\u1266\u0003\u0002\u0002\u0002\u034e\u126b\u0003\u0002\u0002\u0002\u0350',
- '\u1275\u0003\u0002\u0002\u0002\u0352\u1286\u0003\u0002\u0002\u0002\u0354',
- '\u128a\u0003\u0002\u0002\u0002\u0356\u128c\u0003\u0002\u0002\u0002\u0358',
- '\u128e\u0003\u0002\u0002\u0002\u035a\u1292\u0003\u0002\u0002\u0002\u035c',
- '\u12a2\u0003\u0002\u0002\u0002\u035e\u12ab\u0003\u0002\u0002\u0002\u0360',
- '\u12ad\u0003\u0002\u0002\u0002\u0362\u12b8\u0003\u0002\u0002\u0002\u0364',
- '\u12ba\u0003\u0002\u0002\u0002\u0366\u12c2\u0003\u0002\u0002\u0002\u0368',
- '\u12c9\u0003\u0002\u0002\u0002\u036a\u12cd\u0003\u0002\u0002\u0002\u036c',
- '\u12d2\u0003\u0002\u0002\u0002\u036e\u12d5\u0003\u0002\u0002\u0002\u0370',
- '\u12d9\u0003\u0002\u0002\u0002\u0372\u12db\u0003\u0002\u0002\u0002\u0374',
- '\u12dd\u0003\u0002\u0002\u0002\u0376\u12df\u0003\u0002\u0002\u0002\u0378',
- '\u12f6\u0003\u0002\u0002\u0002\u037a\u12fc\u0003\u0002\u0002\u0002\u037c',
- '\u1301\u0003\u0002\u0002\u0002\u037e\u130f\u0003\u0002\u0002\u0002\u0380',
- '\u1314\u0003\u0002\u0002\u0002\u0382\u131c\u0003\u0002\u0002\u0002\u0384',
- '\u131e\u0003\u0002\u0002\u0002\u0386\u1321\u0003\u0002\u0002\u0002\u0388',
- '\u1329\u0003\u0002\u0002\u0002\u038a\u1331\u0003\u0002\u0002\u0002\u038c',
- '\u1335\u0003\u0002\u0002\u0002\u038e\u1337\u0003\u0002\u0002\u0002\u0390',
- '\u133d\u0003\u0002\u0002\u0002\u0392\u133f\u0003\u0002\u0002\u0002\u0394',
- '\u1342\u0003\u0002\u0002\u0002\u0396\u1349\u0003\u0002\u0002\u0002\u0398',
- '\u135f\u0003\u0002\u0002\u0002\u039a\u1364\u0003\u0002\u0002\u0002\u039c',
- '\u1376\u0003\u0002\u0002\u0002\u039e\u1378\u0003\u0002\u0002\u0002\u03a0',
- '\u1380\u0003\u0002\u0002\u0002\u03a2\u1388\u0003\u0002\u0002\u0002\u03a4',
- '\u1399\u0003\u0002\u0002\u0002\u03a6\u139f\u0003\u0002\u0002\u0002\u03a8',
- '\u13af\u0003\u0002\u0002\u0002\u03aa\u13bf\u0003\u0002\u0002\u0002\u03ac',
- '\u03ae\u0005\b\u0005\u0002\u03ad\u03af\u0005\u0004\u0003\u0002\u03ae',
- '\u03ad\u0003\u0002\u0002\u0002\u03ae\u03af\u0003\u0002\u0002\u0002\u03af',
- '\u03b2\u0003\u0002\u0002\u0002\u03b0\u03b2\u0005\u0006\u0004\u0002\u03b1',
- '\u03ac\u0003\u0002\u0002\u0002\u03b1\u03b0\u0003\u0002\u0002\u0002\u03b2',
- '\u03b5\u0003\u0002\u0002\u0002\u03b3\u03b1\u0003\u0002\u0002\u0002\u03b3',
- '\u03b4\u0003\u0002\u0002\u0002\u03b4\u03b6\u0003\u0002\u0002\u0002\u03b5',
- '\u03b3\u0003\u0002\u0002\u0002\u03b6\u03b7\u0007\u0002\u0002\u0003\u03b7',
- '\u0003\u0003\u0002\u0002\u0002\u03b8\u03b9\u0007\u0174\u0002\u0002\u03b9',
- '\u0005\u0003\u0002\u0002\u0002\u03ba\u03bb\u0005\u0004\u0003\u0002\u03bb',
- '\u0007\u0003\u0002\u0002\u0002\u03bc\u03bf\u0005\n\u0006\u0002\u03bd',
- '\u03bf\u0005\u0012\n\u0002\u03be\u03bc\u0003\u0002\u0002\u0002\u03be',
- '\u03bd\u0003\u0002\u0002\u0002\u03bf\t\u0003\u0002\u0002\u0002\u03c0',
- '\u03ca\u0007\u0096\u0002\u0002\u03c1\u03c3\u0005\f\u0007\u0002\u03c2',
- '\u03c1\u0003\u0002\u0002\u0002\u03c3\u03c6\u0003\u0002\u0002\u0002\u03c4',
- '\u03c2\u0003\u0002\u0002\u0002\u03c4\u03c5\u0003\u0002\u0002\u0002\u03c5',
- '\u03c7\u0003\u0002\u0002\u0002\u03c6\u03c4\u0003\u0002\u0002\u0002\u03c7',
- '\u03cb\u0005\u0012\n\u0002\u03c8\u03c9\u0007\u010c\u0002\u0002\u03c9',
- '\u03cb\u0005\u020c\u0107\u0002\u03ca\u03c4\u0003\u0002\u0002\u0002\u03ca',
- '\u03c8\u0003\u0002\u0002\u0002\u03cb\u000b\u0003\u0002\u0002\u0002\u03cc',
- '\u03db\u0007\u0097\u0002\u0002\u03cd\u03db\u0007\u0098\u0002\u0002\u03ce',
- '\u03db\u0007\u0099\u0002\u0002\u03cf\u03db\u0007\u009a\u0002\u0002\u03d0',
- '\u03db\u0007\u010d\u0002\u0002\u03d1\u03db\u0007\u00d1\u0002\u0002\u03d2',
- '\u03db\u0007\u010e\u0002\u0002\u03d3\u03d5\u0007\u013b\u0002\u0002\u03d4',
- '\u03d6\u0005\u000e\b\u0002\u03d5\u03d4\u0003\u0002\u0002\u0002\u03d5',
- '\u03d6\u0003\u0002\u0002\u0002\u03d6\u03d8\u0003\u0002\u0002\u0002\u03d7',
- '\u03d9\u0005\u0010\t\u0002\u03d8\u03d7\u0003\u0002\u0002\u0002\u03d8',
- '\u03d9\u0003\u0002\u0002\u0002\u03d9\u03db\u0003\u0002\u0002\u0002\u03da',
- '\u03cc\u0003\u0002\u0002\u0002\u03da\u03cd\u0003\u0002\u0002\u0002\u03da',
- '\u03ce\u0003\u0002\u0002\u0002\u03da\u03cf\u0003\u0002\u0002\u0002\u03da',
- '\u03d0\u0003\u0002\u0002\u0002\u03da\u03d1\u0003\u0002\u0002\u0002\u03da',
- '\u03d2\u0003\u0002\u0002\u0002\u03da\u03d3\u0003\u0002\u0002\u0002\u03db',
- '\r\u0003\u0002\u0002\u0002\u03dc\u03dd\u0007\u0121\u0002\u0002\u03dd',
- '\u000f\u0003\u0002\u0002\u0002\u03de\u03df\t\u0002\u0002\u0002\u03df',
- '\u0011\u0003\u0002\u0002\u0002\u03e0\u03ed\u0005\u020c\u0107\u0002\u03e1',
- '\u03ed\u0005\u0014\u000b\u0002\u03e2\u03ed\u0005\u0018\r\u0002\u03e3',
- '\u03ed\u0005\u001a\u000e\u0002\u03e4\u03ed\u0005\u001c\u000f\u0002\u03e5',
- '\u03ed\u0005\u001e\u0010\u0002\u03e6\u03ed\u0005$\u0013\u0002\u03e7',
- '\u03ed\u0005&\u0014\u0002\u03e8\u03ed\u0005\u022a\u0116\u0002\u03e9',
- '\u03ed\u0005\u0230\u0119\u0002\u03ea\u03ed\u0005\u0232\u011a\u0002\u03eb',
- '\u03ed\u0005\u0246\u0124\u0002\u03ec\u03e0\u0003\u0002\u0002\u0002\u03ec',
- '\u03e1\u0003\u0002\u0002\u0002\u03ec\u03e2\u0003\u0002\u0002\u0002\u03ec',
- '\u03e3\u0003\u0002\u0002\u0002\u03ec\u03e4\u0003\u0002\u0002\u0002\u03ec',
- '\u03e5\u0003\u0002\u0002\u0002\u03ec\u03e6\u0003\u0002\u0002\u0002\u03ec',
- '\u03e7\u0003\u0002\u0002\u0002\u03ec\u03e8\u0003\u0002\u0002\u0002\u03ec',
- '\u03e9\u0003\u0002\u0002\u0002\u03ec\u03ea\u0003\u0002\u0002\u0002\u03ec',
- '\u03eb\u0003\u0002\u0002\u0002\u03ed\u0013\u0003\u0002\u0002\u0002\u03ee',
- '\u03ef\u0007<\u0002\u0002\u03ef\u03f1\u0007A\u0002\u0002\u03f0\u03f2',
- '\u00074\u0002\u0002\u03f1\u03f0\u0003\u0002\u0002\u0002\u03f1\u03f2',
- '\u0003\u0002\u0002\u0002\u03f2\u03f3\u0003\u0002\u0002\u0002\u03f3\u03f4',
- '\u0007B\u0002\u0002\u03f4\u03f6\u0007\u0190\u0002\u0002\u03f5\u03f7',
- '\u0007\u001d\u0002\u0002\u03f6\u03f5\u0003\u0002\u0002\u0002\u03f6\u03f7',
- '\u0003\u0002\u0002\u0002\u03f7\u03f8\u0003\u0002\u0002\u0002\u03f8\u03f9',
- '\u0007o\u0002\u0002\u03f9\u03fa\u0007(\u0002\u0002\u03fa\u03fc\u0005',
- '\u0340\u01a1\u0002\u03fb\u03fd\u0005\u00d0i\u0002\u03fc\u03fb\u0003',
- '\u0002\u0002\u0002\u03fc\u03fd\u0003\u0002\u0002\u0002\u03fd\u0015\u0003',
- '\u0002\u0002\u0002\u03fe\u0400\u0007\u00f0\u0002\u0002\u03ff\u0401\u0007',
- '@\u0002\u0002\u0400\u03ff\u0003\u0002\u0002\u0002\u0400\u0401\u0003',
- '\u0002\u0002\u0002\u0401\u0402\u0003\u0002\u0002\u0002\u0402\u0403\u0007',
- '?\u0002\u0002\u0403\u0404\u0007\u0175\u0002\u0002\u0404\u0405\u0007',
- '\u0190\u0002\u0002\u0405\u0406\u0007\u0176\u0002\u0002\u0406\u0017\u0003',
- '\u0002\u0002\u0002\u0407\u0408\u0007=\u0002\u0002\u0408\u0409\u0007',
- '(\u0002\u0002\u0409\u040a\u0005\u0340\u01a1\u0002\u040a\u040b\u0007',
- 'O\u0002\u0002\u040b\u040d\u0007\u0190\u0002\u0002\u040c\u040e\u0005',
- '\u0016\f\u0002\u040d\u040c\u0003\u0002\u0002\u0002\u040d\u040e\u0003',
- '\u0002\u0002\u0002\u040e\u0019\u0003\u0002\u0002\u0002\u040f\u0415\u0007',
- '>\u0002\u0002\u0410\u0412\u0007F\u0002\u0002\u0411\u0410\u0003\u0002',
- '\u0002\u0002\u0411\u0412\u0003\u0002\u0002\u0002\u0412\u0413\u0003\u0002',
- '\u0002\u0002\u0413\u0414\u0007(\u0002\u0002\u0414\u0416\u0005\u0340',
- '\u01a1\u0002\u0415\u0411\u0003\u0002\u0002\u0002\u0415\u0416\u0003\u0002',
- '\u0002\u0002\u0416\u0417\u0003\u0002\u0002\u0002\u0417\u0418\u0007\u0018',
- '\u0002\u0002\u0418\u041a\u0007\u0190\u0002\u0002\u0419\u041b\u0005\u0188',
- '\u00c5\u0002\u041a\u0419\u0003\u0002\u0002\u0002\u041a\u041b\u0003\u0002',
- '\u0002\u0002\u041b\u001b\u0003\u0002\u0002\u0002\u041c\u041d\u0007\u0138',
- '\u0002\u0002\u041d\u041e\u0007\u0139\u0002\u0002\u041e\u0421\u0005\u0350',
- '\u01a9\u0002\u041f\u0420\u0007\u0171\u0002\u0002\u0420\u0422\u0005\u0350',
- '\u01a9\u0002\u0421\u041f\u0003\u0002\u0002\u0002\u0421\u0422\u0003\u0002',
- '\u0002\u0002\u0422\u042d\u0003\u0002\u0002\u0002\u0423\u0424\u0007\u0018',
- '\u0002\u0002\u0424\u0427\u0007\u0195\u0002\u0002\u0425\u0426\u0007O',
- '\u0002\u0002\u0426\u0428\u0007\u0195\u0002\u0002\u0427\u0425\u0003\u0002',
- '\u0002\u0002\u0427\u0428\u0003\u0002\u0002\u0002\u0428\u042b\u0003\u0002',
- '\u0002\u0002\u0429\u042a\u0007\u00a0\u0002\u0002\u042a\u042c\u0007\u0195',
- '\u0002\u0002\u042b\u0429\u0003\u0002\u0002\u0002\u042b\u042c\u0003\u0002',
- '\u0002\u0002\u042c\u042e\u0003\u0002\u0002\u0002\u042d\u0423\u0003\u0002',
- '\u0002\u0002\u042d\u042e\u0003\u0002\u0002\u0002\u042e\u0431\u0003\u0002',
- '\u0002\u0002\u042f\u0430\u0007\u009c\u0002\u0002\u0430\u0432\u0005 ',
- '\u0011\u0002\u0431\u042f\u0003\u0002\u0002\u0002\u0431\u0432\u0003\u0002',
- '\u0002\u0002\u0432\u001d\u0003\u0002\u0002\u0002\u0433\u0434\u0007\u0138',
- '\u0002\u0002\u0434\u043a\u0007<\u0002\u0002\u0435\u0438\u0005\u0350',
- '\u01a9\u0002\u0436\u0437\u0007\u0171\u0002\u0002\u0437\u0439\u0005\u0350',
- '\u01a9\u0002\u0438\u0436\u0003\u0002\u0002\u0002\u0438\u0439\u0003\u0002',
- '\u0002\u0002\u0439\u043b\u0003\u0002\u0002\u0002\u043a\u0435\u0003\u0002',
- '\u0002\u0002\u043a\u043b\u0003\u0002\u0002\u0002\u043b\u043c\u0003\u0002',
- '\u0002\u0002\u043c\u043d\u0007\u0018\u0002\u0002\u043d\u0440\u0007\u0190',
- '\u0002\u0002\u043e\u043f\u0007\u009c\u0002\u0002\u043f\u0441\u0005 ',
- '\u0011\u0002\u0440\u043e\u0003\u0002\u0002\u0002\u0440\u0441\u0003\u0002',
- '\u0002\u0002\u0441\u001f\u0003\u0002\u0002\u0002\u0442\u0443\u0007\u0175',
- '\u0002\u0002\u0443\u0444\u0005"\u0012\u0002\u0444\u0445\u0007\u0176',
- '\u0002\u0002\u0445!\u0003\u0002\u0002\u0002\u0446\u044b\u0005\u0168',
- '\u00b5\u0002\u0447\u0448\u0007\u0173\u0002\u0002\u0448\u044a\u0005\u0168',
- '\u00b5\u0002\u0449\u0447\u0003\u0002\u0002\u0002\u044a\u044d\u0003\u0002',
- '\u0002\u0002\u044b\u0449\u0003\u0002\u0002\u0002\u044b\u044c\u0003\u0002',
- '\u0002\u0002\u044c#\u0003\u0002\u0002\u0002\u044d\u044b\u0003\u0002',
- '\u0002\u0002\u044e\u044f\u0007\u0138\u0002\u0002\u044f\u0450\u0007\u013a',
- '\u0002\u0002\u0450\u0453\u0005\u0350\u01a9\u0002\u0451\u0452\u0007\u0171',
- '\u0002\u0002\u0452\u0454\u0005\u0350\u01a9\u0002\u0453\u0451\u0003\u0002',
- '\u0002\u0002\u0453\u0454\u0003\u0002\u0002\u0002\u0454\u0457\u0003\u0002',
- '\u0002\u0002\u0455\u0456\u0007\u009c\u0002\u0002\u0456\u0458\u0005 ',
- '\u0011\u0002\u0457\u0455\u0003\u0002\u0002\u0002\u0457\u0458\u0003\u0002',
- '\u0002\u0002\u0458%\u0003\u0002\u0002\u0002\u0459\u0487\u0005@!\u0002',
- '\u045a\u0487\u00058\u001d\u0002\u045b\u0487\u0005B"\u0002\u045c\u0487',
- "\u0005D#\u0002\u045d\u0487\u0005H%\u0002\u045e\u0487\u0005L\'\u0002",
- '\u045f\u0487\u0005J&\u0002\u0460\u0487\u0005R*\u0002\u0461\u0487\u0005',
- 'T+\u0002\u0462\u0487\u0005\u00d8m\u0002\u0463\u0487\u0005\u00dco\u0002',
- '\u0464\u0487\u0005\u011a\u008e\u0002\u0465\u0487\u0005\u012c\u0097\u0002',
- '\u0466\u0487\u0005\u012e\u0098\u0002\u0467\u0487\u0005\u0140\u00a1\u0002',
- '\u0468\u0487\u0005\u0142\u00a2\u0002\u0469\u0487\u0005\u0122\u0092\u0002',
- '\u046a\u0487\u0005\u0128\u0095\u0002\u046b\u0487\u0005\u0124\u0093\u0002',
- '\u046c\u0487\u0005\u0126\u0094\u0002\u046d\u0487\u0005\u012a\u0096\u0002',
- '\u046e\u0487\u0005\u00dan\u0002\u046f\u0487\u0005\u00dep\u0002\u0470',
- '\u0487\u0005\u00e4s\u0002\u0471\u0487\u0005\u00e0q\u0002\u0472\u0487',
- '\u0005\u00e6t\u0002\u0473\u0487\u0005\u00e8u\u0002\u0474\u0487\u0005',
- '\u00eav\u0002\u0475\u0487\u0005\u00ecw\u0002\u0476\u0487\u0005\u00ee',
- 'x\u0002\u0477\u0487\u0005\u00fc\u007f\u0002\u0478\u0487\u0005\u00f4',
- '{\u0002\u0479\u0487\u0005\u00fe\u0080\u0002\u047a\u0487\u0005\u00f6',
- '|\u0002\u047b\u0487\u0005\u00f0y\u0002\u047c\u0487\u0005\u00f2z\u0002',
- '\u047d\u0487\u0005\u00fa~\u0002\u047e\u0487\u0005\u00f8}\u0002\u047f',
- '\u0487\u0005\u0244\u0123\u0002\u0480\u0487\u0005\u0252\u012a\u0002\u0481',
- '\u0487\u0005\u035c\u01af\u0002\u0482\u0487\u0005\u00b0Y\u0002\u0483',
- '\u0487\u0005\u00b4[\u0002\u0484\u0487\u0005\u00b6\\\u0002\u0485\u0487',
- '\u0005\u00c2b\u0002\u0486\u0459\u0003\u0002\u0002\u0002\u0486\u045a',
- '\u0003\u0002\u0002\u0002\u0486\u045b\u0003\u0002\u0002\u0002\u0486\u045c',
- '\u0003\u0002\u0002\u0002\u0486\u045d\u0003\u0002\u0002\u0002\u0486\u045e',
- '\u0003\u0002\u0002\u0002\u0486\u045f\u0003\u0002\u0002\u0002\u0486\u0460',
- '\u0003\u0002\u0002\u0002\u0486\u0461\u0003\u0002\u0002\u0002\u0486\u0462',
- '\u0003\u0002\u0002\u0002\u0486\u0463\u0003\u0002\u0002\u0002\u0486\u0464',
- '\u0003\u0002\u0002\u0002\u0486\u0465\u0003\u0002\u0002\u0002\u0486\u0466',
- '\u0003\u0002\u0002\u0002\u0486\u0467\u0003\u0002\u0002\u0002\u0486\u0468',
- '\u0003\u0002\u0002\u0002\u0486\u0469\u0003\u0002\u0002\u0002\u0486\u046a',
- '\u0003\u0002\u0002\u0002\u0486\u046b\u0003\u0002\u0002\u0002\u0486\u046c',
- '\u0003\u0002\u0002\u0002\u0486\u046d\u0003\u0002\u0002\u0002\u0486\u046e',
- '\u0003\u0002\u0002\u0002\u0486\u046f\u0003\u0002\u0002\u0002\u0486\u0470',
- '\u0003\u0002\u0002\u0002\u0486\u0471\u0003\u0002\u0002\u0002\u0486\u0472',
- '\u0003\u0002\u0002\u0002\u0486\u0473\u0003\u0002\u0002\u0002\u0486\u0474',
- '\u0003\u0002\u0002\u0002\u0486\u0475\u0003\u0002\u0002\u0002\u0486\u0476',
- '\u0003\u0002\u0002\u0002\u0486\u0477\u0003\u0002\u0002\u0002\u0486\u0478',
- '\u0003\u0002\u0002\u0002\u0486\u0479\u0003\u0002\u0002\u0002\u0486\u047a',
- '\u0003\u0002\u0002\u0002\u0486\u047b\u0003\u0002\u0002\u0002\u0486\u047c',
- '\u0003\u0002\u0002\u0002\u0486\u047d\u0003\u0002\u0002\u0002\u0486\u047e',
- '\u0003\u0002\u0002\u0002\u0486\u047f\u0003\u0002\u0002\u0002\u0486\u0480',
- '\u0003\u0002\u0002\u0002\u0486\u0481\u0003\u0002\u0002\u0002\u0486\u0482',
- '\u0003\u0002\u0002\u0002\u0486\u0483\u0003\u0002\u0002\u0002\u0486\u0484',
- "\u0003\u0002\u0002\u0002\u0486\u0485\u0003\u0002\u0002\u0002\u0487\'",
- '\u0003\u0002\u0002\u0002\u0488\u0489\u0007\r\u0002\u0002\u0489\u048a',
- '\u0007\u000e\u0002\u0002\u048a)\u0003\u0002\u0002\u0002\u048b\u048c',
- '\t\u0003\u0002\u0002\u048c+\u0003\u0002\u0002\u0002\u048d\u048e\u0007',
- '\r\u0002\u0002\u048e\u048f\u0007\n\u0002\u0002\u048f\u0490\u0007\u000e',
- '\u0002\u0002\u0490-\u0003\u0002\u0002\u0002\u0491\u0492\u0007\u0084',
- '\u0002\u0002\u0492\u0493\u0007\u010c\u0002\u0002\u0493/\u0003\u0002',
- '\u0002\u0002\u0494\u0495\u0007\u0085\u0002\u0002\u0495\u0496\u0007\u010c',
- '\u0002\u0002\u04961\u0003\u0002\u0002\u0002\u0497\u0498\u0007~\u0002',
- '\u0002\u0498\u0499\u0007\u0019\u0002\u0002\u0499\u049a\u0007\u00ef\u0002',
- '\u0002\u049a3\u0003\u0002\u0002\u0002\u049b\u049c\u0007\t\u0002\u0002',
- '\u049c\u049d\u0007\u008e\u0002\u0002\u049d5\u0003\u0002\u0002\u0002',
- '\u049e\u049f\u0007\t\u0002\u0002\u049f\u04a0\u0007\u0166\u0002\u0002',
- '\u04a07\u0003\u0002\u0002\u0002\u04a1\u04a2\u0007E\u0002\u0002\u04a2',
- '\u04a4\t\u0004\u0002\u0002\u04a3\u04a5\u0005,\u0017\u0002\u04a4\u04a3',
- '\u0003\u0002\u0002\u0002\u04a4\u04a5\u0003\u0002\u0002\u0002\u04a5\u04a6',
- '\u0003\u0002\u0002\u0002\u04a6\u04a8\u0005\u0350\u01a9\u0002\u04a7\u04a9',
- '\u0005F$\u0002\u04a8\u04a7\u0003\u0002\u0002\u0002\u04a8\u04a9\u0003',
- '\u0002\u0002\u0002\u04a9\u04ab\u0003\u0002\u0002\u0002\u04aa\u04ac\u0005',
- ':\u001e\u0002\u04ab\u04aa\u0003\u0002\u0002\u0002\u04ab\u04ac\u0003',
- '\u0002\u0002\u0002\u04ac\u04b0\u0003\u0002\u0002\u0002\u04ad\u04ae\u0007',
- '\u009c\u0002\u0002\u04ae\u04af\u0007\u009f\u0002\u0002\u04af\u04b1\u0005',
- '<\u001f\u0002\u04b0\u04ad\u0003\u0002\u0002\u0002\u04b0\u04b1\u0003',
- '\u0002\u0002\u0002\u04b19\u0003\u0002\u0002\u0002\u04b2\u04b3\u0007',
- '\u0152\u0002\u0002\u04b3\u04b4\u0007\u0086\u0002\u0002\u04b4\u04b8\u0007',
- '\u0190\u0002\u0002\u04b5\u04b6\u0007\u0086\u0002\u0002\u04b6\u04b8\u0007',
- '\u0190\u0002\u0002\u04b7\u04b2\u0003\u0002\u0002\u0002\u04b7\u04b5\u0003',
- '\u0002\u0002\u0002\u04b8;\u0003\u0002\u0002\u0002\u04b9\u04ba\u0007',
- '\u0175\u0002\u0002\u04ba\u04bb\u0005> \u0002\u04bb\u04bc\u0007\u0176',
- '\u0002\u0002\u04bc=\u0003\u0002\u0002\u0002\u04bd\u04c2\u0005\u0168',
- '\u00b5\u0002\u04be\u04bf\u0007\u0173\u0002\u0002\u04bf\u04c1\u0005\u0168',
- '\u00b5\u0002\u04c0\u04be\u0003\u0002\u0002\u0002\u04c1\u04c4\u0003\u0002',
- '\u0002\u0002\u04c2\u04c0\u0003\u0002\u0002\u0002\u04c2\u04c3\u0003\u0002',
- '\u0002\u0002\u04c3?\u0003\u0002\u0002\u0002\u04c4\u04c2\u0003\u0002',
- '\u0002\u0002\u04c5\u04c6\u0007\u00e3\u0002\u0002\u04c6\u04c7\u0007\u00e7',
- '\u0002\u0002\u04c7\u04c8\u0005\u0350\u01a9\u0002\u04c8A\u0003\u0002',
- '\u0002\u0002\u04c9\u04ca\u0007\u00e3\u0002\u0002\u04ca\u04cb\u0005\u0350',
- '\u01a9\u0002\u04cbC\u0003\u0002\u0002\u0002\u04cc\u04cd\u0007M\u0002',
- '\u0002\u04cd\u04cf\t\u0004\u0002\u0002\u04ce\u04d0\u0005(\u0015\u0002',
- '\u04cf\u04ce\u0003\u0002\u0002\u0002\u04cf\u04d0\u0003\u0002\u0002\u0002',
- '\u04d0\u04d1\u0003\u0002\u0002\u0002\u04d1\u04d3\u0005\u0350\u01a9\u0002',
- '\u04d2\u04d4\u0005*\u0016\u0002\u04d3\u04d2\u0003\u0002\u0002\u0002',
- '\u04d3\u04d4\u0003\u0002\u0002\u0002\u04d4E\u0003\u0002\u0002\u0002',
- '\u04d5\u04d6\u0007P\u0002\u0002\u04d6\u04d7\u0007\u0190\u0002\u0002',
- '\u04d7G\u0003\u0002\u0002\u0002\u04d8\u04da\u0007E\u0002\u0002\u04d9',
- '\u04db\u00056\u001c\u0002\u04da\u04d9\u0003\u0002\u0002\u0002\u04da',
- '\u04db\u0003\u0002\u0002\u0002\u04db\u04dd\u0003\u0002\u0002\u0002\u04dc',
- '\u04de\u0007\u0091\u0002\u0002\u04dd\u04dc\u0003\u0002\u0002\u0002\u04dd',
- '\u04de\u0003\u0002\u0002\u0002\u04de\u04e0\u0003\u0002\u0002\u0002\u04df',
- '\u04e1\u0007F\u0002\u0002\u04e0\u04df\u0003\u0002\u0002\u0002\u04e0',
- '\u04e1\u0003\u0002\u0002\u0002\u04e1\u04e3\u0003\u0002\u0002\u0002\u04e2',
- '\u04e4\u0007\u016c\u0002\u0002\u04e3\u04e2\u0003\u0002\u0002\u0002\u04e3',
- '\u04e4\u0003\u0002\u0002\u0002\u04e4\u04e5\u0003\u0002\u0002\u0002\u04e5',
- '\u04e7\u0007(\u0002\u0002\u04e6\u04e8\u0005,\u0017\u0002\u04e7\u04e6',
- '\u0003\u0002\u0002\u0002\u04e7\u04e8\u0003\u0002\u0002\u0002\u04e8\u04e9',
- '\u0003\u0002\u0002\u0002\u04e9\u051b\u0005\u029e\u0150\u0002\u04ea\u04eb',
- '\u0007\u000b\u0002\u0002\u04eb\u04ed\u0005\u029e\u0150\u0002\u04ec\u04ee',
- '\u0005\u015e\u00b0\u0002\u04ed\u04ec\u0003\u0002\u0002\u0002\u04ed\u04ee',
- '\u0003\u0002\u0002\u0002\u04ee\u04f0\u0003\u0002\u0002\u0002\u04ef\u04f1',
- '\u0005\u017a\u00be\u0002\u04f0\u04ef\u0003\u0002\u0002\u0002\u04f0\u04f1',
- '\u0003\u0002\u0002\u0002\u04f1\u04f3\u0003\u0002\u0002\u0002\u04f2\u04f4',
- '\u0005\u014a\u00a6\u0002\u04f3\u04f2\u0003\u0002\u0002\u0002\u04f3\u04f4',
- '\u0003\u0002\u0002\u0002\u04f4\u04f6\u0003\u0002\u0002\u0002\u04f5\u04f7',
- '\u0005\u0188\u00c5\u0002\u04f6\u04f5\u0003\u0002\u0002\u0002\u04f6\u04f7',
- '\u0003\u0002\u0002\u0002\u04f7\u04f9\u0003\u0002\u0002\u0002\u04f8\u04fa',
- '\u0005\u0162\u00b2\u0002\u04f9\u04f8\u0003\u0002\u0002\u0002\u04f9\u04fa',
- '\u0003\u0002\u0002\u0002\u04fa\u04fc\u0003\u0002\u0002\u0002\u04fb\u04fd',
- '\u0005\u0160\u00b1\u0002\u04fc\u04fb\u0003\u0002\u0002\u0002\u04fc\u04fd',
- '\u0003\u0002\u0002\u0002\u04fd\u051c\u0003\u0002\u0002\u0002\u04fe\u04ff',
- '\u0007\u0175\u0002\u0002\u04ff\u0500\u0005\u018c\u00c7\u0002\u0500\u0501',
- '\u0007\u0176\u0002\u0002\u0501\u0503\u0003\u0002\u0002\u0002\u0502\u04fe',
- '\u0003\u0002\u0002\u0002\u0502\u0503\u0003\u0002\u0002\u0002\u0503\u0514',
- '\u0003\u0002\u0002\u0002\u0504\u0513\u0005\u014a\u00a6\u0002\u0505\u0513',
- '\u0005\u0150\u00a9\u0002\u0506\u0513\u0005\u0152\u00aa\u0002\u0507\u0513',
- '\u0005\u015e\u00b0\u0002\u0508\u0513\u0005\u017a\u00be\u0002\u0509\u0513',
- '\u0005\u014e\u00a8\u0002\u050a\u0513\u0005\u0188\u00c5\u0002\u050b\u0513',
- '\u0005\u0162\u00b2\u0002\u050c\u0513\u0005\u0160\u00b1\u0002\u050d\u0513',
- '\u0005\u0148\u00a5\u0002\u050e\u0513\u0005\u02e2\u0172\u0002\u050f\u0513',
- '\u0005\u0132\u009a\u0002\u0510\u0513\u0005\u0136\u009c\u0002\u0511\u0513',
- '\u0005\u0138\u009d\u0002\u0512\u0504\u0003\u0002\u0002\u0002\u0512\u0505',
- '\u0003\u0002\u0002\u0002\u0512\u0506\u0003\u0002\u0002\u0002\u0512\u0507',
- '\u0003\u0002\u0002\u0002\u0512\u0508\u0003\u0002\u0002\u0002\u0512\u0509',
- '\u0003\u0002\u0002\u0002\u0512\u050a\u0003\u0002\u0002\u0002\u0512\u050b',
- '\u0003\u0002\u0002\u0002\u0512\u050c\u0003\u0002\u0002\u0002\u0512\u050d',
- '\u0003\u0002\u0002\u0002\u0512\u050e\u0003\u0002\u0002\u0002\u0512\u050f',
- '\u0003\u0002\u0002\u0002\u0512\u0510\u0003\u0002\u0002\u0002\u0512\u0511',
- '\u0003\u0002\u0002\u0002\u0513\u0516\u0003\u0002\u0002\u0002\u0514\u0512',
- '\u0003\u0002\u0002\u0002\u0514\u0515\u0003\u0002\u0002\u0002\u0515\u0519',
- '\u0003\u0002\u0002\u0002\u0516\u0514\u0003\u0002\u0002\u0002\u0517\u0518',
- '\u0007\u0019\u0002\u0002\u0518\u051a\u0005\u0220\u0111\u0002\u0519\u0517',
- '\u0003\u0002\u0002\u0002\u0519\u051a\u0003\u0002\u0002\u0002\u051a\u051c',
- '\u0003\u0002\u0002\u0002\u051b\u04ea\u0003\u0002\u0002\u0002\u051b\u0502',
- '\u0003\u0002\u0002\u0002\u051cI\u0003\u0002\u0002\u0002\u051d\u051e',
- '\u0007\u00fd\u0002\u0002\u051e\u051f\u0007(\u0002\u0002\u051f\u0525',
- '\u0005\u00c6d\u0002\u0520\u0521\u0007+\u0002\u0002\u0521\u0522\u0007',
- '\u0175\u0002\u0002\u0522\u0523\u0005\u0190\u00c9\u0002\u0523\u0524\u0007',
- '\u0176\u0002\u0002\u0524\u0526\u0003\u0002\u0002\u0002\u0525\u0520\u0003',
- '\u0002\u0002\u0002\u0525\u0526\u0003\u0002\u0002\u0002\u0526K\u0003',
- '\u0002\u0002\u0002\u0527\u0528\u0007M\u0002\u0002\u0528\u052a\u0007',
- '(\u0002\u0002\u0529\u052b\u0005(\u0015\u0002\u052a\u0529\u0003\u0002',
- '\u0002\u0002\u052a\u052b\u0003\u0002\u0002\u0002\u052b\u052c\u0003\u0002',
- '\u0002\u0002\u052c\u052e\u0005\u029e\u0150\u0002\u052d\u052f\u0007\u00cf',
- '\u0002\u0002\u052e\u052d\u0003\u0002\u0002\u0002\u052e\u052f\u0003\u0002',
- '\u0002\u0002\u052f\u0531\u0003\u0002\u0002\u0002\u0530\u0532\u0005\u0016',
- '\f\u0002\u0531\u0530\u0003\u0002\u0002\u0002\u0531\u0532\u0003\u0002',
- '\u0002\u0002\u0532M\u0003\u0002\u0002\u0002\u0533\u0534\u0007\u017b',
- '\u0002\u0002\u0534\u0535\u0007\u0190\u0002\u0002\u0535O\u0003\u0002',
- '\u0002\u0002\u0536\u0538\u0007\u0190\u0002\u0002\u0537\u0539\u0005N',
- '(\u0002\u0538\u0537\u0003\u0002\u0002\u0002\u0538\u0539\u0003\u0002',
- '\u0002\u0002\u0539Q\u0003\u0002\u0002\u0002\u053a\u053b\u0007G\u0002',
- '\u0002\u053b\u053c\t\u0005\u0002\u0002\u053c\u053e\u0005\u029e\u0150',
- '\u0002\u053d\u053f\u0007\u0019\u0002\u0002\u053e\u053d\u0003\u0002\u0002',
- '\u0002\u053e\u053f\u0003\u0002\u0002\u0002\u053f\u0543\u0003\u0002\u0002',
- '\u0002\u0540\u0541\u0007G\u0002\u0002\u0541\u0542\u0007I\u0002\u0002',
- '\u0542\u0544\u0005\u0350\u01a9\u0002\u0543\u0540\u0003\u0002\u0002\u0002',
- '\u0543\u0544\u0003\u0002\u0002\u0002\u0544\u0545\u0003\u0002\u0002\u0002',
- '\u0545\u0546\u0007\u00a2\u0002\u0002\u0546\u0547\u0007*\u0002\u0002',
- '\u0547\u0548\u0007\u0175\u0002\u0002\u0548\u054d\u0005P)\u0002\u0549',
- '\u054a\u0007\u0173\u0002\u0002\u054a\u054c\u0005P)\u0002\u054b\u0549',
- '\u0003\u0002\u0002\u0002\u054c\u054f\u0003\u0002\u0002\u0002\u054d\u054b',
- '\u0003\u0002\u0002\u0002\u054d\u054e\u0003\u0002\u0002\u0002\u054e\u0550',
- '\u0003\u0002\u0002\u0002\u054f\u054d\u0003\u0002\u0002\u0002\u0550\u0551',
- '\u0007\u0176\u0002\u0002\u0551S\u0003\u0002\u0002\u0002\u0552\u0553',
- '\u0007G\u0002\u0002\u0553\u0554\u0007(\u0002\u0002\u0554\u0555\u0005',
- '\u029e\u0150\u0002\u0555\u0556\u0005V,\u0002\u0556\u056c\u0003\u0002',
- '\u0002\u0002\u0557\u0558\u0007G\u0002\u0002\u0558\u0559\u0007\u00b9',
- '\u0002\u0002\u0559\u055b\u0005\u029e\u0150\u0002\u055a\u055c\u0007\u0019',
- '\u0002\u0002\u055b\u055a\u0003\u0002\u0002\u0002\u055b\u055c\u0003\u0002',
- '\u0002\u0002\u055c\u055d\u0003\u0002\u0002\u0002\u055d\u055e\u0005\\',
- '/\u0002\u055e\u056c\u0003\u0002\u0002\u0002\u055f\u0560\u0007G\u0002',
- '\u0002\u0560\u0561\u0007\u00be\u0002\u0002\u0561\u0562\u0007\u00b9\u0002',
- '\u0002\u0562\u0563\u0005\u029e\u0150\u0002\u0563\u0564\u0005^0\u0002',
- '\u0564\u056c\u0003\u0002\u0002\u0002\u0565\u0566\u0007G\u0002\u0002',
- '\u0566\u0567\t\u0004\u0002\u0002\u0567\u056c\u0005`1\u0002\u0568\u0569',
- '\u0007G\u0002\u0002\u0569\u056a\u0007,\u0002\u0002\u056a\u056c\u0005',
- '\u0092J\u0002\u056b\u0552\u0003\u0002\u0002\u0002\u056b\u0557\u0003',
- '\u0002\u0002\u0002\u056b\u055f\u0003\u0002\u0002\u0002\u056b\u0565\u0003',
- '\u0002\u0002\u0002\u056b\u0568\u0003\u0002\u0002\u0002\u056cU\u0003',
- '\u0002\u0002\u0002\u056d\u057f\u0005h5\u0002\u056e\u057f\u0005\u0086',
- 'D\u0002\u056f\u057f\u0005z>\u0002\u0570\u057f\u0005~@\u0002\u0571\u057f',
- '\u0005\u0080A\u0002\u0572\u057f\u0005\u0082B\u0002\u0573\u057f\u0005',
- '\u0088E\u0002\u0574\u057f\u0005\u00a4S\u0002\u0575\u057f\u0005\u00a6',
- 'T\u0002\u0576\u057f\u0005Z.\u0002\u0577\u057f\u0005p9\u0002\u0578\u057f',
- '\u0005l7\u0002\u0579\u057b\u0005\u0342\u01a2\u0002\u057a\u0579\u0003',
- '\u0002\u0002\u0002\u057a\u057b\u0003\u0002\u0002\u0002\u057b\u057c\u0003',
- '\u0002\u0002\u0002\u057c\u057f\u0005X-\u0002\u057d\u057f\u0005\u00cc',
- 'g\u0002\u057e\u056d\u0003\u0002\u0002\u0002\u057e\u056e\u0003\u0002',
- '\u0002\u0002\u057e\u056f\u0003\u0002\u0002\u0002\u057e\u0570\u0003\u0002',
- '\u0002\u0002\u057e\u0571\u0003\u0002\u0002\u0002\u057e\u0572\u0003\u0002',
- '\u0002\u0002\u057e\u0573\u0003\u0002\u0002\u0002\u057e\u0574\u0003\u0002',
- '\u0002\u0002\u057e\u0575\u0003\u0002\u0002\u0002\u057e\u0576\u0003\u0002',
- '\u0002\u0002\u057e\u0577\u0003\u0002\u0002\u0002\u057e\u0578\u0003\u0002',
- '\u0002\u0002\u057e\u057a\u0003\u0002\u0002\u0002\u057e\u057d\u0003\u0002',
- '\u0002\u0002\u057fW\u0003\u0002\u0002\u0002\u0580\u0590\u0005\u0094',
- 'K\u0002\u0581\u0590\u0005\u00a2R\u0002\u0582\u0590\u0005\u00acW\u0002',
- '\u0583\u0590\u0005\u0090I\u0002\u0584\u0590\u0005\u00a8U\u0002\u0585',
- '\u0590\u0005\u00aeX\u0002\u0586\u0590\u0005\u009aN\u0002\u0587\u0590',
- '\u0005\u0096L\u0002\u0588\u0590\u0005\u00caf\u0002\u0589\u0590\u0005',
- 't;\u0002\u058a\u0590\u0005v<\u0002\u058b\u0590\u0005r:\u0002\u058c\u0590',
- '\u0005j6\u0002\u058d\u0590\u0005n8\u0002\u058e\u0590\u0005\u0098M\u0002',
- '\u058f\u0580\u0003\u0002\u0002\u0002\u058f\u0581\u0003\u0002\u0002\u0002',
- '\u058f\u0582\u0003\u0002\u0002\u0002\u058f\u0583\u0003\u0002\u0002\u0002',
- '\u058f\u0584\u0003\u0002\u0002\u0002\u058f\u0585\u0003\u0002\u0002\u0002',
- '\u058f\u0586\u0003\u0002\u0002\u0002\u058f\u0587\u0003\u0002\u0002\u0002',
- '\u058f\u0588\u0003\u0002\u0002\u0002\u058f\u0589\u0003\u0002\u0002\u0002',
- '\u058f\u058a\u0003\u0002\u0002\u0002\u058f\u058b\u0003\u0002\u0002\u0002',
- '\u058f\u058c\u0003\u0002\u0002\u0002\u058f\u058d\u0003\u0002\u0002\u0002',
- '\u058f\u058e\u0003\u0002\u0002\u0002\u0590Y\u0003\u0002\u0002\u0002',
- '\u0591\u0592\u0007&\u0002\u0002\u0592\u0593\u0007I\u0002\u0002\u0593',
- '\u0594\u0007\u0175\u0002\u0002\u0594\u0595\u0005\u01cc\u00e7\u0002\u0595',
- '\u0596\u0007\u0176\u0002\u0002\u0596[\u0003\u0002\u0002\u0002\u0597',
- '\u059d\u0005\u008aF\u0002\u0598\u059d\u0005h5\u0002\u0599\u059d\u0005',
- 'z>\u0002\u059a\u059d\u0005\u0086D\u0002\u059b\u059d\u0005\u0220\u0111',
- '\u0002\u059c\u0597\u0003\u0002\u0002\u0002\u059c\u0598\u0003\u0002\u0002',
- '\u0002\u059c\u0599\u0003\u0002\u0002\u0002\u059c\u059a\u0003\u0002\u0002',
- '\u0002\u059c\u059b\u0003\u0002\u0002\u0002\u059d]\u0003\u0002\u0002',
- '\u0002\u059e\u05a1\u0005\u008cG\u0002\u059f\u05a1\u0005\u008eH\u0002',
- '\u05a0\u059e\u0003\u0002\u0002\u0002\u05a0\u059f\u0003\u0002\u0002\u0002',
- '\u05a1_\u0003\u0002\u0002\u0002\u05a2\u05a6\u0005b2\u0002\u05a3\u05a6',
- '\u0005d3\u0002\u05a4\u05a6\u0005f4\u0002\u05a5\u05a2\u0003\u0002\u0002',
- '\u0002\u05a5\u05a3\u0003\u0002\u0002\u0002\u05a5\u05a4\u0003\u0002\u0002',
- '\u0002\u05a6a\u0003\u0002\u0002\u0002\u05a7\u05a8\u0005\u0350\u01a9',
- '\u0002\u05a8\u05a9\u0007\u00a2\u0002\u0002\u05a9\u05aa\u0007\u009f\u0002',
- '\u0002\u05aa\u05ab\u0005<\u001f\u0002\u05abc\u0003\u0002\u0002\u0002',
- '\u05ac\u05ad\u0005\u0350\u01a9\u0002\u05ad\u05ae\u0007\u00a2\u0002\u0002',
- '\u05ae\u05af\u0007\u0107\u0002\u0002\u05af\u05b0\u0005\u0110\u0089\u0002',
- '\u05b0e\u0003\u0002\u0002\u0002\u05b1\u05b2\u0005\u0350\u01a9\u0002',
- '\u05b2\u05b3\u0007\u00a2\u0002\u0002\u05b3\u05b4\u0007\u0086\u0002\u0002',
- '\u05b4\u05b5\u0007\u0190\u0002\u0002\u05b5g\u0003\u0002\u0002\u0002',
- '\u05b6\u05b7\u0007N\u0002\u0002\u05b7\u05b8\u0007O\u0002\u0002\u05b8',
- '\u05b9\u0005\u029e\u0150\u0002\u05b9i\u0003\u0002\u0002\u0002\u05ba',
- '\u05bb\t\u0006\u0002\u0002\u05bb\u05bc\u0007+\u0002\u0002\u05bc\u05bd',
- '\u0007\u0175\u0002\u0002\u05bd\u05be\u0005\u018a\u00c6\u0002\u05be\u05c0',
- '\u0007\u0176\u0002\u0002\u05bf\u05c1\u0005*\u0016\u0002\u05c0\u05bf',
- '\u0003\u0002\u0002\u0002\u05c0\u05c1\u0003\u0002\u0002\u0002\u05c1k',
- '\u0003\u0002\u0002\u0002\u05c2\u05c5\u0007\u008d\u0002\u0002\u05c3\u05c6',
- '\u0005\u01b2\u00da\u0002\u05c4\u05c6\u0005\u01a6\u00d4\u0002\u05c5\u05c3',
- '\u0003\u0002\u0002\u0002\u05c5\u05c4\u0003\u0002\u0002\u0002\u05c6m',
- '\u0003\u0002\u0002\u0002\u05c7\u05c8\u0007\u00e9\u0002\u0002\u05c8\u05ca',
- '\u0007+\u0002\u0002\u05c9\u05cb\u0005*\u0016\u0002\u05ca\u05c9\u0003',
- '\u0002\u0002\u0002\u05ca\u05cb\u0003\u0002\u0002\u0002\u05cbo\u0003',
- '\u0002\u0002\u0002\u05cc\u05cd\u0007M\u0002\u0002\u05cd\u05ce\u0007',
- '\u012b\u0002\u0002\u05ce\u05cf\u0005\u0350\u01a9\u0002\u05cfq\u0003',
- '\u0002\u0002\u0002\u05d0\u05d2\u0007H\u0002\u0002\u05d1\u05d3\u0007',
- 'I\u0002\u0002\u05d2\u05d1\u0003\u0002\u0002\u0002\u05d2\u05d3\u0003',
- '\u0002\u0002\u0002\u05d3\u05d4\u0003\u0002\u0002\u0002\u05d4\u05d5\u0005',
- '\u0350\u01a9\u0002\u05d5\u05d6\u0005\u0350\u01a9\u0002\u05d6\u05d8\u0005',
- '\u01fa\u00fe\u0002\u05d7\u05d9\u0005\u01e8\u00f5\u0002\u05d8\u05d7\u0003',
- '\u0002\u0002\u0002\u05d8\u05d9\u0003\u0002\u0002\u0002\u05d9\u05dc\u0003',
- '\u0002\u0002\u0002\u05da\u05db\u0007P\u0002\u0002\u05db\u05dd\u0007',
- '\u0190\u0002\u0002\u05dc\u05da\u0003\u0002\u0002\u0002\u05dc\u05dd\u0003',
- '\u0002\u0002\u0002\u05dd\u05df\u0003\u0002\u0002\u0002\u05de\u05e0\u0005',
- 'x=\u0002\u05df\u05de\u0003\u0002\u0002\u0002\u05df\u05e0\u0003\u0002',
- '\u0002\u0002\u05e0\u05e2\u0003\u0002\u0002\u0002\u05e1\u05e3\u0005*',
- '\u0016\u0002\u05e2\u05e1\u0003\u0002\u0002\u0002\u05e2\u05e3\u0003\u0002',
- '\u0002\u0002\u05e3s\u0003\u0002\u0002\u0002\u05e4\u05e5\u0007\u00e9',
- '\u0002\u0002\u05e5\u05e6\u0007\u00e2\u0002\u0002\u05e6\u05e8\u0007\u00f0',
- '\u0002\u0002\u05e7\u05e9\u0007I\u0002\u0002\u05e8\u05e7\u0003\u0002',
- '\u0002\u0002\u05e8\u05e9\u0003\u0002\u0002\u0002\u05e9\u05ea\u0003\u0002',
- '\u0002\u0002\u05ea\u05eb\u0005\u0350\u01a9\u0002\u05eb\u05ec\u0007\u00a2',
- '\u0002\u0002\u05ec\u05ef\u0005\u0164\u00b3\u0002\u05ed\u05ee\u0007P',
- '\u0002\u0002\u05ee\u05f0\u0007\u0190\u0002\u0002\u05ef\u05ed\u0003\u0002',
- '\u0002\u0002\u05ef\u05f0\u0003\u0002\u0002\u0002\u05f0u\u0003\u0002',
- '\u0002\u0002\u05f1\u05f2\u0007\u00e9\u0002\u0002\u05f2\u05f3\u0007\u00e2',
- '\u0002\u0002\u05f3\u05f4\u0007\u00a2\u0002\u0002\u05f4\u05f5\u0005\u0164',
- '\u00b3\u0002\u05f5w\u0003\u0002\u0002\u0002\u05f6\u05fa\u0007J\u0002',
- '\u0002\u05f7\u05f8\u0007K\u0002\u0002\u05f8\u05fa\u0005\u0350\u01a9',
- '\u0002\u05f9\u05f6\u0003\u0002\u0002\u0002\u05f9\u05f7\u0003\u0002\u0002',
- '\u0002\u05fay\u0003\u0002\u0002\u0002\u05fb\u05fd\u0007\u008d\u0002',
- '\u0002\u05fc\u05fe\u0005,\u0017\u0002\u05fd\u05fc\u0003\u0002\u0002',
- '\u0002\u05fd\u05fe\u0003\u0002\u0002\u0002\u05fe\u0600\u0003\u0002\u0002',
- '\u0002\u05ff\u0601\u0005|?\u0002\u0600\u05ff\u0003\u0002\u0002\u0002',
- '\u0601\u0602\u0003\u0002\u0002\u0002\u0602\u0600\u0003\u0002\u0002\u0002',
- '\u0602\u0603\u0003\u0002\u0002\u0002\u0603{\u0003\u0002\u0002\u0002',
- '\u0604\u0606\u0005\u0342\u01a2\u0002\u0605\u0607\u0005\u0084C\u0002',
- '\u0606\u0605\u0003\u0002\u0002\u0002\u0606\u0607\u0003\u0002\u0002\u0002',
- '\u0607}\u0003\u0002\u0002\u0002\u0608\u060c\u0007\u00de\u0002\u0002',
- '\u0609\u060b\u0005\u0342\u01a2\u0002\u060a\u0609\u0003\u0002\u0002\u0002',
- '\u060b\u060e\u0003\u0002\u0002\u0002\u060c\u060a\u0003\u0002\u0002\u0002',
- '\u060c\u060d\u0003\u0002\u0002\u0002\u060d\u007f\u0003\u0002\u0002\u0002',
- '\u060e\u060c\u0003\u0002\u0002\u0002\u060f\u0613\u0007\u00df\u0002\u0002',
- '\u0610\u0612\u0005\u0342\u01a2\u0002\u0611\u0610\u0003\u0002\u0002\u0002',
- '\u0612\u0615\u0003\u0002\u0002\u0002\u0613\u0611\u0003\u0002\u0002\u0002',
- '\u0613\u0614\u0003\u0002\u0002\u0002\u0614\u0081\u0003\u0002\u0002\u0002',
- '\u0615\u0613\u0003\u0002\u0002\u0002\u0616\u061a\u0007\u00e0\u0002\u0002',
- '\u0617\u0619\u0005\u0342\u01a2\u0002\u0618\u0617\u0003\u0002\u0002\u0002',
- '\u0619\u061c\u0003\u0002\u0002\u0002\u061a\u0618\u0003\u0002\u0002\u0002',
- '\u061a\u061b\u0003\u0002\u0002\u0002\u061b\u0083\u0003\u0002\u0002\u0002',
- '\u061c\u061a\u0003\u0002\u0002\u0002\u061d\u061e\u0007\u0086\u0002\u0002',
- '\u061e\u061f\u0007\u0190\u0002\u0002\u061f\u0085\u0003\u0002\u0002\u0002',
- '\u0620\u0622\u0007M\u0002\u0002\u0621\u0623\u0005(\u0015\u0002\u0622',
- '\u0621\u0003\u0002\u0002\u0002\u0622\u0623\u0003\u0002\u0002\u0002\u0623',
- '\u0624\u0003\u0002\u0002\u0002\u0624\u0629\u0005\u0346\u01a4\u0002\u0625',
- '\u0626\u0007\u0173\u0002\u0002\u0626\u0628\u0005\u0346\u01a4\u0002\u0627',
- '\u0625\u0003\u0002\u0002\u0002\u0628\u062b\u0003\u0002\u0002\u0002\u0629',
- '\u0627\u0003\u0002\u0002\u0002\u0629\u062a\u0003\u0002\u0002\u0002\u062a',
- '\u062d\u0003\u0002\u0002\u0002\u062b\u0629\u0003\u0002\u0002\u0002\u062c',
- '\u062e\u0007\u00cf\u0002\u0002\u062d\u062c\u0003\u0002\u0002\u0002\u062d',
- '\u062e\u0003\u0002\u0002\u0002\u062e\u0630\u0003\u0002\u0002\u0002\u062f',
- '\u0631\u0005\u0016\f\u0002\u0630\u062f\u0003\u0002\u0002\u0002\u0630',
- '\u0631\u0003\u0002\u0002\u0002\u0631\u0087\u0003\u0002\u0002\u0002\u0632',
- '\u0633\u0007\u00a2\u0002\u0002\u0633\u0634\u0007\u00a4\u0002\u0002\u0634',
- '\u063c\u0005\u0164\u00b3\u0002\u0635\u0636\u0007\u00a3\u0002\u0002\u0636',
- '\u0638\u0007\u00a4\u0002\u0002\u0637\u0639\u0005(\u0015\u0002\u0638',
- '\u0637\u0003\u0002\u0002\u0002\u0638\u0639\u0003\u0002\u0002\u0002\u0639',
- '\u063a\u0003\u0002\u0002\u0002\u063a\u063c\u0005\u0164\u00b3\u0002\u063b',
- '\u0632\u0003\u0002\u0002\u0002\u063b\u0635\u0003\u0002\u0002\u0002\u063c',
- '\u0089\u0003\u0002\u0002\u0002\u063d\u063e\u0007\u00a2\u0002\u0002\u063e',
- '\u063f\u0007\u00a4\u0002\u0002\u063f\u0647\u0005\u0164\u00b3\u0002\u0640',
- '\u0641\u0007\u00a3\u0002\u0002\u0641\u0643\u0007\u00a4\u0002\u0002\u0642',
- '\u0644\u0005(\u0015\u0002\u0643\u0642\u0003\u0002\u0002\u0002\u0643',
- '\u0644\u0003\u0002\u0002\u0002\u0644\u0645\u0003\u0002\u0002\u0002\u0645',
- '\u0647\u0005\u0164\u00b3\u0002\u0646\u063d\u0003\u0002\u0002\u0002\u0646',
- '\u0640\u0003\u0002\u0002\u0002\u0647\u008b\u0003\u0002\u0002\u0002\u0648',
- '\u064b\u0005.\u0018\u0002\u0649\u064b\u00050\u0019\u0002\u064a\u0648',
- '\u0003\u0002\u0002\u0002\u064a\u0649\u0003\u0002\u0002\u0002\u064b\u008d',
- '\u0003\u0002\u0002\u0002\u064c\u064d\u0007.\u0002\u0002\u064d\u008f',
- '\u0003\u0002\u0002\u0002\u064e\u064f\u0007\u00a2\u0002\u0002\u064f\u0650',
- '\u0007\u009b\u0002\u0002\u0650\u0654\u0007\u0190\u0002\u0002\u0651\u0652',
- '\u0007\u009c\u0002\u0002\u0652\u0653\u0007\u009e\u0002\u0002\u0653\u0655',
- '\u0005\u0164\u00b3\u0002\u0654\u0651\u0003\u0002\u0002\u0002\u0654\u0655',
- '\u0003\u0002\u0002\u0002\u0655\u065a\u0003\u0002\u0002\u0002\u0656\u0657',
- '\u0007\u00a2\u0002\u0002\u0657\u0658\u0007\u009e\u0002\u0002\u0658\u065a',
- '\u0005\u0164\u00b3\u0002\u0659\u064e\u0003\u0002\u0002\u0002\u0659\u0656',
- '\u0003\u0002\u0002\u0002\u065a\u0091\u0003\u0002\u0002\u0002\u065b\u065c',
- '\u0005\u0350\u01a9\u0002\u065c\u065d\u0007%\u0002\u0002\u065d\u065f',
- '\u0005\u029e\u0150\u0002\u065e\u0660\u0005\u0342\u01a2\u0002\u065f\u065e',
- '\u0003\u0002\u0002\u0002\u065f\u0660\u0003\u0002\u0002\u0002\u0660\u0661',
- '\u0003\u0002\u0002\u0002\u0661\u0662\u0007.\u0002\u0002\u0662\u0093',
- '\u0003\u0002\u0002\u0002\u0663\u0664\u0007\u00a2\u0002\u0002\u0664\u0665',
- '\u0007\u007f\u0002\u0002\u0665\u0666\u0005\u00ceh\u0002\u0666\u0095',
- '\u0003\u0002\u0002\u0002\u0667\u0668\u0007\n\u0002\u0002\u0668\u066d',
- '\u0007m\u0002\u0002\u0669\u066a\u0007\n\u0002\u0002\u066a\u066d\u0007',
- 'n\u0002\u0002\u066b\u066d\u0005\u0150\u00a9\u0002\u066c\u0667\u0003',
- '\u0002\u0002\u0002\u066c\u0669\u0003\u0002\u0002\u0002\u066c\u066b\u0003',
- '\u0002\u0002\u0002\u066d\u0097\u0003\u0002\u0002\u0002\u066e\u0673\u0005',
- '\u02e2\u0172\u0002\u066f\u0670\u00077\u0002\u0002\u0670\u0671\u0007',
- '\u0015\u0002\u0002\u0671\u0673\u0007\u0007\u0002\u0002\u0672\u066e\u0003',
- '\u0002\u0002\u0002\u0672\u066f\u0003\u0002\u0002\u0002\u0673\u0099\u0003',
- '\u0002\u0002\u0002\u0674\u0675\u0007\u00a2\u0002\u0002\u0675\u0676\u0007',
- '\u00ec\u0002\u0002\u0676\u0677\u0007\u0086\u0002\u0002\u0677\u0678\u0005',
- '\u009cO\u0002\u0678\u009b\u0003\u0002\u0002\u0002\u0679\u067a\u0007',
- '\u0175\u0002\u0002\u067a\u067b\u0005\u009eP\u0002\u067b\u067c\u0007',
- '\u0176\u0002\u0002\u067c\u009d\u0003\u0002\u0002\u0002\u067d\u0682\u0005',
- '\u00a0Q\u0002\u067e\u067f\u0007\u0173\u0002\u0002\u067f\u0681\u0005',
- '\u00a0Q\u0002\u0680\u067e\u0003\u0002\u0002\u0002\u0681\u0684\u0003',
- '\u0002\u0002\u0002\u0682\u0680\u0003\u0002\u0002\u0002\u0682\u0683\u0003',
- '\u0002\u0002\u0002\u0683\u009f\u0003\u0002\u0002\u0002\u0684\u0682\u0003',
- '\u0002\u0002\u0002\u0685\u0686\u0005\u01be\u00e0\u0002\u0686\u0687\u0007',
- '\u017b\u0002\u0002\u0687\u0688\u0007\u0190\u0002\u0002\u0688\u00a1\u0003',
- '\u0002\u0002\u0002\u0689\u068a\u0007\u00a2\u0002\u0002\u068a\u068b\u0007',
- '\u0086\u0002\u0002\u068b\u068c\u0007\u0190\u0002\u0002\u068c\u00a3\u0003',
- '\u0002\u0002\u0002\u068d\u0693\u0005\u0152\u00aa\u0002\u068e\u068f\u0007',
- '\n\u0002\u0002\u068f\u0693\u0007\u00ec\u0002\u0002\u0690\u0691\u0007',
- '\n\u0002\u0002\u0691\u0693\u00052\u001a\u0002\u0692\u068d\u0003\u0002',
- '\u0002\u0002\u0692\u068e\u0003\u0002\u0002\u0002\u0692\u0690\u0003\u0002',
- '\u0002\u0002\u0693\u00a5\u0003\u0002\u0002\u0002\u0694\u0695\u0007\u0103',
- '\u0002\u0002\u0695\u0696\u0005\u0342\u01a2\u0002\u0696\u0697\u0007\u009c',
- '\u0002\u0002\u0697\u0698\u0007(\u0002\u0002\u0698\u0699\u0005\u029e',
- '\u0150\u0002\u0699\u00a7\u0003\u0002\u0002\u0002\u069a\u069b\u0007N',
- '\u0002\u0002\u069b\u069c\u0007O\u0002\u0002\u069c\u069d\u0005\u0342',
- '\u01a2\u0002\u069d\u00a9\u0003\u0002\u0002\u0002\u069e\u069f\u0007\u00e9',
- '\u0002\u0002\u069f\u06a0\u0007\u00e2\u0002\u0002\u06a0\u06a2\u0007\u00f0',
- '\u0002\u0002\u06a1\u06a3\u0007I\u0002\u0002\u06a2\u06a1\u0003\u0002',
- '\u0002\u0002\u06a2\u06a3\u0003\u0002\u0002\u0002\u06a3\u06a4\u0003\u0002',
- '\u0002\u0002\u06a4\u06a5\u0005\u0350\u01a9\u0002\u06a5\u06a6\u0007\u00a2',
- '\u0002\u0002\u06a6\u06a9\u0005\u0164\u00b3\u0002\u06a7\u06a8\u0007P',
- '\u0002\u0002\u06a8\u06aa\u0007\u0190\u0002\u0002\u06a9\u06a7\u0003\u0002',
- '\u0002\u0002\u06a9\u06aa\u0003\u0002\u0002\u0002\u06aa\u00ab\u0003\u0002',
- '\u0002\u0002\u06ab\u06ac\u0007\u00e6\u0002\u0002\u06ac\u00ad\u0003\u0002',
- '\u0002\u0002\u06ad\u06ae\u0007o\u0002\u0002\u06ae\u06af\u0007\u0195',
- '\u0002\u0002\u06af\u06b0\u0007p\u0002\u0002\u06b0\u00af\u0003\u0002',
- '\u0002\u0002\u06b1\u06b5\u0005\u00b2Z\u0002\u06b2\u06b3\u0007\u009c',
- '\u0002\u0002\u06b3\u06b4\u0007\u009d\u0002\u0002\u06b4\u06b6\u0007.',
- '\u0002\u0002\u06b5\u06b2\u0003\u0002\u0002\u0002\u06b5\u06b6\u0003\u0002',
- '\u0002\u0002\u06b6\u06b9\u0003\u0002\u0002\u0002\u06b7\u06b8\u0007\u00a5',
- '\u0002\u0002\u06b8\u06ba\u0005\u0164\u00b3\u0002\u06b9\u06b7\u0003\u0002',
- '\u0002\u0002\u06b9\u06ba\u0003\u0002\u0002\u0002\u06ba\u06be\u0003\u0002',
- '\u0002\u0002\u06bb\u06bc\u0007\u00bb\u0002\u0002\u06bc\u06bd\u0007(',
- '\u0002\u0002\u06bd\u06bf\u0005\u029e\u0150\u0002\u06be\u06bb\u0003\u0002',
- '\u0002\u0002\u06be\u06bf\u0003\u0002\u0002\u0002\u06bf\u06c3\u0003\u0002',
- '\u0002\u0002\u06c0\u06c1\u0007l\u0002\u0002\u06c1\u06c2\u0007\u0015',
- '\u0002\u0002\u06c2\u06c4\u0005\u0198\u00cd\u0002\u06c3\u06c0\u0003\u0002',
- '\u0002\u0002\u06c3\u06c4\u0003\u0002\u0002\u0002\u06c4\u06c9\u0003\u0002',
- '\u0002\u0002\u06c5\u06c7\u0005\u015e\u00b0\u0002\u06c6\u06c5\u0003\u0002',
- '\u0002\u0002\u06c6\u06c7\u0003\u0002\u0002\u0002\u06c7\u06c8\u0003\u0002',
- '\u0002\u0002\u06c8\u06ca\u0005\u017a\u00be\u0002\u06c9\u06c6\u0003\u0002',
- '\u0002\u0002\u06c9\u06ca\u0003\u0002\u0002\u0002\u06ca\u06cd\u0003\u0002',
- '\u0002\u0002\u06cb\u06cc\u0007\u0086\u0002\u0002\u06cc\u06ce\u0005\u0380',
- '\u01c1\u0002\u06cd\u06cb\u0003\u0002\u0002\u0002\u06cd\u06ce\u0003\u0002',
- '\u0002\u0002\u06ce\u06d0\u0003\u0002\u0002\u0002\u06cf\u06d1\u0005\u0162',
- '\u00b2\u0002\u06d0\u06cf\u0003\u0002\u0002\u0002\u06d0\u06d1\u0003\u0002',
- '\u0002\u0002\u06d1\u06d3\u0003\u0002\u0002\u0002\u06d2\u06d4\u0005\u0148',
- '\u00a5\u0002\u06d3\u06d2\u0003\u0002\u0002\u0002\u06d3\u06d4\u0003\u0002',
- '\u0002\u0002\u06d4\u00b1\u0003\u0002\u0002\u0002\u06d5\u06d6\u0007E',
- '\u0002\u0002\u06d6\u06d7\u0007,\u0002\u0002\u06d7\u06d8\u0005\u0350',
- '\u01a9\u0002\u06d8\u06d9\u0007%\u0002\u0002\u06d9\u06da\u0007(\u0002',
- '\u0002\u06da\u06db\u0005\u029e\u0150\u0002\u06db\u06dc\u0005\u0198\u00cd',
- '\u0002\u06dc\u06dd\u0007\u0019\u0002\u0002\u06dd\u06de\u0007\u0190\u0002',
- '\u0002\u06de\u00b3\u0003\u0002\u0002\u0002\u06df\u06e0\u0007M\u0002',
- '\u0002\u06e0\u06e1\u0007,\u0002\u0002\u06e1\u06e2\u0005\u0350\u01a9',
- '\u0002\u06e2\u06e3\u0007%\u0002\u0002\u06e3\u06e4\u0005\u029e\u0150',
- '\u0002\u06e4\u00b5\u0003\u0002\u0002\u0002\u06e5\u06e9\u0005\u00b8]',
- '\u0002\u06e6\u06e7\u0007\u00f0\u0002\u0002\u06e7\u06e8\u0007+\u0002',
- '\u0002\u06e8\u06ea\u0005\u00ba^\u0002\u06e9\u06e6\u0003\u0002\u0002',
- '\u0002\u06e9\u06ea\u0003\u0002\u0002\u0002\u06ea\u06ec\u0003\u0002\u0002',
- '\u0002\u06eb\u06ed\u0005\u00c0a\u0002\u06ec\u06eb\u0003\u0002\u0002',
- '\u0002\u06ec\u06ed\u0003\u0002\u0002\u0002\u06ed\u00b7\u0003\u0002\u0002',
- '\u0002\u06ee\u06ef\u0007E\u0002\u0002\u06ef\u06f0\u0007\u0160\u0002',
- '\u0002\u06f0\u06f1\u0007,\u0002\u0002\u06f1\u06f3\u0007%\u0002\u0002',
- '\u06f2\u06f4\u0007(\u0002\u0002\u06f3\u06f2\u0003\u0002\u0002\u0002',
- '\u06f3\u06f4\u0003\u0002\u0002\u0002\u06f4\u06f5\u0003\u0002\u0002\u0002',
- '\u06f5\u06f6\u0005\u029e\u0150\u0002\u06f6\u00b9\u0003\u0002\u0002\u0002',
- '\u06f7\u06f8\u0007\u0175\u0002\u0002\u06f8\u06f9\u0005\u00bc_\u0002',
- '\u06f9\u06fa\u0007\u0176\u0002\u0002\u06fa\u00bb\u0003\u0002\u0002\u0002',
- '\u06fb\u0700\u0005\u00be`\u0002\u06fc\u06fd\u0007\u0173\u0002\u0002',
- '\u06fd\u06ff\u0005\u00be`\u0002\u06fe\u06fc\u0003\u0002\u0002\u0002',
- '\u06ff\u0702\u0003\u0002\u0002\u0002\u0700\u06fe\u0003\u0002\u0002\u0002',
- '\u0700\u0701\u0003\u0002\u0002\u0002\u0701\u00bd\u0003\u0002\u0002\u0002',
- '\u0702\u0700\u0003\u0002\u0002\u0002\u0703\u0705\u0005\u0350\u01a9\u0002',
- '\u0704\u0706\u0005\u00c0a\u0002\u0705\u0704\u0003\u0002\u0002\u0002',
- '\u0705\u0706\u0003\u0002\u0002\u0002\u0706\u00bf\u0003\u0002\u0002\u0002',
- '\u0707\u0708\u0007\u00e4\u0002\u0002\u0708\u0709\u0005\u0164\u00b3\u0002',
- '\u0709\u00c1\u0003\u0002\u0002\u0002\u070a\u070e\u0005\u00c4c\u0002',
- '\u070b\u070c\u0007\u00f0\u0002\u0002\u070c\u070d\u0007+\u0002\u0002',
- '\u070d\u070f\u0005\u00ba^\u0002\u070e\u070b\u0003\u0002\u0002\u0002',
- '\u070e\u070f\u0003\u0002\u0002\u0002\u070f\u00c3\u0003\u0002\u0002\u0002',
- '\u0710\u0711\u0007M\u0002\u0002\u0711\u0712\u0007\u0160\u0002\u0002',
- '\u0712\u0713\u0007,\u0002\u0002\u0713\u0715\u0007%\u0002\u0002\u0714',
- '\u0716\u0007(\u0002\u0002\u0715\u0714\u0003\u0002\u0002\u0002\u0715',
- '\u0716\u0003\u0002\u0002\u0002\u0716\u0717\u0003\u0002\u0002\u0002\u0717',
- '\u0718\u0005\u029e\u0150\u0002\u0718\u00c5\u0003\u0002\u0002\u0002\u0719',
- '\u071b\u0005\u029e\u0150\u0002\u071a\u071c\u0005\u0342\u01a2\u0002\u071b',
- '\u071a\u0003\u0002\u0002\u0002\u071b\u071c\u0003\u0002\u0002\u0002\u071c',
- '\u00c7\u0003\u0002\u0002\u0002\u071d\u071e\u0007\b\u0002\u0002\u071e',
- '\u071f\u0007\u0140\u0002\u0002\u071f\u00c9\u0003\u0002\u0002\u0002\u0720',
- '\u0721\u0007\u0109\u0002\u0002\u0721\u0723\u0007\u0190\u0002\u0002\u0722',
- '\u0724\u0005\u00c8e\u0002\u0723\u0722\u0003\u0002\u0002\u0002\u0723',
- '\u0724\u0003\u0002\u0002\u0002\u0724\u0729\u0003\u0002\u0002\u0002\u0725',
- '\u0726\u0007\u009c\u0002\u0002\u0726\u0727\u0007\u001d\u0002\u0002\u0727',
- '\u0728\u0007\u00a4\u0002\u0002\u0728\u072a\u0005\u0164\u00b3\u0002\u0729',
- '\u0725\u0003\u0002\u0002\u0002\u0729\u072a\u0003\u0002\u0002\u0002\u072a',
- '\u00cb\u0003\u0002\u0002\u0002\u072b\u072c\u0007\u00a2\u0002\u0002\u072c',
- '\u072d\u0007\u0107\u0002\u0002\u072d\u072e\u0005\u0110\u0089\u0002\u072e',
- '\u00cd\u0003\u0002\u0002\u0002\u072f\u0730\u0007\u0080\u0002\u0002\u0730',
- '\u0731\u0007\u0190\u0002\u0002\u0731\u0732\u0007\u0081\u0002\u0002\u0732',
- '\u0733\u0007\u0190\u0002\u0002\u0733\u0734\u0007\u009b\u0002\u0002\u0734',
- '\u0739\u0007\u0190\u0002\u0002\u0735\u0736\u0007\u0082\u0002\u0002\u0736',
- '\u0737\u0007\u0190\u0002\u0002\u0737\u0738\u0007\u0083\u0002\u0002\u0738',
- '\u073a\u0007\u0190\u0002\u0002\u0739\u0735\u0003\u0002\u0002\u0002\u0739',
- '\u073a\u0003\u0002\u0002\u0002\u073a\u073d\u0003\u0002\u0002\u0002\u073b',
- '\u073d\u0005\u0180\u00c1\u0002\u073c\u072f\u0003\u0002\u0002\u0002\u073c',
- '\u073b\u0003\u0002\u0002\u0002\u073d\u00cf\u0003\u0002\u0002\u0002\u073e',
- '\u073f\u0007\u0080\u0002\u0002\u073f\u0740\u0007\u0190\u0002\u0002\u0740',
- '\u0741\u0007\u009b\u0002\u0002\u0741\u0742\u0007\u0190\u0002\u0002\u0742',
- '\u00d1\u0003\u0002\u0002\u0002\u0743\u0746\u0005\u0350\u01a9\u0002\u0744',
- '\u0745\u0007\u0171\u0002\u0002\u0745\u0747\u0005\u0350\u01a9\u0002\u0746',
- '\u0744\u0003\u0002\u0002\u0002\u0746\u0747\u0003\u0002\u0002\u0002\u0747',
- '\u0755\u0003\u0002\u0002\u0002\u0748\u0752\u0005\u0350\u01a9\u0002\u0749',
- '\u074e\u0007\u0171\u0002\u0002\u074a\u074f\u0007\u00a7\u0002\u0002\u074b',
- '\u074f\u0007{\u0002\u0002\u074c\u074f\u0007\u00a6\u0002\u0002\u074d',
- '\u074f\u0005\u0350\u01a9\u0002\u074e\u074a\u0003\u0002\u0002\u0002\u074e',
- '\u074b\u0003\u0002\u0002\u0002\u074e\u074c\u0003\u0002\u0002\u0002\u074e',
- '\u074d\u0003\u0002\u0002\u0002\u074f\u0751\u0003\u0002\u0002\u0002\u0750',
- '\u0749\u0003\u0002\u0002\u0002\u0751\u0754\u0003\u0002\u0002\u0002\u0752',
- '\u0750\u0003\u0002\u0002\u0002\u0752\u0753\u0003\u0002\u0002\u0002\u0753',
- '\u0756\u0003\u0002\u0002\u0002\u0754\u0752\u0003\u0002\u0002\u0002\u0755',
- '\u0748\u0003\u0002\u0002\u0002\u0755\u0756\u0003\u0002\u0002\u0002\u0756',
- '\u00d3\u0003\u0002\u0002\u0002\u0757\u0759\u0005\u00d2j\u0002\u0758',
- '\u075a\u0005\u0342\u01a2\u0002\u0759\u0758\u0003\u0002\u0002\u0002\u0759',
- '\u075a\u0003\u0002\u0002\u0002\u075a\u00d5\u0003\u0002\u0002\u0002\u075b',
- '\u075d\u0005\u029e\u0150\u0002\u075c\u075e\u0005\u0342\u01a2\u0002\u075d',
- '\u075c\u0003\u0002\u0002\u0002\u075d\u075e\u0003\u0002\u0002\u0002\u075e',
- '\u0760\u0003\u0002\u0002\u0002\u075f\u0761\u0005\u0194\u00cb\u0002\u0760',
- '\u075f\u0003\u0002\u0002\u0002\u0760\u0761\u0003\u0002\u0002\u0002\u0761',
- '\u00d7\u0003\u0002\u0002\u0002\u0762\u0770\t\u0007\u0002\u0002\u0763',
- '\u0765\t\u0004\u0002\u0002\u0764\u0766\u0007\u0097\u0002\u0002\u0765',
- '\u0764\u0003\u0002\u0002\u0002\u0765\u0766\u0003\u0002\u0002\u0002\u0766',
- '\u0767\u0003\u0002\u0002\u0002\u0767\u0771\u0005\u0350\u01a9\u0002\u0768',
- '\u076a\u0007\u0092\u0002\u0002\u0769\u076b\u0007\u0097\u0002\u0002\u076a',
- '\u0769\u0003\u0002\u0002\u0002\u076a\u076b\u0003\u0002\u0002\u0002\u076b',
- '\u076c\u0003\u0002\u0002\u0002\u076c\u0771\u0005\u034e\u01a8\u0002\u076d',
- '\u076e\t\b\u0002\u0002\u076e\u0771\u0005\u00d6l\u0002\u076f\u0771\u0005',
- '\u00d6l\u0002\u0770\u0763\u0003\u0002\u0002\u0002\u0770\u0768\u0003',
- '\u0002\u0002\u0002\u0770\u076d\u0003\u0002\u0002\u0002\u0770\u076f\u0003',
- '\u0002\u0002\u0002\u0771\u00d9\u0003\u0002\u0002\u0002\u0772\u0773\u0007',
- '\u00d1\u0002\u0002\u0773\u0774\u0007(\u0002\u0002\u0774\u0781\u0005',
- '\u0340\u01a1\u0002\u0775\u0776\u0007\u00e1\u0002\u0002\u0776\u077d\u0007',
- '\u00e2\u0002\u0002\u0777\u077e\u0007\u00fe\u0002\u0002\u0778\u0779\u0007',
- '\u00f0\u0002\u0002\u0779\u077b\u0007+\u0002\u0002\u077a\u077c\u0005',
- '\u0190\u00c9\u0002\u077b\u077a\u0003\u0002\u0002\u0002\u077b\u077c\u0003',
- '\u0002\u0002\u0002\u077c\u077e\u0003\u0002\u0002\u0002\u077d\u0777\u0003',
- '\u0002\u0002\u0002\u077d\u0778\u0003\u0002\u0002\u0002\u077d\u077e\u0003',
- '\u0002\u0002\u0002\u077e\u0782\u0003\u0002\u0002\u0002\u077f\u0780\u0007',
- '\u0127\u0002\u0002\u0780\u0782\u0007@\u0002\u0002\u0781\u0775\u0003',
- '\u0002\u0002\u0002\u0781\u077f\u0003\u0002\u0002\u0002\u0782\u00db\u0003',
- '\u0002\u0002\u0002\u0783\u0784\u00070\u0002\u0002\u0784\u0787\t\t\u0002',
- '\u0002\u0785\u0786\u0007\u000b\u0002\u0002\u0786\u0788\u0005\u0146\u00a4',
- '\u0002\u0787\u0785\u0003\u0002\u0002\u0002\u0787\u0788\u0003\u0002\u0002',
- '\u0002\u0788\u07ff\u0003\u0002\u0002\u0002\u0789\u078a\u00070\u0002',
- '\u0002\u078a\u078d\u0007)\u0002\u0002\u078b\u078c\t\n\u0002\u0002\u078c',
- '\u078e\u0005\u0350\u01a9\u0002\u078d\u078b\u0003\u0002\u0002\u0002\u078d',
- '\u078e\u0003\u0002\u0002\u0002\u078e\u0792\u0003\u0002\u0002\u0002\u078f',
- '\u0790\u0007\u000b\u0002\u0002\u0790\u0793\u0005\u0146\u00a4\u0002\u0791',
- '\u0793\u0005\u0146\u00a4\u0002\u0792\u078f\u0003\u0002\u0002\u0002\u0792',
- '\u0791\u0003\u0002\u0002\u0002\u0792\u0793\u0003\u0002\u0002\u0002\u0793',
- '\u07ff\u0003\u0002\u0002\u0002\u0794\u0795\u00070\u0002\u0002\u0795',
- '\u0798\u0007\u00ba\u0002\u0002\u0796\u0797\t\n\u0002\u0002\u0797\u0799',
- '\u0005\u0350\u01a9\u0002\u0798\u0796\u0003\u0002\u0002\u0002\u0798\u0799',
- '\u0003\u0002\u0002\u0002\u0799\u079d\u0003\u0002\u0002\u0002\u079a\u079b',
- '\u0007\u000b\u0002\u0002\u079b\u079e\u0005\u0146\u00a4\u0002\u079c\u079e',
- '\u0005\u0146\u00a4\u0002\u079d\u079a\u0003\u0002\u0002\u0002\u079d\u079c',
- '\u0003\u0002\u0002\u0002\u079d\u079e\u0003\u0002\u0002\u0002\u079e\u07ff',
- '\u0003\u0002\u0002\u0002\u079f\u07a0\u00070\u0002\u0002\u07a0\u07a1',
- '\u0007\u00be\u0002\u0002\u07a1\u07a4\u0007\u00ba\u0002\u0002\u07a2\u07a3',
- '\t\n\u0002\u0002\u07a3\u07a5\u0005\u0350\u01a9\u0002\u07a4\u07a2\u0003',
- '\u0002\u0002\u0002\u07a4\u07a5\u0003\u0002\u0002\u0002\u07a5\u07a9\u0003',
- '\u0002\u0002\u0002\u07a6\u07a7\u0007\u000b\u0002\u0002\u07a7\u07aa\u0005',
- '\u0146\u00a4\u0002\u07a8\u07aa\u0005\u0146\u00a4\u0002\u07a9\u07a6\u0003',
- '\u0002\u0002\u0002\u07a9\u07a8\u0003\u0002\u0002\u0002\u07a9\u07aa\u0003',
- '\u0002\u0002\u0002\u07aa\u07ff\u0003\u0002\u0002\u0002\u07ab\u07ac\u0007',
- '0\u0002\u0002\u07ac\u07ad\u0007+\u0002\u0002\u07ad\u07ae\t\n\u0002\u0002',
- '\u07ae\u07b1\u0005\u029e\u0150\u0002\u07af\u07b0\t\n\u0002\u0002\u07b0',
- '\u07b2\u0005\u0350\u01a9\u0002\u07b1\u07af\u0003\u0002\u0002\u0002\u07b1',
- '\u07b2\u0003\u0002\u0002\u0002\u07b2\u07b6\u0003\u0002\u0002\u0002\u07b3',
- '\u07b4\u0007\u000b\u0002\u0002\u07b4\u07b7\u0005\u0146\u00a4\u0002\u07b5',
- '\u07b7\u0005\u0146\u00a4\u0002\u07b6\u07b3\u0003\u0002\u0002\u0002\u07b6',
- '\u07b5\u0003\u0002\u0002\u0002\u07b6\u07b7\u0003\u0002\u0002\u0002\u07b7',
- '\u07ff\u0003\u0002\u0002\u0002\u07b8\u07b9\u00070\u0002\u0002\u07b9',
- '\u07bd\u0007/\u0002\u0002\u07ba\u07bb\u0007\u000b\u0002\u0002\u07bb',
- '\u07be\u0005\u0144\u00a3\u0002\u07bc\u07be\u0005\u0144\u00a3\u0002\u07bd',
- '\u07ba\u0003\u0002\u0002\u0002\u07bd\u07bc\u0003\u0002\u0002\u0002\u07bd',
- '\u07be\u0003\u0002\u0002\u0002\u07be\u07ff\u0003\u0002\u0002\u0002\u07bf',
- "\u07c0\u00070\u0002\u0002\u07c0\u07c1\u0007\'\u0002\u0002\u07c1\u07c3",
- '\u0005\u029e\u0150\u0002\u07c2\u07c4\u0005\u0342\u01a2\u0002\u07c3\u07c2',
- '\u0003\u0002\u0002\u0002\u07c3\u07c4\u0003\u0002\u0002\u0002\u07c4\u07ff',
- '\u0003\u0002\u0002\u0002\u07c5\u07c6\u00070\u0002\u0002\u07c6\u07cb',
- '\u0007E\u0002\u0002\u07c7\u07c8\t\u0004\u0002\u0002\u07c8\u07cc\u0005',
- '\u0350\u01a9\u0002\u07c9\u07ca\u0007(\u0002\u0002\u07ca\u07cc\u0005',
- '\u029e\u0150\u0002\u07cb\u07c7\u0003\u0002\u0002\u0002\u07cb\u07c9\u0003',
- '\u0002\u0002\u0002\u07cc\u07ff\u0003\u0002\u0002\u0002\u07cd\u07ce\u0007',
- '0\u0002\u0002\u07ce\u07cf\u0007(\u0002\u0002\u07cf\u07d2\u0007\u0097',
- '\u0002\u0002\u07d0\u07d1\t\n\u0002\u0002\u07d1\u07d3\u0005\u0350\u01a9',
- '\u0002\u07d2\u07d0\u0003\u0002\u0002\u0002\u07d2\u07d3\u0003\u0002\u0002',
- '\u0002\u07d3\u07d4\u0003\u0002\u0002\u0002\u07d4\u07d5\u0007\u000b\u0002',
- '\u0002\u07d5\u07d7\u0005\u0146\u00a4\u0002\u07d6\u07d8\u0005\u0342\u01a2',
- '\u0002\u07d7\u07d6\u0003\u0002\u0002\u0002\u07d7\u07d8\u0003\u0002\u0002',
- '\u0002\u07d8\u07ff\u0003\u0002\u0002\u0002\u07d9\u07da\u00070\u0002',
- '\u0002\u07da\u07db\u0007\u00a4\u0002\u0002\u07db\u07df\u0005\u029e\u0150',
- '\u0002\u07dc\u07dd\u0007\u0175\u0002\u0002\u07dd\u07de\u0007\u0190\u0002',
- '\u0002\u07de\u07e0\u0007\u0176\u0002\u0002\u07df\u07dc\u0003\u0002\u0002',
- '\u0002\u07df\u07e0\u0003\u0002\u0002\u0002\u07e0\u07ff\u0003\u0002\u0002',
- '\u0002\u07e1\u07e2\u00070\u0002\u0002\u07e2\u07ee\u0007\u00c6\u0002',
- '\u0002\u07e3\u07e4\t\u0004\u0002\u0002\u07e4\u07e6\u0005\u0350\u01a9',
- '\u0002\u07e5\u07e7\u0007\u0097\u0002\u0002\u07e6\u07e5\u0003\u0002\u0002',
- '\u0002\u07e6\u07e7\u0003\u0002\u0002\u0002\u07e7\u07ef\u0003\u0002\u0002',
- '\u0002\u07e8\u07ea\u0005\u00d4k\u0002\u07e9\u07e8\u0003\u0002\u0002',
- '\u0002\u07e9\u07ea\u0003\u0002\u0002\u0002\u07ea\u07ec\u0003\u0002\u0002',
- '\u0002\u07eb\u07ed\u0007\u0097\u0002\u0002\u07ec\u07eb\u0003\u0002\u0002',
- '\u0002\u07ec\u07ed\u0003\u0002\u0002\u0002\u07ed\u07ef\u0003\u0002\u0002',
- '\u0002\u07ee\u07e3\u0003\u0002\u0002\u0002\u07ee\u07e9\u0003\u0002\u0002',
- '\u0002\u07ef\u07ff\u0003\u0002\u0002\u0002\u07f0\u07f1\u00070\u0002',
- '\u0002\u07f1\u07ff\u0007\u010a\u0002\u0002\u07f2\u07f3\u00070\u0002',
- '\u0002\u07f3\u07ff\u0007\u010b\u0002\u0002\u07f4\u07f5\u00070\u0002',
- '\u0002\u07f5\u07f6\u0007\u010f\u0002\u0002\u07f6\u07ff\u0007\u0190\u0002',
- '\u0002\u07f7\u07f8\u00070\u0002\u0002\u07f8\u07fc\u0007\u0141\u0002',
- '\u0002\u07f9\u07fa\u0007\u0142\u0002\u0002\u07fa\u07fd\u0005\u0350\u01a9',
- '\u0002\u07fb\u07fd\u0007\u0144\u0002\u0002\u07fc\u07f9\u0003\u0002\u0002',
- '\u0002\u07fc\u07fb\u0003\u0002\u0002\u0002\u07fd\u07ff\u0003\u0002\u0002',
- '\u0002\u07fe\u0783\u0003\u0002\u0002\u0002\u07fe\u0789\u0003\u0002\u0002',
- '\u0002\u07fe\u0794\u0003\u0002\u0002\u0002\u07fe\u079f\u0003\u0002\u0002',
- '\u0002\u07fe\u07ab\u0003\u0002\u0002\u0002\u07fe\u07b8\u0003\u0002\u0002',
- '\u0002\u07fe\u07bf\u0003\u0002\u0002\u0002\u07fe\u07c5\u0003\u0002\u0002',
- '\u0002\u07fe\u07cd\u0003\u0002\u0002\u0002\u07fe\u07d9\u0003\u0002\u0002',
- '\u0002\u07fe\u07e1\u0003\u0002\u0002\u0002\u07fe\u07f0\u0003\u0002\u0002',
- '\u0002\u07fe\u07f2\u0003\u0002\u0002\u0002\u07fe\u07f4\u0003\u0002\u0002',
- '\u0002\u07fe\u07f7\u0003\u0002\u0002\u0002\u07ff\u00dd\u0003\u0002\u0002',
- '\u0002\u0800\u0801\u0007\u00c5\u0002\u0002\u0801\u0802\u0007(\u0002',
- '\u0002\u0802\u0804\u0005\u029e\u0150\u0002\u0803\u0805\u0005\u0342\u01a2',
- '\u0002\u0804\u0803\u0003\u0002\u0002\u0002\u0804\u0805\u0003\u0002\u0002',
- '\u0002\u0805\u0806\u0003\u0002\u0002\u0002\u0806\u0807\u0005\u00e2r',
- '\u0002\u0807\u00df\u0003\u0002\u0002\u0002\u0808\u0809\u0007\u00c5\u0002',
- '\u0002\u0809\u080a\t\u0004\u0002\u0002\u080a\u080b\u0005\u0350\u01a9',
- '\u0002\u080b\u080c\u0005\u00e2r\u0002\u080c\u00e1\u0003\u0002\u0002',
- '\u0002\u080d\u080e\t\u000b\u0002\u0002\u080e\u00e3\u0003\u0002\u0002',
- '\u0002\u080f\u0810\u0007\u00c7\u0002\u0002\u0810\u0811\u0007(\u0002',
- '\u0002\u0811\u0813\u0005\u029e\u0150\u0002\u0812\u0814\u0005\u0342\u01a2',
- '\u0002\u0813\u0812\u0003\u0002\u0002\u0002\u0813\u0814\u0003\u0002\u0002',
- '\u0002\u0814\u00e5\u0003\u0002\u0002\u0002\u0815\u0816\u0007\u00c7\u0002',
- '\u0002\u0816\u0817\t\u0004\u0002\u0002\u0817\u0818\u0005\u0350\u01a9',
- '\u0002\u0818\u00e7\u0003\u0002\u0002\u0002\u0819\u081a\u0007E\u0002',
- '\u0002\u081a\u081b\u0007\u0100\u0002\u0002\u081b\u081c\u0005\u0350\u01a9',
- '\u0002\u081c\u00e9\u0003\u0002\u0002\u0002\u081d\u081e\u0007M\u0002',
- '\u0002\u081e\u081f\u0007\u0100\u0002\u0002\u081f\u0820\u0005\u0350\u01a9',
- '\u0002\u0820\u00eb\u0003\u0002\u0002\u0002\u0821\u0822\u0007\u00c1\u0002',
- '\u0002\u0822\u0824\u0005\u0108\u0085\u0002\u0823\u0825\u0005\u0102\u0082',
- '\u0002\u0824\u0823\u0003\u0002\u0002\u0002\u0824\u0825\u0003\u0002\u0002',
- '\u0002\u0825\u0826\u0003\u0002\u0002\u0002\u0826\u0827\u0007O\u0002',
- '\u0002\u0827\u0829\u0005\u010e\u0088\u0002\u0828\u082a\u0005\u0112\u008a',
- '\u0002\u0829\u0828\u0003\u0002\u0002\u0002\u0829\u082a\u0003\u0002\u0002',
- '\u0002\u082a\u00ed\u0003\u0002\u0002\u0002\u082b\u082d\u0007\u00c2\u0002',
- '\u0002\u082c\u082e\u0005\u0114\u008b\u0002\u082d\u082c\u0003\u0002\u0002',
- '\u0002\u082d\u082e\u0003\u0002\u0002\u0002\u082e\u082f\u0003\u0002\u0002',
- '\u0002\u082f\u0831\u0005\u0108\u0085\u0002\u0830\u0832\u0005\u0102\u0082',
- '\u0002\u0831\u0830\u0003\u0002\u0002\u0002\u0831\u0832\u0003\u0002\u0002',
- '\u0002\u0832\u0833\u0003\u0002\u0002\u0002\u0833\u0834\u0007\u0018\u0002',
- '\u0002\u0834\u0835\u0005\u010e\u0088\u0002\u0835\u00ef\u0003\u0002\u0002',
- '\u0002\u0836\u0838\u0007\u00c1\u0002\u0002\u0837\u0839\u0007\u0100\u0002',
- '\u0002\u0838\u0837\u0003\u0002\u0002\u0002\u0838\u0839\u0003\u0002\u0002',
- '\u0002\u0839\u083a\u0003\u0002\u0002\u0002\u083a\u083f\u0005\u0350\u01a9',
- '\u0002\u083b\u083c\u0007\u0173\u0002\u0002\u083c\u083e\u0005\u0350\u01a9',
- '\u0002\u083d\u083b\u0003\u0002\u0002\u0002\u083e\u0841\u0003\u0002\u0002',
- '\u0002\u083f\u083d\u0003\u0002\u0002\u0002\u083f\u0840\u0003\u0002\u0002',
- '\u0002\u0840\u0842\u0003\u0002\u0002\u0002\u0841\u083f\u0003\u0002\u0002',
- '\u0002\u0842\u0843\u0007O\u0002\u0002\u0843\u0845\u0005\u010e\u0088',
- '\u0002\u0844\u0846\u0005\u0118\u008d\u0002\u0845\u0844\u0003\u0002\u0002',
- '\u0002\u0845\u0846\u0003\u0002\u0002\u0002\u0846\u00f1\u0003\u0002\u0002',
- '\u0002\u0847\u0849\u0007\u00c2\u0002\u0002\u0848\u084a\u0005\u0116\u008c',
- '\u0002\u0849\u0848\u0003\u0002\u0002\u0002\u0849\u084a\u0003\u0002\u0002',
- '\u0002\u084a\u084c\u0003\u0002\u0002\u0002\u084b\u084d\u0007\u0100\u0002',
- '\u0002\u084c\u084b\u0003\u0002\u0002\u0002\u084c\u084d\u0003\u0002\u0002',
- '\u0002\u084d\u084e\u0003\u0002\u0002\u0002\u084e\u0853\u0005\u0350\u01a9',
- '\u0002\u084f\u0850\u0007\u0173\u0002\u0002\u0850\u0852\u0005\u0350\u01a9',
- '\u0002\u0851\u084f\u0003\u0002\u0002\u0002\u0852\u0855\u0003\u0002\u0002',
- '\u0002\u0853\u0851\u0003\u0002\u0002\u0002\u0853\u0854\u0003\u0002\u0002',
- '\u0002\u0854\u0856\u0003\u0002\u0002\u0002\u0855\u0853\u0003\u0002\u0002',
- '\u0002\u0856\u0857\u0007\u0018\u0002\u0002\u0857\u0858\u0005\u010e\u0088',
- '\u0002\u0858\u00f3\u0003\u0002\u0002\u0002\u0859\u085a\u00070\u0002',
- '\u0002\u085a\u085b\u0007\u0100\u0002\u0002\u085b\u085c\u0007\u00c1\u0002',
- '\u0002\u085c\u085d\u0005\u0110\u0089\u0002\u085d\u00f5\u0003\u0002\u0002',
- '\u0002\u085e\u085f\u00070\u0002\u0002\u085f\u0860\u0007\u0101\u0002',
- '\u0002\u0860\u00f7\u0003\u0002\u0002\u0002\u0861\u0862\u00070\u0002',
- '\u0002\u0862\u0863\u0007\u00f5\u0002\u0002\u0863\u0864\u0007\u0101\u0002',
- '\u0002\u0864\u00f9\u0003\u0002\u0002\u0002\u0865\u0866\u0007\u00a2\u0002',
- '\u0002\u0866\u086a\u0007\u0100\u0002\u0002\u0867\u086b\u0007\u0005\u0002',
- '\u0002\u0868\u086b\u0007\u0007\u0002\u0002\u0869\u086b\u0005\u0350\u01a9',
- '\u0002\u086a\u0867\u0003\u0002\u0002\u0002\u086a\u0868\u0003\u0002\u0002',
- '\u0002\u086a\u0869\u0003\u0002\u0002\u0002\u086b\u00fb\u0003\u0002\u0002',
- '\u0002\u086c\u086d\u00070\u0002\u0002\u086d\u086f\u0007\u00c1\u0002',
- '\u0002\u086e\u0870\u0005\u0110\u0089\u0002\u086f\u086e\u0003\u0002\u0002',
- '\u0002\u086f\u0870\u0003\u0002\u0002\u0002\u0870\u0873\u0003\u0002\u0002',
- '\u0002\u0871\u0872\u0007%\u0002\u0002\u0872\u0874\u0005\u0100\u0081',
- '\u0002\u0873\u0871\u0003\u0002\u0002\u0002\u0873\u0874\u0003\u0002\u0002',
- '\u0002\u0874\u00fd\u0003\u0002\u0002\u0002\u0875\u0876\u00070\u0002',
- '\u0002\u0876\u0877\u0007\u0108\u0002\u0002\u0877\u0878\u0005\u0350\u01a9',
- '\u0002\u0878\u00ff\u0003\u0002\u0002\u0002\u0879\u087c\u0007\u0005\u0002',
- '\u0002\u087a\u087c\u0005\u0106\u0084\u0002\u087b\u0879\u0003\u0002\u0002',
- '\u0002\u087b\u087a\u0003\u0002\u0002\u0002\u087c\u0101\u0003\u0002\u0002',
- '\u0002\u087d\u087e\u0007%\u0002\u0002\u087e\u087f\u0005\u0104\u0083',
- '\u0002\u087f\u0103\u0003\u0002\u0002\u0002\u0880\u0881\t\u0004\u0002',
- '\u0002\u0881\u088e\u0005\u0350\u01a9\u0002\u0882\u0884\u0007(\u0002',
- '\u0002\u0883\u0882\u0003\u0002\u0002\u0002\u0883\u0884\u0003\u0002\u0002',
- '\u0002\u0884\u0885\u0003\u0002\u0002\u0002\u0885\u0887\u0005\u029e\u0150',
- '\u0002\u0886\u0888\u0005\u0342\u01a2\u0002\u0887\u0886\u0003\u0002\u0002',
- '\u0002\u0887\u0888\u0003\u0002\u0002\u0002\u0888\u088e\u0003\u0002\u0002',
- '\u0002\u0889\u088a\u0007\u0104\u0002\u0002\u088a\u088e\u0007\u0190\u0002',
- '\u0002\u088b\u088c\u0007\u0105\u0002\u0002\u088c\u088e\u0005\u0350\u01a9',
- '\u0002\u088d\u0880\u0003\u0002\u0002\u0002\u088d\u0883\u0003\u0002\u0002',
- '\u0002\u088d\u0889\u0003\u0002\u0002\u0002\u088d\u088b\u0003\u0002\u0002',
- '\u0002\u088e\u0105\u0003\u0002\u0002\u0002\u088f\u0890\t\u0004\u0002',
- '\u0002\u0890\u08a3\u0005\u0350\u01a9\u0002\u0891\u0893\u0007(\u0002',
- '\u0002\u0892\u0891\u0003\u0002\u0002\u0002\u0892\u0893\u0003\u0002\u0002',
- '\u0002\u0893\u0894\u0003\u0002\u0002\u0002\u0894\u0899\u0005\u029e\u0150',
- '\u0002\u0895\u0896\u0007\u0175\u0002\u0002\u0896\u0897\u0005\u0190\u00c9',
- '\u0002\u0897\u0898\u0007\u0176\u0002\u0002\u0898\u089a\u0003\u0002\u0002',
- '\u0002\u0899\u0895\u0003\u0002\u0002\u0002\u0899\u089a\u0003\u0002\u0002',
- '\u0002\u089a\u089c\u0003\u0002\u0002\u0002\u089b\u089d\u0005\u0342\u01a2',
- '\u0002\u089c\u089b\u0003\u0002\u0002\u0002\u089c\u089d\u0003\u0002\u0002',
- '\u0002\u089d\u08a3\u0003\u0002\u0002\u0002\u089e\u089f\u0007\u0104\u0002',
- '\u0002\u089f\u08a3\u0007\u0190\u0002\u0002\u08a0\u08a1\u0007\u0105\u0002',
- '\u0002\u08a1\u08a3\u0005\u0350\u01a9\u0002\u08a2\u088f\u0003\u0002\u0002',
- '\u0002\u08a2\u0892\u0003\u0002\u0002\u0002\u08a2\u089e\u0003\u0002\u0002',
- '\u0002\u08a2\u08a0\u0003\u0002\u0002\u0002\u08a3\u0107\u0003\u0002\u0002',
- '\u0002\u08a4\u08a9\u0005\u010a\u0086\u0002\u08a5\u08a6\u0007\u0173\u0002',
- '\u0002\u08a6\u08a8\u0005\u010a\u0086\u0002\u08a7\u08a5\u0003\u0002\u0002',
- '\u0002\u08a8\u08ab\u0003\u0002\u0002\u0002\u08a9\u08a7\u0003\u0002\u0002',
- '\u0002\u08a9\u08aa\u0003\u0002\u0002\u0002\u08aa\u0109\u0003\u0002\u0002',
- '\u0002\u08ab\u08a9\u0003\u0002\u0002\u0002\u08ac\u08b1\u0005\u010c\u0087',
- '\u0002\u08ad\u08ae\u0007\u0175\u0002\u0002\u08ae\u08af\u0005\u0190\u00c9',
- '\u0002\u08af\u08b0\u0007\u0176\u0002\u0002\u08b0\u08b2\u0003\u0002\u0002',
- '\u0002\u08b1\u08ad\u0003\u0002\u0002\u0002\u08b1\u08b2\u0003\u0002\u0002',
- '\u0002\u08b2\u010b\u0003\u0002\u0002\u0002\u08b3\u08b4\t\f\u0002\u0002',
- '\u08b4\u010d\u0003\u0002\u0002\u0002\u08b5\u08ba\u0005\u0110\u0089\u0002',
- '\u08b6\u08b7\u0007\u0173\u0002\u0002\u08b7\u08b9\u0005\u0110\u0089\u0002',
- '\u08b8\u08b6\u0003\u0002\u0002\u0002\u08b9\u08bc\u0003\u0002\u0002\u0002',
- '\u08ba\u08b8\u0003\u0002\u0002\u0002\u08ba\u08bb\u0003\u0002\u0002\u0002',
- '\u08bb\u010f\u0003\u0002\u0002\u0002\u08bc\u08ba\u0003\u0002\u0002\u0002',
- '\u08bd\u08be\u0007\u00ff\u0002\u0002\u08be\u08c4\u0005\u0354\u01ab\u0002',
- '\u08bf\u08c0\u0007\u0014\u0002\u0002\u08c0\u08c4\u0005\u0354\u01ab\u0002',
- '\u08c1\u08c2\u0007\u0100\u0002\u0002\u08c2\u08c4\u0005\u0350\u01a9\u0002',
- '\u08c3\u08bd\u0003\u0002\u0002\u0002\u08c3\u08bf\u0003\u0002\u0002\u0002',
- '\u08c3\u08c1\u0003\u0002\u0002\u0002\u08c4\u0111\u0003\u0002\u0002\u0002',
- '\u08c5\u08c6\u0007\u009c\u0002\u0002\u08c6\u08c7\u0007\u00c1\u0002\u0002',
- '\u08c7\u08c8\u0007\u00e5\u0002\u0002\u08c8\u0113\u0003\u0002\u0002\u0002',
- '\u08c9\u08ca\u0007\u00c1\u0002\u0002\u08ca\u08cb\u0007\u00e5\u0002\u0002',
- '\u08cb\u08cc\u0007\u00f0\u0002\u0002\u08cc\u0115\u0003\u0002\u0002\u0002',
- '\u08cd\u08ce\u0007\u0106\u0002\u0002\u08ce\u08cf\u0007\u00e5\u0002\u0002',
- '\u08cf\u08d0\u0007\u00f0\u0002\u0002\u08d0\u0117\u0003\u0002\u0002\u0002',
- '\u08d1\u08d2\u0007\u009c\u0002\u0002\u08d2\u08d3\u0007\u0106\u0002\u0002',
- '\u08d3\u08d4\u0007\u00e5\u0002\u0002\u08d4\u0119\u0003\u0002\u0002\u0002',
- '\u08d5\u08d7\u00071\u0002\u0002\u08d6\u08d8\u00072\u0002\u0002\u08d7',
- '\u08d6\u0003\u0002\u0002\u0002\u08d7\u08d8\u0003\u0002\u0002\u0002\u08d8',
- '\u08e2\u0003\u0002\u0002\u0002\u08d9\u08da\u0007(\u0002\u0002\u08da',
- '\u08dd\u0005\u029e\u0150\u0002\u08db\u08dc\t\r\u0002\u0002\u08dc\u08de',
- "\u0007\'\u0002\u0002\u08dd\u08db\u0003\u0002\u0002\u0002\u08dd\u08de",
- '\u0003\u0002\u0002\u0002\u08de\u08e3\u0003\u0002\u0002\u0002\u08df\u08e1',
- '\u0005\u0342\u01a2\u0002\u08e0\u08df\u0003\u0002\u0002\u0002\u08e0\u08e1',
- '\u0003\u0002\u0002\u0002\u08e1\u08e3\u0003\u0002\u0002\u0002\u08e2\u08d9',
- '\u0003\u0002\u0002\u0002\u08e2\u08e0\u0003\u0002\u0002\u0002\u08e3\u011b',
- '\u0003\u0002\u0002\u0002\u08e4\u08e9\u0005\u011e\u0090\u0002\u08e5\u08e6',
- '\u0007\u0173\u0002\u0002\u08e6\u08e8\u0005\u011e\u0090\u0002\u08e7\u08e5',
- '\u0003\u0002\u0002\u0002\u08e8\u08eb\u0003\u0002\u0002\u0002\u08e9\u08e7',
- '\u0003\u0002\u0002\u0002\u08e9\u08ea\u0003\u0002\u0002\u0002\u08ea\u011d',
- '\u0003\u0002\u0002\u0002\u08eb\u08e9\u0003\u0002\u0002\u0002\u08ec\u08ed',
- '\u0005\u0120\u0091\u0002\u08ed\u08ee\u0007\u0190\u0002\u0002\u08ee\u011f',
- '\u0003\u0002\u0002\u0002\u08ef\u08f0\t\u000e\u0002\u0002\u08f0\u0121',
- '\u0003\u0002\u0002\u0002\u08f1\u08f3\u0007E\u0002\u0002\u08f2\u08f4',
- '\u0007\u0091\u0002\u0002\u08f3\u08f2\u0003\u0002\u0002\u0002\u08f3\u08f4',
- '\u0003\u0002\u0002\u0002\u08f4\u08f5\u0003\u0002\u0002\u0002\u08f5\u08f6',
- '\u0007\u0092\u0002\u0002\u08f6\u08f7\u0005\u0352\u01aa\u0002\u08f7\u08f8',
- '\u0007\u0019\u0002\u0002\u08f8\u08fb\u0007\u0190\u0002\u0002\u08f9\u08fa',
- '\u00076\u0002\u0002\u08fa\u08fc\u0005\u011c\u008f\u0002\u08fb\u08f9',
- '\u0003\u0002\u0002\u0002\u08fb\u08fc\u0003\u0002\u0002\u0002\u08fc\u0123',
- '\u0003\u0002\u0002\u0002\u08fd\u08ff\u0007M\u0002\u0002\u08fe\u0900',
- '\u0007\u0091\u0002\u0002\u08ff\u08fe\u0003\u0002\u0002\u0002\u08ff\u0900',
- '\u0003\u0002\u0002\u0002\u0900\u0901\u0003\u0002\u0002\u0002\u0901\u0903',
- '\u0007\u0092\u0002\u0002\u0902\u0904\u0005(\u0015\u0002\u0903\u0902',
- '\u0003\u0002\u0002\u0002\u0903\u0904\u0003\u0002\u0002\u0002\u0904\u0905',
- '\u0003\u0002\u0002\u0002\u0905\u0906\u0005\u0352\u01aa\u0002\u0906\u0125',
- '\u0003\u0002\u0002\u0002\u0907\u0908\u0007\u0111\u0002\u0002\u0908\u0909',
- '\u0007\u0092\u0002\u0002\u0909\u0127\u0003\u0002\u0002\u0002\u090a\u090b',
- '\u0007E\u0002\u0002\u090b\u090c\u0007\u0091\u0002\u0002\u090c\u090d',
- '\u0007\u0093\u0002\u0002\u090d\u090e\u0007\u0196\u0002\u0002\u090e\u0910',
- '\u0007\u0175\u0002\u0002\u090f\u0911\u0005\u018a\u00c6\u0002\u0910\u090f',
- '\u0003\u0002\u0002\u0002\u0910\u0911\u0003\u0002\u0002\u0002\u0911\u0912',
- '\u0003\u0002\u0002\u0002\u0912\u0913\u0007\u0176\u0002\u0002\u0913\u0914',
- '\u0005\u0330\u0199\u0002\u0914\u0129\u0003\u0002\u0002\u0002\u0915\u0916',
- '\u0007M\u0002\u0002\u0916\u0917\u0007\u0091\u0002\u0002\u0917\u0919',
- '\u0007\u0093\u0002\u0002\u0918\u091a\u0005(\u0015\u0002\u0919\u0918',
- '\u0003\u0002\u0002\u0002\u0919\u091a\u0003\u0002\u0002\u0002\u091a\u091b',
- '\u0003\u0002\u0002\u0002\u091b\u091c\u0007\u0196\u0002\u0002\u091c\u012b',
- '\u0003\u0002\u0002\u0002\u091d\u091f\u0007E\u0002\u0002\u091e\u0920',
- '\u00054\u001b\u0002\u091f\u091e\u0003\u0002\u0002\u0002\u091f\u0920',
- '\u0003\u0002\u0002\u0002\u0920\u0921\u0003\u0002\u0002\u0002\u0921\u0923',
- '\u0007\u00b9\u0002\u0002\u0922\u0924\u0005,\u0017\u0002\u0923\u0922',
- '\u0003\u0002\u0002\u0002\u0923\u0924\u0003\u0002\u0002\u0002\u0924\u0925',
- '\u0003\u0002\u0002\u0002\u0925\u092a\u0005\u029e\u0150\u0002\u0926\u0927',
- '\u0007\u0175\u0002\u0002\u0927\u0928\u0005\u01c6\u00e4\u0002\u0928\u0929',
- '\u0007\u0176\u0002\u0002\u0929\u092b\u0003\u0002\u0002\u0002\u092a\u0926',
- '\u0003\u0002\u0002\u0002\u092a\u092b\u0003\u0002\u0002\u0002\u092b\u092d',
- '\u0003\u0002\u0002\u0002\u092c\u092e\u0005\u0148\u00a5\u0002\u092d\u092c',
- '\u0003\u0002\u0002\u0002\u092d\u092e\u0003\u0002\u0002\u0002\u092e\u0930',
- '\u0003\u0002\u0002\u0002\u092f\u0931\u0005\u013e\u00a0\u0002\u0930\u092f',
- '\u0003\u0002\u0002\u0002\u0930\u0931\u0003\u0002\u0002\u0002\u0931\u0933',
- '\u0003\u0002\u0002\u0002\u0932\u0934\u0005\u0162\u00b2\u0002\u0933\u0932',
- '\u0003\u0002\u0002\u0002\u0933\u0934\u0003\u0002\u0002\u0002\u0934\u0935',
- '\u0003\u0002\u0002\u0002\u0935\u0936\u0007\u0019\u0002\u0002\u0936\u0937',
- '\u0005\u0220\u0111\u0002\u0937\u012d\u0003\u0002\u0002\u0002\u0938\u093a',
- '\u0007E\u0002\u0002\u0939\u093b\u00054\u001b\u0002\u093a\u0939\u0003',
- '\u0002\u0002\u0002\u093a\u093b\u0003\u0002\u0002\u0002\u093b\u093c\u0003',
- '\u0002\u0002\u0002\u093c\u093d\u0007\u00be\u0002\u0002\u093d\u093f\u0007',
- '\u00b9\u0002\u0002\u093e\u0940\u0005,\u0017\u0002\u093f\u093e\u0003',
- '\u0002\u0002\u0002\u093f\u0940\u0003\u0002\u0002\u0002\u0940\u0941\u0003',
- '\u0002\u0002\u0002\u0941\u0949\u0005\u029e\u0150\u0002\u0942\u0945\u0007',
- '\u0175\u0002\u0002\u0943\u0946\u0005\u01c6\u00e4\u0002\u0944\u0946\u0005',
- '\u018c\u00c7\u0002\u0945\u0943\u0003\u0002\u0002\u0002\u0945\u0944\u0003',
- '\u0002\u0002\u0002\u0946\u0947\u0003\u0002\u0002\u0002\u0947\u0948\u0007',
- '\u0176\u0002\u0002\u0948\u094a\u0003\u0002\u0002\u0002\u0949\u0942\u0003',
- '\u0002\u0002\u0002\u0949\u094a\u0003\u0002\u0002\u0002\u094a\u094e\u0003',
- '\u0002\u0002\u0002\u094b\u094d\u0005\u0130\u0099\u0002\u094c\u094b\u0003',
- '\u0002\u0002\u0002\u094d\u0950\u0003\u0002\u0002\u0002\u094e\u094c\u0003',
- '\u0002\u0002\u0002\u094e\u094f\u0003\u0002\u0002\u0002\u094f\u0951\u0003',
- '\u0002\u0002\u0002\u0950\u094e\u0003\u0002\u0002\u0002\u0951\u0952\u0007',
- '\u0019\u0002\u0002\u0952\u0953\u0005\u0220\u0111\u0002\u0953\u012f\u0003',
- '\u0002\u0002\u0002\u0954\u0960\u0005\u0148\u00a5\u0002\u0955\u0960\u0005',
- '\u015e\u00b0\u0002\u0956\u0960\u0005\u017a\u00be\u0002\u0957\u0960\u0005',
- '\u0188\u00c5\u0002\u0958\u0960\u0005\u0162\u00b2\u0002\u0959\u0960\u0005',
- '\u014e\u00a8\u0002\u095a\u0960\u0005\u0148\u00a5\u0002\u095b\u0960\u0005',
- '\u02e2\u0172\u0002\u095c\u0960\u00050\u0019\u0002\u095d\u0960\u0005',
- '\u0132\u009a\u0002\u095e\u0960\u0005\u0136\u009c\u0002\u095f\u0954\u0003',
- '\u0002\u0002\u0002\u095f\u0955\u0003\u0002\u0002\u0002\u095f\u0956\u0003',
- '\u0002\u0002\u0002\u095f\u0957\u0003\u0002\u0002\u0002\u095f\u0958\u0003',
- '\u0002\u0002\u0002\u095f\u0959\u0003\u0002\u0002\u0002\u095f\u095a\u0003',
- '\u0002\u0002\u0002\u095f\u095b\u0003\u0002\u0002\u0002\u095f\u095c\u0003',
- '\u0002\u0002\u0002\u095f\u095d\u0003\u0002\u0002\u0002\u095f\u095e\u0003',
- '\u0002\u0002\u0002\u0960\u0131\u0003\u0002\u0002\u0002\u0961\u0963\u0007',
- '\u0165\u0002\u0002\u0962\u0964\u0007\u0166\u0002\u0002\u0963\u0962\u0003',
- '\u0002\u0002\u0002\u0963\u0964\u0003\u0002\u0002\u0002\u0964\u0965\u0003',
- '\u0002\u0002\u0002\u0965\u0966\u0007\u0167\u0002\u0002\u0966\u0967\u0007',
- '\u0195\u0002\u0002\u0967\u0975\t\u000f\u0002\u0002\u0968\u096a\u0007',
- '\u0165\u0002\u0002\u0969\u096b\u0007\u0166\u0002\u0002\u096a\u0969\u0003',
- '\u0002\u0002\u0002\u096a\u096b\u0003\u0002\u0002\u0002\u096b\u096c\u0003',
- '\u0002\u0002\u0002\u096c\u096d\u0007\u0168\u0002\u0002\u096d\u0972\u0007',
- '\u0190\u0002\u0002\u096e\u096f\u0007\u0169\u0002\u0002\u096f\u0970\u0007',
- '^\u0002\u0002\u0970\u0971\u0007_\u0002\u0002\u0971\u0973\u0005\u0134',
- '\u009b\u0002\u0972\u096e\u0003\u0002\u0002\u0002\u0972\u0973\u0003\u0002',
- '\u0002\u0002\u0973\u0975\u0003\u0002\u0002\u0002\u0974\u0961\u0003\u0002',
- '\u0002\u0002\u0974\u0968\u0003\u0002\u0002\u0002\u0975\u0133\u0003\u0002',
- '\u0002\u0002\u0976\u0979\u0005\u0350\u01a9\u0002\u0977\u0979\u0007\u0190',
- '\u0002\u0002\u0978\u0976\u0003\u0002\u0002\u0002\u0978\u0977\u0003\u0002',
- '\u0002\u0002\u0979\u0135\u0003\u0002\u0002\u0002\u097a\u097c\u0007\u009c',
- '\u0002\u0002\u097b\u097a\u0003\u0002\u0002\u0002\u097b\u097c\u0003\u0002',
- '\u0002\u0002\u097c\u097d\u0003\u0002\u0002\u0002\u097d\u097e\u0007q',
- '\u0002\u0002\u097e\u097f\u0007\u016a\u0002\u0002\u097f\u098c\u0005\u0352',
- '\u01aa\u0002\u0980\u0981\u0007%\u0002\u0002\u0981\u0982\u0007\u0175',
- '\u0002\u0002\u0982\u0987\u0005\u0350\u01a9\u0002\u0983\u0984\u0007\u0173',
- '\u0002\u0002\u0984\u0986\u0005\u0350\u01a9\u0002\u0985\u0983\u0003\u0002',
- '\u0002\u0002\u0986\u0989\u0003\u0002\u0002\u0002\u0987\u0985\u0003\u0002',
- '\u0002\u0002\u0987\u0988\u0003\u0002\u0002\u0002\u0988\u098a\u0003\u0002',
- '\u0002\u0002\u0989\u0987\u0003\u0002\u0002\u0002\u098a\u098b\u0007\u0176',
- '\u0002\u0002\u098b\u098d\u0003\u0002\u0002\u0002\u098c\u0980\u0003\u0002',
- '\u0002\u0002\u098c\u098d\u0003\u0002\u0002\u0002\u098d\u0137\u0003\u0002',
- '\u0002\u0002\u098e\u098f\u0007\u00d9\u0002\u0002\u098f\u0990\u0007%',
- '\u0002\u0002\u0990\u0995\u0007\u00e9\u0002\u0002\u0991\u0992\u0007\u0169',
- '\u0002\u0002\u0992\u0993\u0007\u016d\u0002\u0002\u0993\u0994\u0007\u0167',
- '\u0002\u0002\u0994\u0996\u0005\u013a\u009e\u0002\u0995\u0991\u0003\u0002',
- '\u0002\u0002\u0995\u0996\u0003\u0002\u0002\u0002\u0996\u0139\u0003\u0002',
- '\u0002\u0002\u0997\u0999\u0007`\u0002\u0002\u0998\u099a\u0007\u0195',
- '\u0002\u0002\u0999\u0998\u0003\u0002\u0002\u0002\u0999\u099a\u0003\u0002',
- '\u0002\u0002\u099a\u099b\u0003\u0002\u0002\u0002\u099b\u099c\u0005\u013c',
- '\u009f\u0002\u099c\u013b\u0003\u0002\u0002\u0002\u099d\u09a0\u0007\u0112',
- '\u0002\u0002\u099e\u099f\u0007O\u0002\u0002\u099f\u09a1\u0007\u0115',
- '\u0002\u0002\u09a0\u099e\u0003\u0002\u0002\u0002\u09a0\u09a1\u0003\u0002',
- '\u0002\u0002\u09a1\u09b4\u0003\u0002\u0002\u0002\u09a2\u09b4\u0007\u0115',
- '\u0002\u0002\u09a3\u09a6\u0007\u0117\u0002\u0002\u09a4\u09a5\u0007O',
- '\u0002\u0002\u09a5\u09a7\t\u0010\u0002\u0002\u09a6\u09a4\u0003\u0002',
- '\u0002\u0002\u09a6\u09a7\u0003\u0002\u0002\u0002\u09a7\u09b4\u0003\u0002',
- '\u0002\u0002\u09a8\u09ab\u0007\u0119\u0002\u0002\u09a9\u09aa\u0007O',
- '\u0002\u0002\u09aa\u09ac\t\u0011\u0002\u0002\u09ab\u09a9\u0003\u0002',
- '\u0002\u0002\u09ab\u09ac\u0003\u0002\u0002\u0002\u09ac\u09b4\u0003\u0002',
- '\u0002\u0002\u09ad\u09b0\u0007\u011a\u0002\u0002\u09ae\u09af\u0007O',
- '\u0002\u0002\u09af\u09b1\u0007\u011b\u0002\u0002\u09b0\u09ae\u0003\u0002',
- '\u0002\u0002\u09b0\u09b1\u0003\u0002\u0002\u0002\u09b1\u09b4\u0003\u0002',
- '\u0002\u0002\u09b2\u09b4\u0007\u011b\u0002\u0002\u09b3\u099d\u0003\u0002',
- '\u0002\u0002\u09b3\u09a2\u0003\u0002\u0002\u0002\u09b3\u09a3\u0003\u0002',
- '\u0002\u0002\u09b3\u09a8\u0003\u0002\u0002\u0002\u09b3\u09ad\u0003\u0002',
- '\u0002\u0002\u09b3\u09b2\u0003\u0002\u0002\u0002\u09b4\u013d\u0003\u0002',
- '\u0002\u0002\u09b5\u09b6\u0007l\u0002\u0002\u09b6\u09b7\u0007%\u0002',
- '\u0002\u09b7\u09b8\u0007\u0175\u0002\u0002\u09b8\u09b9\u0005\u0190\u00c9',
- '\u0002\u09b9\u09ba\u0007\u0176\u0002\u0002\u09ba\u013f\u0003\u0002\u0002',
- '\u0002\u09bb\u09bc\u0007M\u0002\u0002\u09bc\u09be\u0007\u00b9\u0002',
- '\u0002\u09bd\u09bf\u0005(\u0015\u0002\u09be\u09bd\u0003\u0002\u0002',
- '\u0002\u09be\u09bf\u0003\u0002\u0002\u0002\u09bf\u09c0\u0003\u0002\u0002',
- '\u0002\u09c0\u09c1\u0005\u02a0\u0151\u0002\u09c1\u0141\u0003\u0002\u0002',
- '\u0002\u09c2\u09c3\u0007M\u0002\u0002\u09c3\u09c4\u0007\u00be\u0002',
- '\u0002\u09c4\u09c6\u0007\u00b9\u0002\u0002\u09c5\u09c7\u0005(\u0015',
- '\u0002\u09c6\u09c5\u0003\u0002\u0002\u0002\u09c6\u09c7\u0003\u0002\u0002',
- '\u0002\u09c7\u09c8\u0003\u0002\u0002\u0002\u09c8\u09c9\u0005\u02a0\u0151',
- '\u0002\u09c9\u0143\u0003\u0002\u0002\u0002\u09ca\u09cd\u0005\u0352\u01aa',
- '\u0002\u09cb\u09cd\u0007\u0190\u0002\u0002\u09cc\u09ca\u0003\u0002\u0002',
- '\u0002\u09cc\u09cb\u0003\u0002\u0002\u0002\u09cd\u0145\u0003\u0002\u0002',
- '\u0002\u09ce\u09d1\u0005\u0350\u01a9\u0002\u09cf\u09d1\u0007\u0190\u0002',
- '\u0002\u09d0\u09ce\u0003\u0002\u0002\u0002\u09d0\u09cf\u0003\u0002\u0002',
- '\u0002\u09d1\u0147\u0003\u0002\u0002\u0002\u09d2\u09d3\u0007P\u0002',
- '\u0002\u09d3\u09d4\u0007\u0190\u0002\u0002\u09d4\u0149\u0003\u0002\u0002',
- '\u0002\u09d5\u09d6\u00076\u0002\u0002\u09d6\u09d7\u0005\u014c\u00a7',
- '\u0002\u09d7\u014b\u0003\u0002\u0002\u0002\u09d8\u09d9\t\u0012\u0002',
- '\u0002\u09d9\u014d\u0003\u0002\u0002\u0002\u09da\u09db\u0007l\u0002',
- '\u0002\u09db\u09dc\u0007\u0015\u0002\u0002\u09dc\u09dd\u0007\u0175\u0002',
- '\u0002\u09dd\u09e2\u0005\u01e0\u00f1\u0002\u09de\u09df\u0007\u0173\u0002',
- '\u0002\u09df\u09e1\u0005\u01e0\u00f1\u0002\u09e0\u09de\u0003\u0002\u0002',
- '\u0002\u09e1\u09e4\u0003\u0002\u0002\u0002\u09e2\u09e0\u0003\u0002\u0002',
- '\u0002\u09e2\u09e3\u0003\u0002\u0002\u0002\u09e3\u09e5\u0003\u0002\u0002',
- '\u0002\u09e4\u09e2\u0003\u0002\u0002\u0002\u09e5\u09e6\u0007\u0176\u0002',
- '\u0002\u09e6\u014f\u0003\u0002\u0002\u0002\u09e7\u09e8\u0007m\u0002',
- '\u0002\u09e8\u09e9\u0007\u0015\u0002\u0002\u09e9\u09ea\u0007\u0175\u0002',
- '\u0002\u09ea\u09eb\u0005\u0190\u00c9\u0002\u09eb\u09f2\u0007\u0176\u0002',
- '\u0002\u09ec\u09ed\u0007n\u0002\u0002\u09ed\u09ee\u0007\u0015\u0002',
- '\u0002\u09ee\u09ef\u0007\u0175\u0002\u0002\u09ef\u09f0\u0005\u0196\u00cc',
- '\u0002\u09f0\u09f1\u0007\u0176\u0002\u0002\u09f1\u09f3\u0003\u0002\u0002',
- '\u0002\u09f2\u09ec\u0003\u0002\u0002\u0002\u09f2\u09f3\u0003\u0002\u0002',
- '\u0002\u09f3\u09f4\u0003\u0002\u0002\u0002\u09f4\u09f5\u0007o\u0002',
- '\u0002\u09f5\u09f6\u0007\u0195\u0002\u0002\u09f6\u09f7\u0007p\u0002',
- '\u0002\u09f7\u0151\u0003\u0002\u0002\u0002\u09f8\u09f9\u0007\u00ec\u0002',
- '\u0002\u09f9\u09fa\u0007\u0015\u0002\u0002\u09fa\u09fb\u0007\u0175\u0002',
- '\u0002\u09fb\u09fc\u0005\u0190\u00c9\u0002\u09fc\u09fd\u0007\u0176\u0002',
- '\u0002\u09fd\u09fe\u0007%\u0002\u0002\u09fe\u09ff\u0007\u0175\u0002',
- '\u0002\u09ff\u0a00\u0005\u01b4\u00db\u0002\u0a00\u0a02\u0007\u0176\u0002',
- '\u0002\u0a01\u0a03\u00052\u001a\u0002\u0a02\u0a01\u0003\u0002\u0002',
- '\u0002\u0a02\u0a03\u0003\u0002\u0002\u0002\u0a03\u0153\u0003\u0002\u0002',
- '\u0002\u0a04\u0a07\u0005\u015a\u00ae\u0002\u0a05\u0a07\u0005\u015c\u00af',
- '\u0002\u0a06\u0a04\u0003\u0002\u0002\u0002\u0a06\u0a05\u0003\u0002\u0002',
- '\u0002\u0a07\u0155\u0003\u0002\u0002\u0002\u0a08\u0a09\u0007\u00da\u0002',
- '\u0002\u0a09\u0a0a\u0007\u0190\u0002\u0002\u0a0a\u0157\u0003\u0002\u0002',
- '\u0002\u0a0b\u0a0c\u0007\u00db\u0002\u0002\u0a0c\u0a0d\u0007\u0190\u0002',
- '\u0002\u0a0d\u0159\u0003\u0002\u0002\u0002\u0a0e\u0a0f\u0007q\u0002',
- '\u0002\u0a0f\u0a10\u0007s\u0002\u0002\u0a10\u0a11\u0007\u009b\u0002',
- '\u0002\u0a11\u0a15\u0007\u0190\u0002\u0002\u0a12\u0a13\u0007\u009c\u0002',
- '\u0002\u0a13\u0a14\u0007\u009e\u0002\u0002\u0a14\u0a16\u0005\u0164\u00b3',
- '\u0002\u0a15\u0a12\u0003\u0002\u0002\u0002\u0a15\u0a16\u0003\u0002\u0002',
- '\u0002\u0a16\u015b\u0003\u0002\u0002\u0002\u0a17\u0a18\u0007q\u0002',
- '\u0002\u0a18\u0a19\u0007s\u0002\u0002\u0a19\u0a1b\u0007t\u0002\u0002',
- '\u0a1a\u0a1c\u0005\u016e\u00b8\u0002\u0a1b\u0a1a\u0003\u0002\u0002\u0002',
- '\u0a1b\u0a1c\u0003\u0002\u0002\u0002\u0a1c\u0a1e\u0003\u0002\u0002\u0002',
- '\u0a1d\u0a1f\u0005\u0172\u00ba\u0002\u0a1e\u0a1d\u0003\u0002\u0002\u0002',
- '\u0a1e\u0a1f\u0003\u0002\u0002\u0002\u0a1f\u0a21\u0003\u0002\u0002\u0002',
- '\u0a20\u0a22\u0005\u0174\u00bb\u0002\u0a21\u0a20\u0003\u0002\u0002\u0002',
- '\u0a21\u0a22\u0003\u0002\u0002\u0002\u0a22\u0a24\u0003\u0002\u0002\u0002',
- '\u0a23\u0a25\u0005\u0176\u00bc\u0002\u0a24\u0a23\u0003\u0002\u0002\u0002',
- '\u0a24\u0a25\u0003\u0002\u0002\u0002\u0a25\u0a27\u0003\u0002\u0002\u0002',
- '\u0a26\u0a28\u0005\u0178\u00bd\u0002\u0a27\u0a26\u0003\u0002\u0002\u0002',
- '\u0a27\u0a28\u0003\u0002\u0002\u0002\u0a28\u015d\u0003\u0002\u0002\u0002',
- '\u0a29\u0a2c\u0005\u015c\u00af\u0002\u0a2a\u0a2c\u0005\u015a\u00ae\u0002',
- '\u0a2b\u0a29\u0003\u0002\u0002\u0002\u0a2b\u0a2a\u0003\u0002\u0002\u0002',
- '\u0a2c\u015f\u0003\u0002\u0002\u0002\u0a2d\u0a2e\u0007\u00e4\u0002\u0002',
- '\u0a2e\u0a2f\u0005\u0164\u00b3\u0002\u0a2f\u0161\u0003\u0002\u0002\u0002',
- '\u0a30\u0a31\u0007\u00a4\u0002\u0002\u0a31\u0a32\u0005\u0164\u00b3\u0002',
- '\u0a32\u0163\u0003\u0002\u0002\u0002\u0a33\u0a34\u0007\u0175\u0002\u0002',
- '\u0a34\u0a35\u0005\u0166\u00b4\u0002\u0a35\u0a36\u0007\u0176\u0002\u0002',
- '\u0a36\u0165\u0003\u0002\u0002\u0002\u0a37\u0a3c\u0005\u0168\u00b5\u0002',
- '\u0a38\u0a39\u0007\u0173\u0002\u0002\u0a39\u0a3b\u0005\u0168\u00b5\u0002',
- '\u0a3a\u0a38\u0003\u0002\u0002\u0002\u0a3b\u0a3e\u0003\u0002\u0002\u0002',
- '\u0a3c\u0a3a\u0003\u0002\u0002\u0002\u0a3c\u0a3d\u0003\u0002\u0002\u0002',
- '\u0a3d\u0a48\u0003\u0002\u0002\u0002\u0a3e\u0a3c\u0003\u0002\u0002\u0002',
- '\u0a3f\u0a44\u0005\u016c\u00b7\u0002\u0a40\u0a41\u0007\u0173\u0002\u0002',
- '\u0a41\u0a43\u0005\u016c\u00b7\u0002\u0a42\u0a40\u0003\u0002\u0002\u0002',
- '\u0a43\u0a46\u0003\u0002\u0002\u0002\u0a44\u0a42\u0003\u0002\u0002\u0002',
- '\u0a44\u0a45\u0003\u0002\u0002\u0002\u0a45\u0a48\u0003\u0002\u0002\u0002',
- '\u0a46\u0a44\u0003\u0002\u0002\u0002\u0a47\u0a37\u0003\u0002\u0002\u0002',
- '\u0a47\u0a3f\u0003\u0002\u0002\u0002\u0a48\u0167\u0003\u0002\u0002\u0002',
- '\u0a49\u0a4b\u0005\u016c\u00b7\u0002\u0a4a\u0a4c\u0007\u017b\u0002\u0002',
- '\u0a4b\u0a4a\u0003\u0002\u0002\u0002\u0a4b\u0a4c\u0003\u0002\u0002\u0002',
- '\u0a4c\u0a4d\u0003\u0002\u0002\u0002\u0a4d\u0a4e\u0005\u016a\u00b6\u0002',
- '\u0a4e\u0169\u0003\u0002\u0002\u0002\u0a4f\u0a53\u0007\u0195\u0002\u0002',
- '\u0a50\u0a53\u0005\u033c\u019f\u0002\u0a51\u0a53\u0007\u0190\u0002\u0002',
- '\u0a52\u0a4f\u0003\u0002\u0002\u0002\u0a52\u0a50\u0003\u0002\u0002\u0002',
- '\u0a52\u0a51\u0003\u0002\u0002\u0002\u0a53\u016b\u0003\u0002\u0002\u0002',
- '\u0a54\u0a59\u0005\u0350\u01a9\u0002\u0a55\u0a56\u0007\u0171\u0002\u0002',
- '\u0a56\u0a58\u0005\u0350\u01a9\u0002\u0a57\u0a55\u0003\u0002\u0002\u0002',
- '\u0a58\u0a5b\u0003\u0002\u0002\u0002\u0a59\u0a57\u0003\u0002\u0002\u0002',
- '\u0a59\u0a5a\u0003\u0002\u0002\u0002\u0a5a\u0a5e\u0003\u0002\u0002\u0002',
- '\u0a5b\u0a59\u0003\u0002\u0002\u0002\u0a5c\u0a5e\u0007\u0190\u0002\u0002',
- '\u0a5d\u0a54\u0003\u0002\u0002\u0002\u0a5d\u0a5c\u0003\u0002\u0002\u0002',
- '\u0a5e\u016d\u0003\u0002\u0002\u0002\u0a5f\u0a60\u0007u\u0002\u0002',
- '\u0a60\u0a61\u0007v\u0002\u0002\u0a61\u0a62\u0007\u0015\u0002\u0002',
- '\u0a62\u0a64\u0007\u0190\u0002\u0002\u0a63\u0a65\u0005\u0170\u00b9\u0002',
- '\u0a64\u0a63\u0003\u0002\u0002\u0002\u0a64\u0a65\u0003\u0002\u0002\u0002',
- '\u0a65\u016f\u0003\u0002\u0002\u0002\u0a66\u0a67\u0007w\u0002\u0002',
- '\u0a67\u0a68\u0007\u0015\u0002\u0002\u0a68\u0a69\u0007\u0190\u0002\u0002',
- '\u0a69\u0171\u0003\u0002\u0002\u0002\u0a6a\u0a6b\u0007x\u0002\u0002',
- '\u0a6b\u0a6c\u0007y\u0002\u0002\u0a6c\u0a6d\u0007v\u0002\u0002\u0a6d',
- '\u0a6e\u0007\u0015\u0002\u0002\u0a6e\u0a6f\u0007\u0190\u0002\u0002\u0a6f',
- '\u0173\u0003\u0002\u0002\u0002\u0a70\u0a71\u0007g\u0002\u0002\u0a71',
- '\u0a72\u0007z\u0002\u0002\u0a72\u0a73\u0007v\u0002\u0002\u0a73\u0a74',
- '\u0007\u0015\u0002\u0002\u0a74\u0a75\u0007\u0190\u0002\u0002\u0a75\u0175',
- '\u0003\u0002\u0002\u0002\u0a76\u0a77\u0007}\u0002\u0002\u0a77\u0a78',
- '\u0007v\u0002\u0002\u0a78\u0a79\u0007\u0015\u0002\u0002\u0a79\u0a7a',
- '\u0007\u0190\u0002\u0002\u0a7a\u0177\u0003\u0002\u0002\u0002\u0a7b\u0a7c',
- '\u0007D\u0002\u0002\u0a7c\u0a7d\u0007\u00a8\u0002\u0002\u0a7d\u0a7e',
- '\u0007\u0019\u0002\u0002\u0a7e\u0a7f\u0007\u0190\u0002\u0002\u0a7f\u0179',
- '\u0003\u0002\u0002\u0002\u0a80\u0a84\u0005\u0182\u00c2\u0002\u0a81\u0a84',
- '\u0005\u017c\u00bf\u0002\u0a82\u0a84\u0005\u017e\u00c0\u0002\u0a83\u0a80',
- '\u0003\u0002\u0002\u0002\u0a83\u0a81\u0003\u0002\u0002\u0002\u0a83\u0a82',
- '\u0003\u0002\u0002\u0002\u0a84\u017b\u0003\u0002\u0002\u0002\u0a85\u0a86',
- '\u0007~\u0002\u0002\u0a86\u0a87\u0007\u0015\u0002\u0002\u0a87\u0a8b',
- '\u0007\u0190\u0002\u0002\u0a88\u0a89\u0007\u009c\u0002\u0002\u0a89\u0a8a',
- '\u0007\u009e\u0002\u0002\u0a8a\u0a8c\u0005\u0164\u00b3\u0002\u0a8b\u0a88',
- '\u0003\u0002\u0002\u0002\u0a8b\u0a8c\u0003\u0002\u0002\u0002\u0a8c\u017d',
- '\u0003\u0002\u0002\u0002\u0a8d\u0a8e\u0007~\u0002\u0002\u0a8e\u0a8f',
- '\u0007\u0019\u0002\u0002\u0a8f\u0a90\u0005\u0180\u00c1\u0002\u0a90\u017f',
- '\u0003\u0002\u0002\u0002\u0a91\u0a92\t\u0013\u0002\u0002\u0a92\u0181',
- '\u0003\u0002\u0002\u0002\u0a93\u0a94\u0007~\u0002\u0002\u0a94\u0a95',
- '\u0007\u0019\u0002\u0002\u0a95\u0a96\u0005\u0184\u00c3\u0002\u0a96\u0a9b',
- '\u0005\u0186\u00c4\u0002\u0a97\u0a98\u0007\u0082\u0002\u0002\u0a98\u0a99',
- '\u0007\u0190\u0002\u0002\u0a99\u0a9a\u0007\u0083\u0002\u0002\u0a9a\u0a9c',
- '\u0007\u0190\u0002\u0002\u0a9b\u0a97\u0003\u0002\u0002\u0002\u0a9b\u0a9c',
- '\u0003\u0002\u0002\u0002\u0a9c\u0183\u0003\u0002\u0002\u0002\u0a9d\u0a9e',
- '\u0007\u0080\u0002\u0002\u0a9e\u0a9f\u0007\u0190\u0002\u0002\u0a9f\u0185',
- '\u0003\u0002\u0002\u0002\u0aa0\u0aa1\u0007\u0081\u0002\u0002\u0aa1\u0aa2',
- '\u0007\u0190\u0002\u0002\u0aa2\u0187\u0003\u0002\u0002\u0002\u0aa3\u0aa4',
- '\u0007\u0086\u0002\u0002\u0aa4\u0aa5\u0007\u0190\u0002\u0002\u0aa5\u0189',
- '\u0003\u0002\u0002\u0002\u0aa6\u0aab\u0005\u01cc\u00e7\u0002\u0aa7\u0aa8',
- '\u0007\u0173\u0002\u0002\u0aa8\u0aaa\u0005\u01cc\u00e7\u0002\u0aa9\u0aa7',
- '\u0003\u0002\u0002\u0002\u0aaa\u0aad\u0003\u0002\u0002\u0002\u0aab\u0aa9',
- '\u0003\u0002\u0002\u0002\u0aab\u0aac\u0003\u0002\u0002\u0002\u0aac\u018b',
- '\u0003\u0002\u0002\u0002\u0aad\u0aab\u0003\u0002\u0002\u0002\u0aae\u0ab3',
- '\u0005\u01ce\u00e8\u0002\u0aaf\u0ab0\u0007\u0173\u0002\u0002\u0ab0\u0ab2',
- '\u0005\u01ce\u00e8\u0002\u0ab1\u0aaf\u0003\u0002\u0002\u0002\u0ab2\u0ab5',
- '\u0003\u0002\u0002\u0002\u0ab3\u0ab1\u0003\u0002\u0002\u0002\u0ab3\u0ab4',
- '\u0003\u0002\u0002\u0002\u0ab4\u018d\u0003\u0002\u0002\u0002\u0ab5\u0ab3',
- '\u0003\u0002\u0002\u0002\u0ab6\u0abb\u0005\u01f8\u00fd\u0002\u0ab7\u0ab8',
- '\u0007\u0173\u0002\u0002\u0ab8\u0aba\u0005\u01f8\u00fd\u0002\u0ab9\u0ab7',
- '\u0003\u0002\u0002\u0002\u0aba\u0abd\u0003\u0002\u0002\u0002\u0abb\u0ab9',
- '\u0003\u0002\u0002\u0002\u0abb\u0abc\u0003\u0002\u0002\u0002\u0abc\u018f',
- '\u0003\u0002\u0002\u0002\u0abd\u0abb\u0003\u0002\u0002\u0002\u0abe\u0ac3',
- '\u0005\u0192\u00ca\u0002\u0abf\u0ac0\u0007\u0173\u0002\u0002\u0ac0\u0ac2',
- '\u0005\u0192\u00ca\u0002\u0ac1\u0abf\u0003\u0002\u0002\u0002\u0ac2\u0ac5',
- '\u0003\u0002\u0002\u0002\u0ac3\u0ac1\u0003\u0002\u0002\u0002\u0ac3\u0ac4',
- '\u0003\u0002\u0002\u0002\u0ac4\u0191\u0003\u0002\u0002\u0002\u0ac5\u0ac3',
- '\u0003\u0002\u0002\u0002\u0ac6\u0ac7\u0005\u0350\u01a9\u0002\u0ac7\u0193',
- '\u0003\u0002\u0002\u0002\u0ac8\u0ad2\u0005\u0350\u01a9\u0002\u0ac9\u0ace',
- '\u0007\u0171\u0002\u0002\u0aca\u0acf\u0007\u00a7\u0002\u0002\u0acb\u0acf',
- '\u0007{\u0002\u0002\u0acc\u0acf\u0007\u00a6\u0002\u0002\u0acd\u0acf',
- '\u0005\u0350\u01a9\u0002\u0ace\u0aca\u0003\u0002\u0002\u0002\u0ace\u0acb',
- '\u0003\u0002\u0002\u0002\u0ace\u0acc\u0003\u0002\u0002\u0002\u0ace\u0acd',
- '\u0003\u0002\u0002\u0002\u0acf\u0ad1\u0003\u0002\u0002\u0002\u0ad0\u0ac9',
- '\u0003\u0002\u0002\u0002\u0ad1\u0ad4\u0003\u0002\u0002\u0002\u0ad2\u0ad0',
- '\u0003\u0002\u0002\u0002\u0ad2\u0ad3\u0003\u0002\u0002\u0002\u0ad3\u0195',
- '\u0003\u0002\u0002\u0002\u0ad4\u0ad2\u0003\u0002\u0002\u0002\u0ad5\u0ada',
- '\u0005\u01c4\u00e3\u0002\u0ad6\u0ad7\u0007\u0173\u0002\u0002\u0ad7\u0ad9',
- '\u0005\u01c4\u00e3\u0002\u0ad8\u0ad6\u0003\u0002\u0002\u0002\u0ad9\u0adc',
- '\u0003\u0002\u0002\u0002\u0ada\u0ad8\u0003\u0002\u0002\u0002\u0ada\u0adb',
- '\u0003\u0002\u0002\u0002\u0adb\u0197\u0003\u0002\u0002\u0002\u0adc\u0ada',
- '\u0003\u0002\u0002\u0002\u0add\u0ade\u0007\u0175\u0002\u0002\u0ade\u0adf',
- '\u0005\u0190\u00c9\u0002\u0adf\u0ae0\u0007\u0176\u0002\u0002\u0ae0\u0199',
- '\u0003\u0002\u0002\u0002\u0ae1\u0ae3\u0005\u019c\u00cf\u0002\u0ae2\u0ae4',
- '\u0005\u019e\u00d0\u0002\u0ae3\u0ae2\u0003\u0002\u0002\u0002\u0ae3\u0ae4',
- '\u0003\u0002\u0002\u0002\u0ae4\u0ae7\u0003\u0002\u0002\u0002\u0ae5\u0ae7',
- '\u0005\u01a0\u00d1\u0002\u0ae6\u0ae1\u0003\u0002\u0002\u0002\u0ae6\u0ae5',
- '\u0003\u0002\u0002\u0002\u0ae7\u019b\u0003\u0002\u0002\u0002\u0ae8\u0ae9',
- '\t\u0014\u0002\u0002\u0ae9\u019d\u0003\u0002\u0002\u0002\u0aea\u0aeb',
- '\t\u0015\u0002\u0002\u0aeb\u019f\u0003\u0002\u0002\u0002\u0aec\u0af0',
- '\u0007\u012c\u0002\u0002\u0aed\u0aee\u0007\n\u0002\u0002\u0aee\u0af0',
- '\u0007\u012c\u0002\u0002\u0aef\u0aec\u0003\u0002\u0002\u0002\u0aef\u0aed',
- '\u0003\u0002\u0002\u0002\u0af0\u01a1\u0003\u0002\u0002\u0002\u0af1\u0af6',
- '\u0007\u012f\u0002\u0002\u0af2\u0af4\u0007\u0130\u0002\u0002\u0af3\u0af2',
- '\u0003\u0002\u0002\u0002\u0af3\u0af4\u0003\u0002\u0002\u0002\u0af4\u0af6',
- '\u0003\u0002\u0002\u0002\u0af5\u0af1\u0003\u0002\u0002\u0002\u0af5\u0af3',
- '\u0003\u0002\u0002\u0002\u0af6\u01a3\u0003\u0002\u0002\u0002\u0af7\u0af8',
- '\u0007\u012b\u0002\u0002\u0af8\u0afa\u0005\u0350\u01a9\u0002\u0af9\u0af7',
- '\u0003\u0002\u0002\u0002\u0af9\u0afa\u0003\u0002\u0002\u0002\u0afa\u0afb',
- '\u0003\u0002\u0002\u0002\u0afb\u0afd\u0005\u01a8\u00d5\u0002\u0afc\u0afe',
- '\u0005\u01f4\u00fb\u0002\u0afd\u0afc\u0003\u0002\u0002\u0002\u0afd\u0afe',
- '\u0003\u0002\u0002\u0002\u0afe\u01a5\u0003\u0002\u0002\u0002\u0aff\u0b00',
- '\u0007\u012b\u0002\u0002\u0b00\u0b01\u0005\u0350\u01a9\u0002\u0b01\u0b03',
- '\u0005\u01a8\u00d5\u0002\u0b02\u0b04\u0005\u01f6\u00fc\u0002\u0b03\u0b02',
- '\u0003\u0002\u0002\u0002\u0b03\u0b04\u0003\u0002\u0002\u0002\u0b04\u01a7',
- '\u0003\u0002\u0002\u0002\u0b05\u0b0a\u0005\u01aa\u00d6\u0002\u0b06\u0b0a',
- '\u0005\u01ac\u00d7\u0002\u0b07\u0b0a\u0005\u01ae\u00d8\u0002\u0b08\u0b0a',
- '\u0005\u01b0\u00d9\u0002\u0b09\u0b05\u0003\u0002\u0002\u0002\u0b09\u0b06',
- '\u0003\u0002\u0002\u0002\u0b09\u0b07\u0003\u0002\u0002\u0002\u0b09\u0b08',
- '\u0003\u0002\u0002\u0002\u0b0a\u01a9\u0003\u0002\u0002\u0002\u0b0b\u0b0c',
- '\u0005\u01f2\u00fa\u0002\u0b0c\u0b0d\u0005\u0198\u00cd\u0002\u0b0d\u01ab',
- '\u0003\u0002\u0002\u0002\u0b0e\u0b0f\u0007\u0147\u0002\u0002\u0b0f\u0b10',
- '\u0005\u0330\u0199\u0002\u0b10\u01ad\u0003\u0002\u0002\u0002\u0b11\u0b12',
- '\u0007\u016e\u0002\u0002\u0b12\u0b13\u0007\u0175\u0002\u0002\u0b13\u0b14',
- '\u0005\u0330\u0199\u0002\u0b14\u0b1d\u0007\u0176\u0002\u0002\u0b15\u0b16',
- '\u0007%\u0002\u0002\u0b16\u0b1b\u0007\u016f\u0002\u0002\u0b17\u0b18',
- '\u0007\u0170\u0002\u0002\u0b18\u0b1c\u0007\u00e9\u0002\u0002\u0b19\u0b1a',
- '\u0007M\u0002\u0002\u0b1a\u0b1c\u0007q\u0002\u0002\u0b1b\u0b17\u0003',
- '\u0002\u0002\u0002\u0b1b\u0b19\u0003\u0002\u0002\u0002\u0b1c\u0b1e\u0003',
- '\u0002\u0002\u0002\u0b1d\u0b15\u0003\u0002\u0002\u0002\u0b1d\u0b1e\u0003',
- '\u0002\u0002\u0002\u0b1e\u01af\u0003\u0002\u0002\u0002\u0b1f\u0b20\u0007',
- '\u012b\u0002\u0002\u0b20\u0b22\u0005\u0350\u01a9\u0002\u0b21\u0b1f\u0003',
- '\u0002\u0002\u0002\u0b21\u0b22\u0003\u0002\u0002\u0002\u0b22\u0b23\u0003',
- '\u0002\u0002\u0002\u0b23\u0b24\u0007\u0129\u0002\u0002\u0b24\u0b25\u0007',
- '\u0132\u0002\u0002\u0b25\u0b26\u0005\u0198\u00cd\u0002\u0b26\u0b27\u0007',
- '\u012a\u0002\u0002\u0b27\u0b28\u0005\u029e\u0150\u0002\u0b28\u0b2a\u0005',
- '\u0198\u00cd\u0002\u0b29\u0b2b\u0005\u01f4\u00fb\u0002\u0b2a\u0b29\u0003',
- '\u0002\u0002\u0002\u0b2a\u0b2b\u0003\u0002\u0002\u0002\u0b2b\u01b1\u0003',
- '\u0002\u0002\u0002\u0b2c\u0b2d\u0007\u012b\u0002\u0002\u0b2d\u0b2e\u0005',
- '\u0350\u01a9\u0002\u0b2e\u0b2f\u0007\u0129\u0002\u0002\u0b2f\u0b30\u0007',
- '\u0132\u0002\u0002\u0b30\u0b31\u0005\u0198\u00cd\u0002\u0b31\u0b32\u0007',
- '\u012a\u0002\u0002\u0b32\u0b33\u0005\u029e\u0150\u0002\u0b33\u0b35\u0005',
- '\u0198\u00cd\u0002\u0b34\u0b36\u0005\u01f6\u00fc\u0002\u0b35\u0b34\u0003',
- '\u0002\u0002\u0002\u0b35\u0b36\u0003\u0002\u0002\u0002\u0b36\u01b3\u0003',
- '\u0002\u0002\u0002\u0b37\u0b3a\u0005\u01ba\u00de\u0002\u0b38\u0b3a\u0005',
- '\u01b6\u00dc\u0002\u0b39\u0b37\u0003\u0002\u0002\u0002\u0b39\u0b38\u0003',
- '\u0002\u0002\u0002\u0b3a\u01b5\u0003\u0002\u0002\u0002\u0b3b\u0b40\u0005',
- '\u01b8\u00dd\u0002\u0b3c\u0b3d\u0007\u0173\u0002\u0002\u0b3d\u0b3f\u0005',
- '\u01b8\u00dd\u0002\u0b3e\u0b3c\u0003\u0002\u0002\u0002\u0b3f\u0b42\u0003',
- '\u0002\u0002\u0002\u0b40\u0b3e\u0003\u0002\u0002\u0002\u0b40\u0b41\u0003',
- '\u0002\u0002\u0002\u0b41\u01b7\u0003\u0002\u0002\u0002\u0b42\u0b40\u0003',
- '\u0002\u0002\u0002\u0b43\u0b44\u0007\u0175\u0002\u0002\u0b44\u0b45\u0005',
- '\u01ba\u00de\u0002\u0b45\u0b46\u0007\u0176\u0002\u0002\u0b46\u01b9\u0003',
- '\u0002\u0002\u0002\u0b47\u0b4c\u0005\u01bc\u00df\u0002\u0b48\u0b49\u0007',
- '\u0173\u0002\u0002\u0b49\u0b4b\u0005\u01bc\u00df\u0002\u0b4a\u0b48\u0003',
- '\u0002\u0002\u0002\u0b4b\u0b4e\u0003\u0002\u0002\u0002\u0b4c\u0b4a\u0003',
- '\u0002\u0002\u0002\u0b4c\u0b4d\u0003\u0002\u0002\u0002\u0b4d\u01bb\u0003',
- '\u0002\u0002\u0002\u0b4e\u0b4c\u0003\u0002\u0002\u0002\u0b4f\u0b50\u0005',
- '\u02fc\u017f\u0002\u0b50\u01bd\u0003\u0002\u0002\u0002\u0b51\u0b54\u0005',
- '\u01bc\u00df\u0002\u0b52\u0b54\u0005\u01b8\u00dd\u0002\u0b53\u0b51\u0003',
- '\u0002\u0002\u0002\u0b53\u0b52\u0003\u0002\u0002\u0002\u0b54\u01bf\u0003',
- '\u0002\u0002\u0002\u0b55\u0b56\t\u0016\u0002\u0002\u0b56\u01c1\u0003',
- '\u0002\u0002\u0002\u0b57\u0b58\u0007\u0011\u0002\u0002\u0b58\u0b5c\u0007',
- 'J\u0002\u0002\u0b59\u0b5a\u0007\u0011\u0002\u0002\u0b5a\u0b5c\u0007',
- '\u0012\u0002\u0002\u0b5b\u0b57\u0003\u0002\u0002\u0002\u0b5b\u0b59\u0003',
- '\u0002\u0002\u0002\u0b5c\u01c3\u0003\u0002\u0002\u0002\u0b5d\u0b5f\u0005',
- '\u0350\u01a9\u0002\u0b5e\u0b60\u0005\u01c0\u00e1\u0002\u0b5f\u0b5e\u0003',
- '\u0002\u0002\u0002\u0b5f\u0b60\u0003\u0002\u0002\u0002\u0b60\u0b62\u0003',
- '\u0002\u0002\u0002\u0b61\u0b63\u0005\u01c2\u00e2\u0002\u0b62\u0b61\u0003',
- '\u0002\u0002\u0002\u0b62\u0b63\u0003\u0002\u0002\u0002\u0b63\u01c5\u0003',
- '\u0002\u0002\u0002\u0b64\u0b69\u0005\u01c8\u00e5\u0002\u0b65\u0b66\u0007',
- '\u0173\u0002\u0002\u0b66\u0b68\u0005\u01c8\u00e5\u0002\u0b67\u0b65\u0003',
- '\u0002\u0002\u0002\u0b68\u0b6b\u0003\u0002\u0002\u0002\u0b69\u0b67\u0003',
- '\u0002\u0002\u0002\u0b69\u0b6a\u0003\u0002\u0002\u0002\u0b6a\u01c7\u0003',
- '\u0002\u0002\u0002\u0b6b\u0b69\u0003\u0002\u0002\u0002\u0b6c\u0b6f\u0005',
- '\u0350\u01a9\u0002\u0b6d\u0b6e\u0007P\u0002\u0002\u0b6e\u0b70\u0007',
- '\u0190\u0002\u0002\u0b6f\u0b6d\u0003\u0002\u0002\u0002\u0b6f\u0b70\u0003',
- '\u0002\u0002\u0002\u0b70\u01c9\u0003\u0002\u0002\u0002\u0b71\u0b73\u0005',
- '\u0330\u0199\u0002\u0b72\u0b74\u0005\u01c0\u00e1\u0002\u0b73\u0b72\u0003',
- '\u0002\u0002\u0002\u0b73\u0b74\u0003\u0002\u0002\u0002\u0b74\u0b76\u0003',
- '\u0002\u0002\u0002\u0b75\u0b77\u0005\u01c2\u00e2\u0002\u0b76\u0b75\u0003',
- '\u0002\u0002\u0002\u0b76\u0b77\u0003\u0002\u0002\u0002\u0b77\u01cb\u0003',
- '\u0002\u0002\u0002\u0b78\u0b79\u0005\u0350\u01a9\u0002\u0b79\u0b7c\u0005',
- '\u01fa\u00fe\u0002\u0b7a\u0b7b\u0007P\u0002\u0002\u0b7b\u0b7d\u0007',
- '\u0190\u0002\u0002\u0b7c\u0b7a\u0003\u0002\u0002\u0002\u0b7c\u0b7d\u0003',
- '\u0002\u0002\u0002\u0b7d\u01cd\u0003\u0002\u0002\u0002\u0b7e\u0b81\u0005',
- '\u01d0\u00e9\u0002\u0b7f\u0b81\u0005\u01d2\u00ea\u0002\u0b80\u0b7e\u0003',
- '\u0002\u0002\u0002\u0b80\u0b7f\u0003\u0002\u0002\u0002\u0b81\u01cf\u0003',
- '\u0002\u0002\u0002\u0b82\u0b85\u0005\u01b0\u00d9\u0002\u0b83\u0b85\u0005',
- '\u01a4\u00d3\u0002\u0b84\u0b82\u0003\u0002\u0002\u0002\u0b84\u0b83\u0003',
- '\u0002\u0002\u0002\u0b85\u01d1\u0003\u0002\u0002\u0002\u0b86\u0b87\u0005',
- '\u0350\u01a9\u0002\u0b87\u0b8b\u0005\u01fa\u00fe\u0002\u0b88\u0b8a\u0005',
- '\u01e2\u00f2\u0002\u0b89\u0b88\u0003\u0002\u0002\u0002\u0b8a\u0b8d\u0003',
- '\u0002\u0002\u0002\u0b8b\u0b89\u0003\u0002\u0002\u0002\u0b8b\u0b8c\u0003',
- '\u0002\u0002\u0002\u0b8c\u01d3\u0003\u0002\u0002\u0002\u0b8d\u0b8b\u0003',
- '\u0002\u0002\u0002\u0b8e\u0b91\u0007\u0161\u0002\u0002\u0b8f\u0b92\u0005',
- '\u01d6\u00ec\u0002\u0b90\u0b92\u0005\u01d8\u00ed\u0002\u0b91\u0b8f\u0003',
- '\u0002\u0002\u0002\u0b91\u0b90\u0003\u0002\u0002\u0002\u0b92\u01d5\u0003',
- '\u0002\u0002\u0002\u0b93\u0b94\u0007\u0162\u0002\u0002\u0b94\u0b95\u0007',
- '\u0019\u0002\u0002\u0b95\u0b96\u0007\u0175\u0002\u0002\u0b96\u0b97\u0005',
- '\u0330\u0199\u0002\u0b97\u0b98\u0007\u0176\u0002\u0002\u0b98\u01d7\u0003',
- '\u0002\u0002\u0002\u0b99\u0b9d\u0007\u0162\u0002\u0002\u0b9a\u0b9b\u0007',
- '\u0015\u0002\u0002\u0b9b\u0b9d\u0007\u0146\u0002\u0002\u0b9c\u0b99\u0003',
- '\u0002\u0002\u0002\u0b9c\u0b9a\u0003\u0002\u0002\u0002\u0b9d\u0b9e\u0003',
- '\u0002\u0002\u0002\u0b9e\u0b9f\u0007\u0019\u0002\u0002\u0b9f\u0ba4\u0007',
- '\u0163\u0002\u0002\u0ba0\u0ba1\u0007\u0175\u0002\u0002\u0ba1\u0ba2\u0005',
- '\u01da\u00ee\u0002\u0ba2\u0ba3\u0007\u0176\u0002\u0002\u0ba3\u0ba5\u0003',
- '\u0002\u0002\u0002\u0ba4\u0ba0\u0003\u0002\u0002\u0002\u0ba4\u0ba5\u0003',
- '\u0002\u0002\u0002\u0ba5\u01d9\u0003\u0002\u0002\u0002\u0ba6\u0ba8\u0005',
- '\u01dc\u00ef\u0002\u0ba7\u0ba6\u0003\u0002\u0002\u0002\u0ba7\u0ba8\u0003',
- '\u0002\u0002\u0002\u0ba8\u0baa\u0003\u0002\u0002\u0002\u0ba9\u0bab\u0005',
- '\u01de\u00f0\u0002\u0baa\u0ba9\u0003\u0002\u0002\u0002\u0baa\u0bab\u0003',
- '\u0002\u0002\u0002\u0bab\u01db\u0003\u0002\u0002\u0002\u0bac\u0bad\u0007',
- '\u011c\u0002\u0002\u0bad\u0bae\u0007\u009c\u0002\u0002\u0bae\u0baf\u0007',
- '\u0195\u0002\u0002\u0baf\u01dd\u0003\u0002\u0002\u0002\u0bb0\u0bb1\u0007',
- '\u0164\u0002\u0002\u0bb1\u0bb2\u0007\u0015\u0002\u0002\u0bb2\u0bb3\u0007',
- '\u0195\u0002\u0002\u0bb3\u01df\u0003\u0002\u0002\u0002\u0bb4\u0bb6\u0005',
- '\u0350\u01a9\u0002\u0bb5\u0bb7\u0005\u01fa\u00fe\u0002\u0bb6\u0bb5\u0003',
- '\u0002\u0002\u0002\u0bb6\u0bb7\u0003\u0002\u0002\u0002\u0bb7\u01e1\u0003',
- '\u0002\u0002\u0002\u0bb8\u0bbb\u0005\u01e4\u00f3\u0002\u0bb9\u0bbb\u0005',
- '\u01e6\u00f4\u0002\u0bba\u0bb8\u0003\u0002\u0002\u0002\u0bba\u0bb9\u0003',
- '\u0002\u0002\u0002\u0bbb\u01e3\u0003\u0002\u0002\u0002\u0bbc\u0bbd\u0007',
- '\u012b\u0002\u0002\u0bbd\u0bbf\u0005\u0350\u01a9\u0002\u0bbe\u0bbc\u0003',
- '\u0002\u0002\u0002\u0bbe\u0bbf\u0003\u0002\u0002\u0002\u0bbf\u0bc0\u0003',
- '\u0002\u0002\u0002\u0bc0\u0bc1\u0007\u012a\u0002\u0002\u0bc1\u0bc2\u0005',
- '\u029e\u0150\u0002\u0bc2\u0bc3\u0007\u0175\u0002\u0002\u0bc3\u0bc4\u0005',
- '\u0192\u00ca\u0002\u0bc4\u0bc6\u0007\u0176\u0002\u0002\u0bc5\u0bc7\u0005',
- '\u01f4\u00fb\u0002\u0bc6\u0bc5\u0003\u0002\u0002\u0002\u0bc6\u0bc7\u0003',
- '\u0002\u0002\u0002\u0bc7\u01e5\u0003\u0002\u0002\u0002\u0bc8\u0bc9\u0007',
- '\u012b\u0002\u0002\u0bc9\u0bcb\u0005\u0350\u01a9\u0002\u0bca\u0bc8\u0003',
- '\u0002\u0002\u0002\u0bca\u0bcb\u0003\u0002\u0002\u0002\u0bcb\u0bcc\u0003',
- '\u0002\u0002\u0002\u0bcc\u0bd0\u0005\u01ee\u00f8\u0002\u0bcd\u0bcf\u0005',
- '\u01ee\u00f8\u0002\u0bce\u0bcd\u0003\u0002\u0002\u0002\u0bcf\u0bd2\u0003',
- '\u0002\u0002\u0002\u0bd0\u0bce\u0003\u0002\u0002\u0002\u0bd0\u0bd1\u0003',
- '\u0002\u0002\u0002\u0bd1\u0bd4\u0003\u0002\u0002\u0002\u0bd2\u0bd0\u0003',
- '\u0002\u0002\u0002\u0bd3\u0bd5\u0005\u01f4\u00fb\u0002\u0bd4\u0bd3\u0003',
- '\u0002\u0002\u0002\u0bd4\u0bd5\u0003\u0002\u0002\u0002\u0bd5\u01e7\u0003',
- '\u0002\u0002\u0002\u0bd6\u0bd9\u0005\u01ea\u00f6\u0002\u0bd7\u0bd9\u0005',
- '\u01ec\u00f7\u0002\u0bd8\u0bd6\u0003\u0002\u0002\u0002\u0bd8\u0bd7\u0003',
- '\u0002\u0002\u0002\u0bd9\u01e9\u0003\u0002\u0002\u0002\u0bda\u0bdb\u0007',
- '\u012b\u0002\u0002\u0bdb\u0bdd\u0005\u0350\u01a9\u0002\u0bdc\u0bda\u0003',
- '\u0002\u0002\u0002\u0bdc\u0bdd\u0003\u0002\u0002\u0002\u0bdd\u0bde\u0003',
- '\u0002\u0002\u0002\u0bde\u0bdf\u0007\u012a\u0002\u0002\u0bdf\u0be0\u0005',
- '\u029e\u0150\u0002\u0be0\u0be1\u0007\u0175\u0002\u0002\u0be1\u0be2\u0005',
- '\u0192\u00ca\u0002\u0be2\u0be4\u0007\u0176\u0002\u0002\u0be3\u0be5\u0005',
- '\u01f6\u00fc\u0002\u0be4\u0be3\u0003\u0002\u0002\u0002\u0be4\u0be5\u0003',
- '\u0002\u0002\u0002\u0be5\u01eb\u0003\u0002\u0002\u0002\u0be6\u0be7\u0007',
- '\u012b\u0002\u0002\u0be7\u0be9\u0005\u0350\u01a9\u0002\u0be8\u0be6\u0003',
- '\u0002\u0002\u0002\u0be8\u0be9\u0003\u0002\u0002\u0002\u0be9\u0bea\u0003',
- '\u0002\u0002\u0002\u0bea\u0bec\u0005\u01ee\u00f8\u0002\u0beb\u0bed\u0005',
- '\u01f6\u00fc\u0002\u0bec\u0beb\u0003\u0002\u0002\u0002\u0bec\u0bed\u0003',
- '\u0002\u0002\u0002\u0bed\u01ed\u0003\u0002\u0002\u0002\u0bee\u0bef\u0007',
- '\n\u0002\u0002\u0bef\u0bfa\u0007D\u0002\u0002\u0bf0\u0bf1\u0007\u0146',
- '\u0002\u0002\u0bf1\u0bfa\u0005\u01f0\u00f9\u0002\u0bf2\u0bfa\u0005\u01d4',
- '\u00eb\u0002\u0bf3\u0bfa\u0005\u01ac\u00d7\u0002\u0bf4\u0bfa\u0005\u01f2',
- '\u00fa\u0002\u0bf5\u0bf6\u0007P\u0002\u0002\u0bf6\u0bfa\u0007\u0190',
- '\u0002\u0002\u0bf7\u0bf8\u0007h\u0002\u0002\u0bf8\u0bfa\u0005\u0352',
- '\u01aa\u0002\u0bf9\u0bee\u0003\u0002\u0002\u0002\u0bf9\u0bf0\u0003\u0002',
- '\u0002\u0002\u0bf9\u0bf2\u0003\u0002\u0002\u0002\u0bf9\u0bf3\u0003\u0002',
- '\u0002\u0002\u0bf9\u0bf4\u0003\u0002\u0002\u0002\u0bf9\u0bf5\u0003\u0002',
- '\u0002\u0002\u0bf9\u0bf7\u0003\u0002\u0002\u0002\u0bfa\u01ef\u0003\u0002',
- '\u0002\u0002\u0bfb\u0c00\u0005\u02fc\u017f\u0002\u0bfc\u0c00\u0005\u02ea',
- '\u0176\u0002\u0bfd\u0c00\u0005\u02ee\u0178\u0002\u0bfe\u0c00\u0005\u0350',
- '\u01a9\u0002\u0bff\u0bfb\u0003\u0002\u0002\u0002\u0bff\u0bfc\u0003\u0002',
- '\u0002\u0002\u0bff\u0bfd\u0003\u0002\u0002\u0002\u0bff\u0bfe\u0003\u0002',
- '\u0002\u0002\u0c00\u01f1\u0003\u0002\u0002\u0002\u0c01\u0c02\u0007\u0128',
- '\u0002\u0002\u0c02\u0c05\u0007\u0132\u0002\u0002\u0c03\u0c05\u0007\u0131',
- '\u0002\u0002\u0c04\u0c01\u0003\u0002\u0002\u0002\u0c04\u0c03\u0003\u0002',
- '\u0002\u0002\u0c05\u01f3\u0003\u0002\u0002\u0002\u0c06\u0c08\u0005\u019a',
- '\u00ce\u0002\u0c07\u0c06\u0003\u0002\u0002\u0002\u0c07\u0c08\u0003\u0002',
- '\u0002\u0002\u0c08\u0c09\u0003\u0002\u0002\u0002\u0c09\u0c0a\u0005\u01a2',
- '\u00d2\u0002\u0c0a\u01f5\u0003\u0002\u0002\u0002\u0c0b\u0c0d\u0005\u019a',
- '\u00ce\u0002\u0c0c\u0c0b\u0003\u0002\u0002\u0002\u0c0c\u0c0d\u0003\u0002',
- '\u0002\u0002\u0c0d\u0c0e\u0003\u0002\u0002\u0002\u0c0e\u0c0f\u0005\u01a2',
- '\u00d2\u0002\u0c0f\u01f7\u0003\u0002\u0002\u0002\u0c10\u0c11\u0005\u0350',
- '\u01a9\u0002\u0c11\u0c12\u0007\u0172\u0002\u0002\u0c12\u0c15\u0005\u01fa',
- '\u00fe\u0002\u0c13\u0c14\u0007P\u0002\u0002\u0c14\u0c16\u0007\u0190',
- '\u0002\u0002\u0c15\u0c13\u0003\u0002\u0002\u0002\u0c15\u0c16\u0003\u0002',
- '\u0002\u0002\u0c16\u01f9\u0003\u0002\u0002\u0002\u0c17\u0c18\u0005\u01fe',
- '\u0100\u0002\u0c18\u01fb\u0003\u0002\u0002\u0002\u0c19\u0c1e\u0005\u01fa',
- '\u00fe\u0002\u0c1a\u0c1b\u0007\u0173\u0002\u0002\u0c1b\u0c1d\u0005\u01fa',
- '\u00fe\u0002\u0c1c\u0c1a\u0003\u0002\u0002\u0002\u0c1d\u0c20\u0003\u0002',
- '\u0002\u0002\u0c1e\u0c1c\u0003\u0002\u0002\u0002\u0c1e\u0c1f\u0003\u0002',
- '\u0002\u0002\u0c1f\u01fd\u0003\u0002\u0002\u0002\u0c20\u0c1e\u0003\u0002',
- '\u0002\u0002\u0c21\u0c27\u0005\u0200\u0101\u0002\u0c22\u0c27\u0005\u0202',
- '\u0102\u0002\u0c23\u0c27\u0005\u0204\u0103\u0002\u0c24\u0c27\u0005\u0206',
- '\u0104\u0002\u0c25\u0c27\u0005\u0208\u0105\u0002\u0c26\u0c21\u0003\u0002',
- '\u0002\u0002\u0c26\u0c22\u0003\u0002\u0002\u0002\u0c26\u0c23\u0003\u0002',
- '\u0002\u0002\u0c26\u0c24\u0003\u0002\u0002\u0002\u0c26\u0c25\u0003\u0002',
- '\u0002\u0002\u0c27\u01ff\u0003\u0002\u0002\u0002\u0c28\u0c52\u0007R',
- '\u0002\u0002\u0c29\u0c52\u0007S\u0002\u0002\u0c2a\u0c52\u0007T\u0002',
- '\u0002\u0c2b\u0c52\u0007U\u0002\u0002\u0c2c\u0c52\u0007Q\u0002\u0002',
- '\u0c2d\u0c52\u0007V\u0002\u0002\u0c2e\u0c30\u0007W\u0002\u0002\u0c2f',
- '\u0c31\u0007X\u0002\u0002\u0c30\u0c2f\u0003\u0002\u0002\u0002\u0c30',
- '\u0c31\u0003\u0002\u0002\u0002\u0c31\u0c52\u0003\u0002\u0002\u0002\u0c32',
- '\u0c52\u0007Y\u0002\u0002\u0c33\u0c52\u0007Z\u0002\u0002\u0c34\u0c52',
- '\u0007[\u0002\u0002\u0c35\u0c52\u0007\\\u0002\u0002\u0c36\u0c52\u0007',
- ']\u0002\u0002\u0c37\u0c38\u0007[\u0002\u0002\u0c38\u0c39\u0007\u009c',
- '\u0002\u0002\u0c39\u0c3a\u00074\u0002\u0002\u0c3a\u0c3b\u0007^\u0002',
- '\u0002\u0c3b\u0c52\u0007_\u0002\u0002\u0c3c\u0c52\u0007b\u0002\u0002',
- '\u0c3d\u0c52\u0007\u00d5\u0002\u0002\u0c3e\u0c46\u0007a\u0002\u0002',
- '\u0c3f\u0c40\u0007\u0175\u0002\u0002\u0c40\u0c43\u0007\u0195\u0002\u0002',
- '\u0c41\u0c42\u0007\u0173\u0002\u0002\u0c42\u0c44\u0007\u0195\u0002\u0002',
- '\u0c43\u0c41\u0003\u0002\u0002\u0002\u0c43\u0c44\u0003\u0002\u0002\u0002',
- '\u0c44\u0c45\u0003\u0002\u0002\u0002\u0c45\u0c47\u0007\u0176\u0002\u0002',
- '\u0c46\u0c3f\u0003\u0002\u0002\u0002\u0c46\u0c47\u0003\u0002\u0002\u0002',
- '\u0c47\u0c52\u0003\u0002\u0002\u0002\u0c48\u0c49\u0007d\u0002\u0002',
- '\u0c49\u0c4a\u0007\u0175\u0002\u0002\u0c4a\u0c4b\u0007\u0195\u0002\u0002',
- '\u0c4b\u0c52\u0007\u0176\u0002\u0002\u0c4c\u0c4d\u0007c\u0002\u0002',
- '\u0c4d\u0c4e\u0007\u0175\u0002\u0002\u0c4e\u0c4f\u0007\u0195\u0002\u0002',
- '\u0c4f\u0c52\u0007\u0176\u0002\u0002\u0c50\u0c52\u0007i\u0002\u0002',
- '\u0c51\u0c28\u0003\u0002\u0002\u0002\u0c51\u0c29\u0003\u0002\u0002\u0002',
- '\u0c51\u0c2a\u0003\u0002\u0002\u0002\u0c51\u0c2b\u0003\u0002\u0002\u0002',
- '\u0c51\u0c2c\u0003\u0002\u0002\u0002\u0c51\u0c2d\u0003\u0002\u0002\u0002',
- '\u0c51\u0c2e\u0003\u0002\u0002\u0002\u0c51\u0c32\u0003\u0002\u0002\u0002',
- '\u0c51\u0c33\u0003\u0002\u0002\u0002\u0c51\u0c34\u0003\u0002\u0002\u0002',
- '\u0c51\u0c35\u0003\u0002\u0002\u0002\u0c51\u0c36\u0003\u0002\u0002\u0002',
- '\u0c51\u0c37\u0003\u0002\u0002\u0002\u0c51\u0c3c\u0003\u0002\u0002\u0002',
- '\u0c51\u0c3d\u0003\u0002\u0002\u0002\u0c51\u0c3e\u0003\u0002\u0002\u0002',
- '\u0c51\u0c48\u0003\u0002\u0002\u0002\u0c51\u0c4c\u0003\u0002\u0002\u0002',
- '\u0c51\u0c50\u0003\u0002\u0002\u0002\u0c52\u0201\u0003\u0002\u0002\u0002',
- '\u0c53\u0c54\u0007e\u0002\u0002\u0c54\u0c55\u0007\u017f\u0002\u0002',
- '\u0c55\u0c56\u0005\u01fe\u0100\u0002\u0c56\u0c57\u0007\u0181\u0002\u0002',
- '\u0c57\u0203\u0003\u0002\u0002\u0002\u0c58\u0c59\u0007f\u0002\u0002',
- '\u0c59\u0c5a\u0007\u017f\u0002\u0002\u0c5a\u0c5b\u0005\u018e\u00c8\u0002',
- '\u0c5b\u0c5c\u0007\u0181\u0002\u0002\u0c5c\u0205\u0003\u0002\u0002\u0002',
- '\u0c5d\u0c5e\u0007g\u0002\u0002\u0c5e\u0c5f\u0007\u017f\u0002\u0002',
- '\u0c5f\u0c60\u0005\u0200\u0101\u0002\u0c60\u0c61\u0007\u0173\u0002\u0002',
- '\u0c61\u0c62\u0005\u01fe\u0100\u0002\u0c62\u0c63\u0007\u0181\u0002\u0002',
- '\u0c63\u0207\u0003\u0002\u0002\u0002\u0c64\u0c65\u0007j\u0002\u0002',
- '\u0c65\u0c66\u0007\u017f\u0002\u0002\u0c66\u0c67\u0005\u01fc\u00ff\u0002',
- '\u0c67\u0c68\u0007\u0181\u0002\u0002\u0c68\u0209\u0003\u0002\u0002\u0002',
- '\u0c69\u0c6a\u0007:\u0002\u0002\u0c6a\u0c82\u0007\u0005\u0002\u0002',
- '\u0c6b\u0c6d\u0007:\u0002\u0002\u0c6c\u0c6e\u0007\u001b\u0002\u0002',
- '\u0c6d\u0c6c\u0003\u0002\u0002\u0002\u0c6d\u0c6e\u0003\u0002\u0002\u0002',
- '\u0c6e\u0c82\u0003\u0002\u0002\u0002\u0c6f\u0c70\u0007\u00b8\u0002\u0002',
- '\u0c70\u0c82\u0007\u0005\u0002\u0002\u0c71\u0c73\u0007\u00b8\u0002\u0002',
- '\u0c72\u0c74\u0007\u001b\u0002\u0002\u0c73\u0c72\u0003\u0002\u0002\u0002',
- '\u0c73\u0c74\u0003\u0002\u0002\u0002\u0c74\u0c82\u0003\u0002\u0002\u0002',
- '\u0c75\u0c76\u0007;\u0002\u0002\u0c76\u0c82\u0007\u0005\u0002\u0002',
- '\u0c77\u0c79\u0007;\u0002\u0002\u0c78\u0c7a\u0007\u001b\u0002\u0002',
- '\u0c79\u0c78\u0003\u0002\u0002\u0002\u0c79\u0c7a\u0003\u0002\u0002\u0002',
- '\u0c7a\u0c82\u0003\u0002\u0002\u0002\u0c7b\u0c7c\u0007\u00b6\u0002\u0002',
- '\u0c7c\u0c82\u0007\u0005\u0002\u0002\u0c7d\u0c7f\u0007\u00b6\u0002\u0002',
- '\u0c7e\u0c80\u0007\u001b\u0002\u0002\u0c7f\u0c7e\u0003\u0002\u0002\u0002',
- '\u0c7f\u0c80\u0003\u0002\u0002\u0002\u0c80\u0c82\u0003\u0002\u0002\u0002',
- '\u0c81\u0c69\u0003\u0002\u0002\u0002\u0c81\u0c6b\u0003\u0002\u0002\u0002',
- '\u0c81\u0c6f\u0003\u0002\u0002\u0002\u0c81\u0c71\u0003\u0002\u0002\u0002',
- '\u0c81\u0c75\u0003\u0002\u0002\u0002\u0c81\u0c77\u0003\u0002\u0002\u0002',
- '\u0c81\u0c7b\u0003\u0002\u0002\u0002\u0c81\u0c7d\u0003\u0002\u0002\u0002',
- '\u0c82\u020b\u0003\u0002\u0002\u0002\u0c83\u0c85\u0005\u0210\u0109\u0002',
- '\u0c84\u0c83\u0003\u0002\u0002\u0002\u0c84\u0c85\u0003\u0002\u0002\u0002',
- '\u0c85\u0c86\u0003\u0002\u0002\u0002\u0c86\u0c87\u0005\u020e\u0108\u0002',
- '\u0c87\u020d\u0003\u0002\u0002\u0002\u0c88\u0c8b\u0005\u0214\u010b\u0002',
- '\u0c89\u0c8b\u0005\u0218\u010d\u0002\u0c8a\u0c88\u0003\u0002\u0002\u0002',
- '\u0c8a\u0c89\u0003\u0002\u0002\u0002\u0c8b\u020f\u0003\u0002\u0002\u0002',
- '\u0c8c\u0c8d\u0007\u009c\u0002\u0002\u0c8d\u0c92\u0005\u0212\u010a\u0002',
- '\u0c8e\u0c8f\u0007\u0173\u0002\u0002\u0c8f\u0c91\u0005\u0212\u010a\u0002',
- '\u0c90\u0c8e\u0003\u0002\u0002\u0002\u0c91\u0c94\u0003\u0002\u0002\u0002',
- '\u0c92\u0c90\u0003\u0002\u0002\u0002\u0c92\u0c93\u0003\u0002\u0002\u0002',
- '\u0c93\u0211\u0003\u0002\u0002\u0002\u0c94\u0c92\u0003\u0002\u0002\u0002',
- '\u0c95\u0c96\u0005\u0350\u01a9\u0002\u0c96\u0c97\u0007\u0019\u0002\u0002',
- '\u0c97\u0c98\u0007\u0175\u0002\u0002\u0c98\u0c99\u0005\u020c\u0107\u0002',
- '\u0c99\u0c9a\u0007\u0176\u0002\u0002\u0c9a\u0213\u0003\u0002\u0002\u0002',
- '\u0c9b\u0ca1\u0005\u0216\u010c\u0002\u0c9c\u0c9d\u0005\u020a\u0106\u0002',
- '\u0c9d\u0c9e\u0005\u0216\u010c\u0002\u0c9e\u0ca0\u0003\u0002\u0002\u0002',
- '\u0c9f\u0c9c\u0003\u0002\u0002\u0002\u0ca0\u0ca3\u0003\u0002\u0002\u0002',
- '\u0ca1\u0c9f\u0003\u0002\u0002\u0002\u0ca1\u0ca2\u0003\u0002\u0002\u0002',
- '\u0ca2\u0215\u0003\u0002\u0002\u0002\u0ca3\u0ca1\u0003\u0002\u0002\u0002',
- '\u0ca4\u0ca6\u0005\u027c\u013f\u0002\u0ca5\u0ca7\u0005\u0222\u0112\u0002',
- '\u0ca6\u0ca5\u0003\u0002\u0002\u0002\u0ca7\u0ca8\u0003\u0002\u0002\u0002',
- '\u0ca8\u0ca6\u0003\u0002\u0002\u0002\u0ca8\u0ca9\u0003\u0002\u0002\u0002',
- '\u0ca9\u0217\u0003\u0002\u0002\u0002\u0caa\u0cad\u0005\u0224\u0113\u0002',
- '\u0cab\u0cae\u0005\u021c\u010f\u0002\u0cac\u0cae\u0005\u02ae\u0158\u0002',
- '\u0cad\u0cab\u0003\u0002\u0002\u0002\u0cad\u0cac\u0003\u0002\u0002\u0002',
- '\u0cae\u0cb1\u0003\u0002\u0002\u0002\u0caf\u0cb1\u0005\u021c\u010f\u0002',
- '\u0cb0\u0caa\u0003\u0002\u0002\u0002\u0cb0\u0caf\u0003\u0002\u0002\u0002',
- '\u0cb1\u0219\u0003\u0002\u0002\u0002\u0cb2\u0cb4\u0005\u0254\u012b\u0002',
- '\u0cb3\u0cb5\u0005\u027c\u013f\u0002\u0cb4\u0cb3\u0003\u0002\u0002\u0002',
- '\u0cb4\u0cb5\u0003\u0002\u0002\u0002\u0cb5\u0cb7\u0003\u0002\u0002\u0002',
- '\u0cb6\u0cb8\u0005\u02aa\u0156\u0002\u0cb7\u0cb6\u0003\u0002\u0002\u0002',
- '\u0cb7\u0cb8\u0003\u0002\u0002\u0002\u0cb8\u0cba\u0003\u0002\u0002\u0002',
- '\u0cb9\u0cbb\u0005\u02c0\u0161\u0002\u0cba\u0cb9\u0003\u0002\u0002\u0002',
- '\u0cba\u0cbb\u0003\u0002\u0002\u0002\u0cbb\u0cbd\u0003\u0002\u0002\u0002',
- '\u0cbc\u0cbe\u0005\u02d0\u0169\u0002\u0cbd\u0cbc\u0003\u0002\u0002\u0002',
- '\u0cbd\u0cbe\u0003\u0002\u0002\u0002\u0cbe\u0cc0\u0003\u0002\u0002\u0002',
- '\u0cbf\u0cc1\u0005\u0264\u0133\u0002\u0cc0\u0cbf\u0003\u0002\u0002\u0002',
- '\u0cc0\u0cc1\u0003\u0002\u0002\u0002\u0cc1\u0cc7\u0003\u0002\u0002\u0002',
- '\u0cc2\u0cc3\u0007\u0175\u0002\u0002\u0cc3\u0cc4\u0005\u021c\u010f\u0002',
- '\u0cc4\u0cc5\u0007\u0176\u0002\u0002\u0cc5\u0cc7\u0003\u0002\u0002\u0002',
- '\u0cc6\u0cb2\u0003\u0002\u0002\u0002\u0cc6\u0cc2\u0003\u0002\u0002\u0002',
- '\u0cc7\u021b\u0003\u0002\u0002\u0002\u0cc8\u0cca\u0005\u021a\u010e\u0002',
- '\u0cc9\u0ccb\u0005\u021e\u0110\u0002\u0cca\u0cc9\u0003\u0002\u0002\u0002',
- '\u0cca\u0ccb\u0003\u0002\u0002\u0002\u0ccb\u0ccd\u0003\u0002\u0002\u0002',
- '\u0ccc\u0cce\u0005\u02e0\u0171\u0002\u0ccd\u0ccc\u0003\u0002\u0002\u0002',
- '\u0ccd\u0cce\u0003\u0002\u0002\u0002\u0cce\u0cd0\u0003\u0002\u0002\u0002',
- '\u0ccf\u0cd1\u0005\u02e2\u0172\u0002\u0cd0\u0ccf\u0003\u0002\u0002\u0002',
- '\u0cd0\u0cd1\u0003\u0002\u0002\u0002\u0cd1\u0cd3\u0003\u0002\u0002\u0002',
- '\u0cd2\u0cd4\u0005\u02e6\u0174\u0002\u0cd3\u0cd2\u0003\u0002\u0002\u0002',
- '\u0cd3\u0cd4\u0003\u0002\u0002\u0002\u0cd4\u0cd6\u0003\u0002\u0002\u0002',
- '\u0cd5\u0cd7\u0005\u02e8\u0175\u0002\u0cd6\u0cd5\u0003\u0002\u0002\u0002',
- '\u0cd6\u0cd7\u0003\u0002\u0002\u0002\u0cd7\u0cd9\u0003\u0002\u0002\u0002',
- '\u0cd8\u0cda\u0005\u0228\u0115\u0002\u0cd9\u0cd8\u0003\u0002\u0002\u0002',
- '\u0cd9\u0cda\u0003\u0002\u0002\u0002\u0cda\u021d\u0003\u0002\u0002\u0002',
- '\u0cdb\u0cdc\u0005\u020a\u0106\u0002\u0cdc\u0cdd\u0005\u021a\u010e\u0002',
- '\u0cdd\u0cdf\u0003\u0002\u0002\u0002\u0cde\u0cdb\u0003\u0002\u0002\u0002',
- '\u0cdf\u0ce0\u0003\u0002\u0002\u0002\u0ce0\u0cde\u0003\u0002\u0002\u0002',
- '\u0ce0\u0ce1\u0003\u0002\u0002\u0002\u0ce1\u021f\u0003\u0002\u0002\u0002',
- '\u0ce2\u0ce4\u0005\u0210\u0109\u0002\u0ce3\u0ce2\u0003\u0002\u0002\u0002',
- '\u0ce3\u0ce4\u0003\u0002\u0002\u0002\u0ce4\u0ce5\u0003\u0002\u0002\u0002',
- '\u0ce5\u0ce6\u0005\u021c\u010f\u0002\u0ce6\u0221\u0003\u0002\u0002\u0002',
- '\u0ce7\u0ce8\u0005\u0224\u0113\u0002\u0ce8\u0cea\u0005\u0254\u012b\u0002',
- '\u0ce9\u0ceb\u0005\u0290\u0149\u0002\u0cea\u0ce9\u0003\u0002\u0002\u0002',
- '\u0cea\u0ceb\u0003\u0002\u0002\u0002\u0ceb\u0ced\u0003\u0002\u0002\u0002',
- '\u0cec\u0cee\u0005\u02aa\u0156\u0002\u0ced\u0cec\u0003\u0002\u0002\u0002',
- '\u0ced\u0cee\u0003\u0002\u0002\u0002\u0cee\u0cf0\u0003\u0002\u0002\u0002',
- '\u0cef\u0cf1\u0005\u02c0\u0161\u0002\u0cf0\u0cef\u0003\u0002\u0002\u0002',
- '\u0cf0\u0cf1\u0003\u0002\u0002\u0002\u0cf1\u0cf3\u0003\u0002\u0002\u0002',
- '\u0cf2\u0cf4\u0005\u02d0\u0169\u0002\u0cf3\u0cf2\u0003\u0002\u0002\u0002',
- '\u0cf3\u0cf4\u0003\u0002\u0002\u0002\u0cf4\u0cf6\u0003\u0002\u0002\u0002',
- '\u0cf5\u0cf7\u0005\u0264\u0133\u0002\u0cf6\u0cf5\u0003\u0002\u0002\u0002',
- '\u0cf6\u0cf7\u0003\u0002\u0002\u0002\u0cf7\u0cf9\u0003\u0002\u0002\u0002',
- '\u0cf8\u0cfa\u0005\u02e0\u0171\u0002\u0cf9\u0cf8\u0003\u0002\u0002\u0002',
- '\u0cf9\u0cfa\u0003\u0002\u0002\u0002\u0cfa\u0cfc\u0003\u0002\u0002\u0002',
- '\u0cfb\u0cfd\u0005\u02e2\u0172\u0002\u0cfc\u0cfb\u0003\u0002\u0002\u0002',
- '\u0cfc\u0cfd\u0003\u0002\u0002\u0002\u0cfd\u0cff\u0003\u0002\u0002\u0002',
- '\u0cfe\u0d00\u0005\u02e6\u0174\u0002\u0cff\u0cfe\u0003\u0002\u0002\u0002',
- '\u0cff\u0d00\u0003\u0002\u0002\u0002\u0d00\u0d02\u0003\u0002\u0002\u0002',
- '\u0d01\u0d03\u0005\u02e8\u0175\u0002\u0d02\u0d01\u0003\u0002\u0002\u0002',
- '\u0d02\u0d03\u0003\u0002\u0002\u0002\u0d03\u0d05\u0003\u0002\u0002\u0002',
- '\u0d04\u0d06\u0005\u0228\u0115\u0002\u0d05\u0d04\u0003\u0002\u0002\u0002',
- '\u0d05\u0d06\u0003\u0002\u0002\u0002\u0d06\u0d27\u0003\u0002\u0002\u0002',
- '\u0d07\u0d09\u0005\u0254\u012b\u0002\u0d08\u0d0a\u0005\u0290\u0149\u0002',
- '\u0d09\u0d08\u0003\u0002\u0002\u0002\u0d09\u0d0a\u0003\u0002\u0002\u0002',
- '\u0d0a\u0d0c\u0003\u0002\u0002\u0002\u0d0b\u0d0d\u0005\u02aa\u0156\u0002',
- '\u0d0c\u0d0b\u0003\u0002\u0002\u0002\u0d0c\u0d0d\u0003\u0002\u0002\u0002',
- '\u0d0d\u0d0f\u0003\u0002\u0002\u0002\u0d0e\u0d10\u0005\u02c0\u0161\u0002',
- '\u0d0f\u0d0e\u0003\u0002\u0002\u0002\u0d0f\u0d10\u0003\u0002\u0002\u0002',
- '\u0d10\u0d12\u0003\u0002\u0002\u0002\u0d11\u0d13\u0005\u02d0\u0169\u0002',
- '\u0d12\u0d11\u0003\u0002\u0002\u0002\u0d12\u0d13\u0003\u0002\u0002\u0002',
- '\u0d13\u0d15\u0003\u0002\u0002\u0002\u0d14\u0d16\u0005\u0264\u0133\u0002',
- '\u0d15\u0d14\u0003\u0002\u0002\u0002\u0d15\u0d16\u0003\u0002\u0002\u0002',
- '\u0d16\u0d18\u0003\u0002\u0002\u0002\u0d17\u0d19\u0005\u02e0\u0171\u0002',
- '\u0d18\u0d17\u0003\u0002\u0002\u0002\u0d18\u0d19\u0003\u0002\u0002\u0002',
- '\u0d19\u0d1b\u0003\u0002\u0002\u0002\u0d1a\u0d1c\u0005\u02e2\u0172\u0002',
- '\u0d1b\u0d1a\u0003\u0002\u0002\u0002\u0d1b\u0d1c\u0003\u0002\u0002\u0002',
- '\u0d1c\u0d1e\u0003\u0002\u0002\u0002\u0d1d\u0d1f\u0005\u02e6\u0174\u0002',
- '\u0d1e\u0d1d\u0003\u0002\u0002\u0002\u0d1e\u0d1f\u0003\u0002\u0002\u0002',
- '\u0d1f\u0d21\u0003\u0002\u0002\u0002\u0d20\u0d22\u0005\u02e8\u0175\u0002',
- '\u0d21\u0d20\u0003\u0002\u0002\u0002\u0d21\u0d22\u0003\u0002\u0002\u0002',
- '\u0d22\u0d24\u0003\u0002\u0002\u0002\u0d23\u0d25\u0005\u0228\u0115\u0002',
- '\u0d24\u0d23\u0003\u0002\u0002\u0002\u0d24\u0d25\u0003\u0002\u0002\u0002',
- '\u0d25\u0d27\u0003\u0002\u0002\u0002\u0d26\u0ce7\u0003\u0002\u0002\u0002',
- '\u0d26\u0d07\u0003\u0002\u0002\u0002\u0d27\u0223\u0003\u0002\u0002\u0002',
- '\u0d28\u0d29\u0007\u001c\u0002\u0002\u0d29\u0d2a\u0007\u001d\u0002\u0002',
- '\u0d2a\u0d2c\u0005\u0226\u0114\u0002\u0d2b\u0d2d\u0005,\u0017\u0002',
- '\u0d2c\u0d2b\u0003\u0002\u0002\u0002\u0d2c\u0d2d\u0003\u0002\u0002\u0002',
- '\u0d2d\u0d3b\u0003\u0002\u0002\u0002\u0d2e\u0d2f\u0007\u001c\u0002\u0002',
- '\u0d2f\u0d31\u0007o\u0002\u0002\u0d30\u0d32\u0007(\u0002\u0002\u0d31',
- '\u0d30\u0003\u0002\u0002\u0002\u0d31\u0d32\u0003\u0002\u0002\u0002\u0d32',
- '\u0d33\u0003\u0002\u0002\u0002\u0d33\u0d38\u0005\u0340\u01a1\u0002\u0d34',
- '\u0d35\u0007\u0175\u0002\u0002\u0d35\u0d36\u0005\u0190\u00c9\u0002\u0d36',
- '\u0d37\u0007\u0176\u0002\u0002\u0d37\u0d39\u0003\u0002\u0002\u0002\u0d38',
- '\u0d34\u0003\u0002\u0002\u0002\u0d38\u0d39\u0003\u0002\u0002\u0002\u0d39',
- '\u0d3b\u0003\u0002\u0002\u0002\u0d3a\u0d28\u0003\u0002\u0002\u0002\u0d3a',
- '\u0d2e\u0003\u0002\u0002\u0002\u0d3b\u0225\u0003\u0002\u0002\u0002\u0d3c',
- '\u0d3e\u00074\u0002\u0002\u0d3d\u0d3c\u0003\u0002\u0002\u0002\u0d3d',
- '\u0d3e\u0003\u0002\u0002\u0002\u0d3e\u0d3f\u0003\u0002\u0002\u0002\u0d3f',
- '\u0d40\u00073\u0002\u0002\u0d40\u0d42\u0007\u0190\u0002\u0002\u0d41',
- '\u0d43\u0005\u015e\u00b0\u0002\u0d42\u0d41\u0003\u0002\u0002\u0002\u0d42',
- '\u0d43\u0003\u0002\u0002\u0002\u0d43\u0d45\u0003\u0002\u0002\u0002\u0d44',
- '\u0d46\u0005\u017a\u00be\u0002\u0d45\u0d44\u0003\u0002\u0002\u0002\u0d45',
- '\u0d46\u0003\u0002\u0002\u0002\u0d46\u0d4a\u0003\u0002\u0002\u0002\u0d47',
- '\u0d48\u0007(\u0002\u0002\u0d48\u0d4a\u0005\u0340\u01a1\u0002\u0d49',
- '\u0d3d\u0003\u0002\u0002\u0002\u0d49\u0d47\u0003\u0002\u0002\u0002\u0d4a',
- '\u0227\u0003\u0002\u0002\u0002\u0d4b\u0d4e\u0007\u00a0\u0002\u0002\u0d4c',
- '\u0d4d\u0007\u0195\u0002\u0002\u0d4d\u0d4f\u0007\u0173\u0002\u0002\u0d4e',
- '\u0d4c\u0003\u0002\u0002\u0002\u0d4e\u0d4f\u0003\u0002\u0002\u0002\u0d4f',
- '\u0d50\u0003\u0002\u0002\u0002\u0d50\u0d56\u0007\u0195\u0002\u0002\u0d51',
- '\u0d52\u0007\u00a0\u0002\u0002\u0d52\u0d53\u0007\u0195\u0002\u0002\u0d53',
- '\u0d54\u0007\u00a1\u0002\u0002\u0d54\u0d56\u0007\u0195\u0002\u0002\u0d55',
- '\u0d4b\u0003\u0002\u0002\u0002\u0d55\u0d51\u0003\u0002\u0002\u0002\u0d56',
- '\u0229\u0003\u0002\u0002\u0002\u0d57\u0d58\u0007\u00b4\u0002\u0002\u0d58',
- '\u0d59\u0007\u0018\u0002\u0002\u0d59\u0d5b\u0005\u029e\u0150\u0002\u0d5a',
- '\u0d5c\u0005\u02aa\u0156\u0002\u0d5b\u0d5a\u0003\u0002\u0002\u0002\u0d5b',
- '\u0d5c\u0003\u0002\u0002\u0002\u0d5c\u022b\u0003\u0002\u0002\u0002\u0d5d',
- '\u0d5e\u0005\u0276\u013c\u0002\u0d5e\u0d5f\u0007\u017b\u0002\u0002\u0d5f',
- '\u0d60\u0005\u0330\u0199\u0002\u0d60\u022d\u0003\u0002\u0002\u0002\u0d61',
- '\u0d62\u0007\u00a2\u0002\u0002\u0d62\u0d67\u0005\u022c\u0117\u0002\u0d63',
- '\u0d64\u0007\u0173\u0002\u0002\u0d64\u0d66\u0005\u022c\u0117\u0002\u0d65',
- '\u0d63\u0003\u0002\u0002\u0002\u0d66\u0d69\u0003\u0002\u0002\u0002\u0d67',
- '\u0d65\u0003\u0002\u0002\u0002\u0d67\u0d68\u0003\u0002\u0002\u0002\u0d68',
- '\u022f\u0003\u0002\u0002\u0002\u0d69\u0d67\u0003\u0002\u0002\u0002\u0d6a',
- '\u0d6b\u0007\u00e9\u0002\u0002\u0d6b\u0d6c\u0005\u029e\u0150\u0002\u0d6c',
- '\u0d6e\u0005\u022e\u0118\u0002\u0d6d\u0d6f\u0005\u02aa\u0156\u0002\u0d6e',
- '\u0d6d\u0003\u0002\u0002\u0002\u0d6e\u0d6f\u0003\u0002\u0002\u0002\u0d6f',
- '\u0231\u0003\u0002\u0002\u0002\u0d70\u0d75\u0005\u0234\u011b\u0002\u0d71',
- '\u0d75\u0005\u023e\u0120\u0002\u0d72\u0d75\u0005\u0240\u0121\u0002\u0d73',
- '\u0d75\u0005\u0242\u0122\u0002\u0d74\u0d70\u0003\u0002\u0002\u0002\u0d74',
- '\u0d71\u0003\u0002\u0002\u0002\u0d74\u0d72\u0003\u0002\u0002\u0002\u0d74',
- '\u0d73\u0003\u0002\u0002\u0002\u0d75\u0233\u0003\u0002\u0002\u0002\u0d76',
- '\u0d77\u0007\u011c\u0002\u0002\u0d77\u0d80\u0007\u011d\u0002\u0002\u0d78',
- '\u0d7d\u0005\u0236\u011c\u0002\u0d79\u0d7a\u0007\u0173\u0002\u0002\u0d7a',
- '\u0d7c\u0005\u0236\u011c\u0002\u0d7b\u0d79\u0003\u0002\u0002\u0002\u0d7c',
- '\u0d7f\u0003\u0002\u0002\u0002\u0d7d\u0d7b\u0003\u0002\u0002\u0002\u0d7d',
- '\u0d7e\u0003\u0002\u0002\u0002\u0d7e\u0d81\u0003\u0002\u0002\u0002\u0d7f',
- '\u0d7d\u0003\u0002\u0002\u0002\u0d80\u0d78\u0003\u0002\u0002\u0002\u0d80',
- '\u0d81\u0003\u0002\u0002\u0002\u0d81\u0235\u0003\u0002\u0002\u0002\u0d82',
- '\u0d85\u0005\u023a\u011e\u0002\u0d83\u0d85\u0005\u0238\u011d\u0002\u0d84',
- '\u0d82\u0003\u0002\u0002\u0002\u0d84\u0d83\u0003\u0002\u0002\u0002\u0d85',
- '\u0237\u0003\u0002\u0002\u0002\u0d86\u0d87\u0007\u00cd\u0002\u0002\u0d87',
- '\u0d8b\u0007\u0121\u0002\u0002\u0d88\u0d89\u0007\u00cd\u0002\u0002\u0d89',
- '\u0d8b\u0007\u0122\u0002\u0002\u0d8a\u0d86\u0003\u0002\u0002\u0002\u0d8a',
- '\u0d88\u0003\u0002\u0002\u0002\u0d8b\u0239\u0003\u0002\u0002\u0002\u0d8c',
- '\u0d8d\u0007\u0123\u0002\u0002\u0d8d\u0d8e\u0007\u0124\u0002\u0002\u0d8e',
- '\u0d8f\u0005\u023c\u011f\u0002\u0d8f\u023b\u0003\u0002\u0002\u0002\u0d90',
- '\u0d91\u0007\u0125\u0002\u0002\u0d91\u023d\u0003\u0002\u0002\u0002\u0d92',
- '\u0d94\u0007\u011e\u0002\u0002\u0d93\u0d95\u0007\u0120\u0002\u0002\u0d94',
- '\u0d93\u0003\u0002\u0002\u0002\u0d94\u0d95\u0003\u0002\u0002\u0002\u0d95',
- '\u023f\u0003\u0002\u0002\u0002\u0d96\u0d98\u0007\u011f\u0002\u0002\u0d97',
- '\u0d99\u0007\u0120\u0002\u0002\u0d98\u0d97\u0003\u0002\u0002\u0002\u0d98',
- '\u0d99\u0003\u0002\u0002\u0002\u0d99\u0241\u0003\u0002\u0002\u0002\u0d9a',
- '\u0d9b\u0007\u00a2\u0002\u0002\u0d9b\u0d9c\u0007\u0126\u0002\u0002\u0d9c',
- '\u0d9d\u0005\u033e\u01a0\u0002\u0d9d\u0243\u0003\u0002\u0002\u0002\u0d9e',
- '\u0d9f\u0007\u0133\u0002\u0002\u0d9f\u0da1\u0007\u010b\u0002\u0002\u0da0',
- '\u0da2\u0007\u0195\u0002\u0002\u0da1\u0da0\u0003\u0002\u0002\u0002\u0da2',
- '\u0da3\u0003\u0002\u0002\u0002\u0da3\u0da1\u0003\u0002\u0002\u0002\u0da3',
- '\u0da4\u0003\u0002\u0002\u0002\u0da4\u0245\u0003\u0002\u0002\u0002\u0da5',
- '\u0da6\u0007\u0136\u0002\u0002\u0da6\u0da7\u0007o\u0002\u0002\u0da7',
- '\u0dac\u0005\u029e\u0150\u0002\u0da8\u0daa\u0007\u0019\u0002\u0002\u0da9',
- '\u0da8\u0003\u0002\u0002\u0002\u0da9\u0daa\u0003\u0002\u0002\u0002\u0daa',
- '\u0dab\u0003\u0002\u0002\u0002\u0dab\u0dad\u0005\u0350\u01a9\u0002\u0dac',
- '\u0da9\u0003\u0002\u0002\u0002\u0dac\u0dad\u0003\u0002\u0002\u0002\u0dad',
- '\u0dae\u0003\u0002\u0002\u0002\u0dae\u0daf\u00076\u0002\u0002\u0daf',
- '\u0db0\u0005\u0286\u0144\u0002\u0db0\u0db1\u0007%\u0002\u0002\u0db1',
- '\u0db2\u0005\u0330\u0199\u0002\u0db2\u0db3\u0005\u0248\u0125\u0002\u0db3',
- '\u0247\u0003\u0002\u0002\u0002\u0db4\u0db7\u0005\u024c\u0127\u0002\u0db5',
- '\u0db7\u0005\u024e\u0128\u0002\u0db6\u0db4\u0003\u0002\u0002\u0002\u0db6',
- '\u0db5\u0003\u0002\u0002\u0002\u0db7\u0dba\u0003\u0002\u0002\u0002\u0db8',
- '\u0db6\u0003\u0002\u0002\u0002\u0db8\u0db9\u0003\u0002\u0002\u0002\u0db9',
- '\u0dbc\u0003\u0002\u0002\u0002\u0dba\u0db8\u0003\u0002\u0002\u0002\u0dbb',
- '\u0dbd\u0005\u024a\u0126\u0002\u0dbc\u0dbb\u0003\u0002\u0002\u0002\u0dbc',
- '\u0dbd\u0003\u0002\u0002\u0002\u0dbd\u0249\u0003\u0002\u0002\u0002\u0dbe',
- '\u0dbf\u0007\u00aa\u0002\u0002\u0dbf\u0dc0\u0007\n\u0002\u0002\u0dc0',
- '\u0dc3\u0007\u0137\u0002\u0002\u0dc1\u0dc2\u0007\b\u0002\u0002\u0dc2',
- '\u0dc4\u0005\u0330\u0199\u0002\u0dc3\u0dc1\u0003\u0002\u0002\u0002\u0dc3',
- '\u0dc4\u0003\u0002\u0002\u0002\u0dc4\u0dc5\u0003\u0002\u0002\u0002\u0dc5',
- '\u0dc6\u0007\u00ab\u0002\u0002\u0dc6\u0dc7\u0007\u001c\u0002\u0002\u0dc7',
- '\u0dc8\u0007\u0110\u0002\u0002\u0dc8\u0dc9\u0005\u02b2\u015a\u0002\u0dc9',
- '\u024b\u0003\u0002\u0002\u0002\u0dca\u0dcb\u0007\u00aa\u0002\u0002\u0dcb',
- '\u0dcc\u0007\u0137\u0002\u0002\u0dcc\u0dcd\u0007\b\u0002\u0002\u0dcd',
- '\u0dce\u0005\u0330\u0199\u0002\u0dce\u0dcf\u0007\u00ab\u0002\u0002\u0dcf',
- '\u0dd0\u0005\u0250\u0129\u0002\u0dd0\u024d\u0003\u0002\u0002\u0002\u0dd1',
- '\u0dd2\u0007\u00aa\u0002\u0002\u0dd2\u0dd3\u0007\u0137\u0002\u0002\u0dd3',
- '\u0dd4\u0007\u00ab\u0002\u0002\u0dd4\u0dd5\u0005\u0250\u0129\u0002\u0dd5',
- '\u024f\u0003\u0002\u0002\u0002\u0dd6\u0dd7\u0007\u00e9\u0002\u0002\u0dd7',
- '\u0dda\u0005\u022e\u0118\u0002\u0dd8\u0dda\u0007\u00b4\u0002\u0002\u0dd9',
- '\u0dd6\u0003\u0002\u0002\u0002\u0dd9\u0dd8\u0003\u0002\u0002\u0002\u0dda',
- '\u0251\u0003\u0002\u0002\u0002\u0ddb\u0ddc\u0007|\u0002\u0002\u0ddc',
- '\u0dde\u0007\u0113\u0002\u0002\u0ddd\u0ddf\u0007\u0190\u0002\u0002\u0dde',
- '\u0ddd\u0003\u0002\u0002\u0002\u0ddf\u0de0\u0003\u0002\u0002\u0002\u0de0',
- '\u0dde\u0003\u0002\u0002\u0002\u0de0\u0de1\u0003\u0002\u0002\u0002\u0de1',
- '\u0253\u0003\u0002\u0002\u0002\u0de2\u0de4\u0007\u001a\u0002\u0002\u0de3',
- '\u0de5\u0007\u019b\u0002\u0002\u0de4\u0de3\u0003\u0002\u0002\u0002\u0de4',
- '\u0de5\u0003\u0002\u0002\u0002\u0de5\u0dec\u0003\u0002\u0002\u0002\u0de6',
- '\u0de8\t\u0017\u0002\u0002\u0de7\u0de6\u0003\u0002\u0002\u0002\u0de7',
- '\u0de8\u0003\u0002\u0002\u0002\u0de8\u0de9\u0003\u0002\u0002\u0002\u0de9',
- '\u0ded\u0005\u0256\u012c\u0002\u0dea\u0deb\u00075\u0002\u0002\u0deb',
- '\u0ded\u0005\u0258\u012d\u0002\u0dec\u0de7\u0003\u0002\u0002\u0002\u0dec',
- '\u0dea\u0003\u0002\u0002\u0002\u0ded\u0df0\u0003\u0002\u0002\u0002\u0dee',
- '\u0df0\u0005\u025c\u012f\u0002\u0def\u0de2\u0003\u0002\u0002\u0002\u0def',
- '\u0dee\u0003\u0002\u0002\u0002\u0df0\u0255\u0003\u0002\u0002\u0002\u0df1',
- '\u0df6\u0005\u025a\u012e\u0002\u0df2\u0df3\u0007\u0173\u0002\u0002\u0df3',
- '\u0df5\u0005\u025a\u012e\u0002\u0df4\u0df2\u0003\u0002\u0002\u0002\u0df5',
- '\u0df8\u0003\u0002\u0002\u0002\u0df6\u0df4\u0003\u0002\u0002\u0002\u0df6',
- '\u0df7\u0003\u0002\u0002\u0002\u0df7\u0257\u0003\u0002\u0002\u0002\u0df8',
- '\u0df6\u0003\u0002\u0002\u0002\u0df9\u0dfa\u0007\u0175\u0002\u0002\u0dfa',
- '\u0dfb\u0005\u0260\u0131\u0002\u0dfb\u0dfd\u0007\u0176\u0002\u0002\u0dfc',
- '\u0dfe\u0005\u0154\u00ab\u0002\u0dfd\u0dfc\u0003\u0002\u0002\u0002\u0dfd',
- '\u0dfe\u0003\u0002\u0002\u0002\u0dfe\u0e00\u0003\u0002\u0002\u0002\u0dff',
- '\u0e01\u0005\u0158\u00ad\u0002\u0e00\u0dff\u0003\u0002\u0002\u0002\u0e00',
- '\u0e01\u0003\u0002\u0002\u0002\u0e01\u0e02\u0003\u0002\u0002\u0002\u0e02',
- '\u0e03\u00076\u0002\u0002\u0e03\u0e12\u0007\u0190\u0002\u0002\u0e04',
- '\u0e10\u0007\u0019\u0002\u0002\u0e05\u0e08\u0007\u0175\u0002\u0002\u0e06',
- '\u0e09\u0005\u027a\u013e\u0002\u0e07\u0e09\u0005\u018a\u00c6\u0002\u0e08',
- '\u0e06\u0003\u0002\u0002\u0002\u0e08\u0e07\u0003\u0002\u0002\u0002\u0e09',
- '\u0e0a\u0003\u0002\u0002\u0002\u0e0a\u0e0b\u0007\u0176\u0002\u0002\u0e0b',
- '\u0e11\u0003\u0002\u0002\u0002\u0e0c\u0e0f\u0005\u027a\u013e\u0002\u0e0d',
- '\u0e0f\u0005\u018a\u00c6\u0002\u0e0e\u0e0c\u0003\u0002\u0002\u0002\u0e0e',
- '\u0e0d\u0003\u0002\u0002\u0002\u0e0f\u0e11\u0003\u0002\u0002\u0002\u0e10',
- '\u0e05\u0003\u0002\u0002\u0002\u0e10\u0e0e\u0003\u0002\u0002\u0002\u0e11',
- '\u0e13\u0003\u0002\u0002\u0002\u0e12\u0e04\u0003\u0002\u0002\u0002\u0e12',
- '\u0e13\u0003\u0002\u0002\u0002\u0e13\u0e15\u0003\u0002\u0002\u0002\u0e14',
- '\u0e16\u0005\u0154\u00ab\u0002\u0e15\u0e14\u0003\u0002\u0002\u0002\u0e15',
- '\u0e16\u0003\u0002\u0002\u0002\u0e16\u0e18\u0003\u0002\u0002\u0002\u0e17',
- '\u0e19\u0005\u0156\u00ac\u0002\u0e18\u0e17\u0003\u0002\u0002\u0002\u0e18',
- '\u0e19\u0003\u0002\u0002\u0002\u0e19\u0259\u0003\u0002\u0002\u0002\u0e1a',
- '\u0e1c\u0005\u0274\u013b\u0002\u0e1b\u0e1d\u0005\u0262\u0132\u0002\u0e1c',
- '\u0e1b\u0003\u0002\u0002\u0002\u0e1c\u0e1d\u0003\u0002\u0002\u0002\u0e1d',
- '\u0e32\u0003\u0002\u0002\u0002\u0e1e\u0e2f\u0005\u0330\u0199\u0002\u0e1f',
- '\u0e21\u0007\u0019\u0002\u0002\u0e20\u0e1f\u0003\u0002\u0002\u0002\u0e20',
- '\u0e21\u0003\u0002\u0002\u0002\u0e21\u0e22\u0003\u0002\u0002\u0002\u0e22',
- '\u0e30\u0005\u0350\u01a9\u0002\u0e23\u0e24\u0007\u0019\u0002\u0002\u0e24',
- '\u0e25\u0007\u0175\u0002\u0002\u0e25\u0e2a\u0005\u0350\u01a9\u0002\u0e26',
- '\u0e27\u0007\u0173\u0002\u0002\u0e27\u0e29\u0005\u0350\u01a9\u0002\u0e28',
- '\u0e26\u0003\u0002\u0002\u0002\u0e29\u0e2c\u0003\u0002\u0002\u0002\u0e2a',
- '\u0e28\u0003\u0002\u0002\u0002\u0e2a\u0e2b\u0003\u0002\u0002\u0002\u0e2b',
- '\u0e2d\u0003\u0002\u0002\u0002\u0e2c\u0e2a\u0003\u0002\u0002\u0002\u0e2d',
- '\u0e2e\u0007\u0176\u0002\u0002\u0e2e\u0e30\u0003\u0002\u0002\u0002\u0e2f',
- '\u0e20\u0003\u0002\u0002\u0002\u0e2f\u0e23\u0003\u0002\u0002\u0002\u0e2f',
- '\u0e30\u0003\u0002\u0002\u0002\u0e30\u0e32\u0003\u0002\u0002\u0002\u0e31',
- '\u0e1a\u0003\u0002\u0002\u0002\u0e31\u0e1e\u0003\u0002\u0002\u0002\u0e32',
- '\u025b\u0003\u0002\u0002\u0002\u0e33\u0e34\u0007g\u0002\u0002\u0e34',
- '\u0e38\u0005\u0260\u0131\u0002\u0e35\u0e36\u0007k\u0002\u0002\u0e36',
- '\u0e38\u0005\u0260\u0131\u0002\u0e37\u0e33\u0003\u0002\u0002\u0002\u0e37',
- '\u0e35\u0003\u0002\u0002\u0002\u0e38\u0e3a\u0003\u0002\u0002\u0002\u0e39',
- '\u0e3b\u0005\u0154\u00ab\u0002\u0e3a\u0e39\u0003\u0002\u0002\u0002\u0e3a',
- '\u0e3b\u0003\u0002\u0002\u0002\u0e3b\u0e3d\u0003\u0002\u0002\u0002\u0e3c',
- '\u0e3e\u0005\u0158\u00ad\u0002\u0e3d\u0e3c\u0003\u0002\u0002\u0002\u0e3d',
- '\u0e3e\u0003\u0002\u0002\u0002\u0e3e\u0e3f\u0003\u0002\u0002\u0002\u0e3f',
- '\u0e40\u00076\u0002\u0002\u0e40\u0e4f\u0007\u0190\u0002\u0002\u0e41',
- '\u0e4d\u0007\u0019\u0002\u0002\u0e42\u0e45\u0007\u0175\u0002\u0002\u0e43',
- '\u0e46\u0005\u027a\u013e\u0002\u0e44\u0e46\u0005\u018a\u00c6\u0002\u0e45',
- '\u0e43\u0003\u0002\u0002\u0002\u0e45\u0e44\u0003\u0002\u0002\u0002\u0e46',
- '\u0e47\u0003\u0002\u0002\u0002\u0e47\u0e48\u0007\u0176\u0002\u0002\u0e48',
- '\u0e4e\u0003\u0002\u0002\u0002\u0e49\u0e4c\u0005\u027a\u013e\u0002\u0e4a',
- '\u0e4c\u0005\u018a\u00c6\u0002\u0e4b\u0e49\u0003\u0002\u0002\u0002\u0e4b',
- '\u0e4a\u0003\u0002\u0002\u0002\u0e4c\u0e4e\u0003\u0002\u0002\u0002\u0e4d',
- '\u0e42\u0003\u0002\u0002\u0002\u0e4d\u0e4b\u0003\u0002\u0002\u0002\u0e4e',
- '\u0e50\u0003\u0002\u0002\u0002\u0e4f\u0e41\u0003\u0002\u0002\u0002\u0e4f',
- '\u0e50\u0003\u0002\u0002\u0002\u0e50\u0e52\u0003\u0002\u0002\u0002\u0e51',
- '\u0e53\u0005\u0154\u00ab\u0002\u0e52\u0e51\u0003\u0002\u0002\u0002\u0e52',
- '\u0e53\u0003\u0002\u0002\u0002\u0e53\u0e55\u0003\u0002\u0002\u0002\u0e54',
- '\u0e56\u0005\u0156\u00ac\u0002\u0e55\u0e54\u0003\u0002\u0002\u0002\u0e55',
- '\u0e56\u0003\u0002\u0002\u0002\u0e56\u025d\u0003\u0002\u0002\u0002\u0e57',
- '\u0e59\u0005\u0274\u013b\u0002\u0e58\u0e5a\u0005\u0262\u0132\u0002\u0e59',
- '\u0e58\u0003\u0002\u0002\u0002\u0e59\u0e5a\u0003\u0002\u0002\u0002\u0e5a',
- '\u0e5d\u0003\u0002\u0002\u0002\u0e5b\u0e5d\u0005\u0330\u0199\u0002\u0e5c',
- '\u0e57\u0003\u0002\u0002\u0002\u0e5c\u0e5b\u0003\u0002\u0002\u0002\u0e5d',
- '\u025f\u0003\u0002\u0002\u0002\u0e5e\u0e63\u0005\u025e\u0130\u0002\u0e5f',
- '\u0e60\u0007\u0173\u0002\u0002\u0e60\u0e62\u0005\u025e\u0130\u0002\u0e61',
- '\u0e5f\u0003\u0002\u0002\u0002\u0e62\u0e65\u0003\u0002\u0002\u0002\u0e63',
- '\u0e61\u0003\u0002\u0002\u0002\u0e63\u0e64\u0003\u0002\u0002\u0002\u0e64',
- '\u0261\u0003\u0002\u0002\u0002\u0e65\u0e63\u0003\u0002\u0002\u0002\u0e66',
- '\u0e67\u0007;\u0002\u0002\u0e67\u0e68\u0007\u0175\u0002\u0002\u0e68',
- '\u0e69\u0005\u0260\u0131\u0002\u0e69\u0e6a\u0007\u0176\u0002\u0002\u0e6a',
- '\u0263\u0003\u0002\u0002\u0002\u0e6b\u0e6c\u0007\u00f1\u0002\u0002\u0e6c',
- '\u0e71\u0005\u0266\u0134\u0002\u0e6d\u0e6e\u0007\u0173\u0002\u0002\u0e6e',
- '\u0e70\u0005\u0266\u0134\u0002\u0e6f\u0e6d\u0003\u0002\u0002\u0002\u0e70',
- '\u0e73\u0003\u0002\u0002\u0002\u0e71\u0e6f\u0003\u0002\u0002\u0002\u0e71',
- '\u0e72\u0003\u0002\u0002\u0002\u0e72\u0265\u0003\u0002\u0002\u0002\u0e73',
- '\u0e71\u0003\u0002\u0002\u0002\u0e74\u0e75\u0005\u0350\u01a9\u0002\u0e75',
- '\u0e76\u0007\u0019\u0002\u0002\u0e76\u0e77\u0005\u0268\u0135\u0002\u0e77',
- '\u0267\u0003\u0002\u0002\u0002\u0e78\u0e85\u0005\u0350\u01a9\u0002\u0e79',
- '\u0e7b\u0007\u0175\u0002\u0002\u0e7a\u0e7c\u0005\u0350\u01a9\u0002\u0e7b',
- '\u0e7a\u0003\u0002\u0002\u0002\u0e7b\u0e7c\u0003\u0002\u0002\u0002\u0e7c',
- '\u0e7e\u0003\u0002\u0002\u0002\u0e7d\u0e7f\u0005\u02a4\u0153\u0002\u0e7e',
- '\u0e7d\u0003\u0002\u0002\u0002\u0e7e\u0e7f\u0003\u0002\u0002\u0002\u0e7f',
- '\u0e81\u0003\u0002\u0002\u0002\u0e80\u0e82\u0005\u026a\u0136\u0002\u0e81',
- '\u0e80\u0003\u0002\u0002\u0002\u0e81\u0e82\u0003\u0002\u0002\u0002\u0e82',
- '\u0e83\u0003\u0002\u0002\u0002\u0e83\u0e85\u0007\u0176\u0002\u0002\u0e84',
- '\u0e78\u0003\u0002\u0002\u0002\u0e84\u0e79\u0003\u0002\u0002\u0002\u0e85',
- '\u0269\u0003\u0002\u0002\u0002\u0e86\u0e89\u0005\u026c\u0137\u0002\u0e87',
- '\u0e89\u0005\u026e\u0138\u0002\u0e88\u0e86\u0003\u0002\u0002\u0002\u0e88',
- '\u0e87\u0003\u0002\u0002\u0002\u0e89\u026b\u0003\u0002\u0002\u0002\u0e8a',
- '\u0e8b\u0007r\u0002\u0002\u0e8b\u0e93\u0005\u0270\u0139\u0002\u0e8c',
- '\u0e8d\u0007r\u0002\u0002\u0e8d\u0e8e\u0007\u00d3\u0002\u0002\u0e8e',
- '\u0e8f\u0005\u0272\u013a\u0002\u0e8f\u0e90\u0007\b\u0002\u0002\u0e90',
- '\u0e91\u0005\u0272\u013a\u0002\u0e91\u0e93\u0003\u0002\u0002\u0002\u0e92',
- '\u0e8a\u0003\u0002\u0002\u0002\u0e92\u0e8c\u0003\u0002\u0002\u0002\u0e93',
- '\u026d\u0003\u0002\u0002\u0002\u0e94\u0e95\u0007\u00d0\u0002\u0002\u0e95',
- '\u0e9d\u0005\u0270\u0139\u0002\u0e96\u0e97\u0007\u00d0\u0002\u0002\u0e97',
- '\u0e98\u0007\u00d3\u0002\u0002\u0e98\u0e99\u0005\u0272\u013a\u0002\u0e99',
- '\u0e9a\u0007\b\u0002\u0002\u0e9a\u0e9b\u0005\u0272\u013a\u0002\u0e9b',
- '\u0e9d\u0003\u0002\u0002\u0002\u0e9c\u0e94\u0003\u0002\u0002\u0002\u0e9c',
- '\u0e96\u0003\u0002\u0002\u0002\u0e9d\u026f\u0003\u0002\u0002\u0002\u0e9e',
- '\u0e9f\u0007\u00f2\u0002\u0002\u0e9f\u0ea5\u0007\u00f3\u0002\u0002\u0ea0',
- '\u0ea1\u0007\u00f5\u0002\u0002\u0ea1\u0ea5\u0007q\u0002\u0002\u0ea2',
- '\u0ea3\u0007\u0195\u0002\u0002\u0ea3\u0ea5\u0007\u00f3\u0002\u0002\u0ea4',
- '\u0e9e\u0003\u0002\u0002\u0002\u0ea4\u0ea0\u0003\u0002\u0002\u0002\u0ea4',
- '\u0ea2\u0003\u0002\u0002\u0002\u0ea5\u0271\u0003\u0002\u0002\u0002\u0ea6',
- '\u0ea7\u0007\u00f2\u0002\u0002\u0ea7\u0ead\t\u0018\u0002\u0002\u0ea8',
- '\u0ea9\u0007\u00f5\u0002\u0002\u0ea9\u0ead\u0007q\u0002\u0002\u0eaa',
- '\u0eab\u0007\u0195\u0002\u0002\u0eab\u0ead\t\u0018\u0002\u0002\u0eac',
- '\u0ea6\u0003\u0002\u0002\u0002\u0eac\u0ea8\u0003\u0002\u0002\u0002\u0eac',
- '\u0eaa\u0003\u0002\u0002\u0002\u0ead\u0273\u0003\u0002\u0002\u0002\u0eae',
- '\u0eb4\u0007\u0186\u0002\u0002\u0eaf\u0eb0\u0005\u029e\u0150\u0002\u0eb0',
- '\u0eb1\u0007\u0171\u0002\u0002\u0eb1\u0eb2\u0007\u0186\u0002\u0002\u0eb2',
- '\u0eb4\u0003\u0002\u0002\u0002\u0eb3\u0eae\u0003\u0002\u0002\u0002\u0eb3',
- '\u0eaf\u0003\u0002\u0002\u0002\u0eb4\u0275\u0003\u0002\u0002\u0002\u0eb5',
- '\u0eb6\u0005\u0350\u01a9\u0002\u0eb6\u0277\u0003\u0002\u0002\u0002\u0eb7',
- '\u0ebc\u0005\u0330\u0199\u0002\u0eb8\u0eb9\u0007\u0173\u0002\u0002\u0eb9',
- '\u0ebb\u0005\u0330\u0199\u0002\u0eba\u0eb8\u0003\u0002\u0002\u0002\u0ebb',
- '\u0ebe\u0003\u0002\u0002\u0002\u0ebc\u0eba\u0003\u0002\u0002\u0002\u0ebc',
- '\u0ebd\u0003\u0002\u0002\u0002\u0ebd\u0279\u0003\u0002\u0002\u0002\u0ebe',
- '\u0ebc\u0003\u0002\u0002\u0002\u0ebf\u0ec4\u0005\u0350\u01a9\u0002\u0ec0',
- '\u0ec1\u0007\u0173\u0002\u0002\u0ec1\u0ec3\u0005\u0350\u01a9\u0002\u0ec2',
- '\u0ec0\u0003\u0002\u0002\u0002\u0ec3\u0ec6\u0003\u0002\u0002\u0002\u0ec4',
- '\u0ec2\u0003\u0002\u0002\u0002\u0ec4\u0ec5\u0003\u0002\u0002\u0002\u0ec5',
- '\u027b\u0003\u0002\u0002\u0002\u0ec6\u0ec4\u0003\u0002\u0002\u0002\u0ec7',
- '\u0ec8\u0007\u0018\u0002\u0002\u0ec8\u0ec9\u0005\u027e\u0140\u0002\u0ec9',
- '\u027d\u0003\u0002\u0002\u0002\u0eca\u0ecb\u0005\u028c\u0147\u0002\u0ecb',
- '\u0ece\u0005\u0288\u0145\u0002\u0ecc\u0ecd\u0007\u0173\u0002\u0002\u0ecd',
- '\u0ecf\u0005\u0288\u0145\u0002\u0ece\u0ecc\u0003\u0002\u0002\u0002\u0ecf',
- '\u0ed0\u0003\u0002\u0002\u0002\u0ed0\u0ece\u0003\u0002\u0002\u0002\u0ed0',
- '\u0ed1\u0003\u0002\u0002\u0002\u0ed1\u0ed6\u0003\u0002\u0002\u0002\u0ed2',
- '\u0ed6\u0005\u0282\u0142\u0002\u0ed3\u0ed6\u0005\u02b6\u015c\u0002\u0ed4',
- '\u0ed6\u0005\u0284\u0143\u0002\u0ed5\u0eca\u0003\u0002\u0002\u0002\u0ed5',
- '\u0ed2\u0003\u0002\u0002\u0002\u0ed5\u0ed3\u0003\u0002\u0002\u0002\u0ed5',
- '\u0ed4\u0003\u0002\u0002\u0002\u0ed6\u027f\u0003\u0002\u0002\u0002\u0ed7',
- '\u0edb\u0005\u029a\u014e\u0002\u0ed8\u0eda\u0005\u0290\u0149\u0002\u0ed9',
- '\u0ed8\u0003\u0002\u0002\u0002\u0eda\u0edd\u0003\u0002\u0002\u0002\u0edb',
- '\u0ed9\u0003\u0002\u0002\u0002\u0edb\u0edc\u0003\u0002\u0002\u0002\u0edc',
- '\u0ef8\u0003\u0002\u0002\u0002\u0edd\u0edb\u0003\u0002\u0002\u0002\u0ede',
- '\u0ee2\u0005\u02b4\u015b\u0002\u0edf\u0ee1\u0005\u0290\u0149\u0002\u0ee0',
- '\u0edf\u0003\u0002\u0002\u0002\u0ee1\u0ee4\u0003\u0002\u0002\u0002\u0ee2',
- '\u0ee0\u0003\u0002\u0002\u0002\u0ee2\u0ee3\u0003\u0002\u0002\u0002\u0ee3',
- '\u0ef8\u0003\u0002\u0002\u0002\u0ee4\u0ee2\u0003\u0002\u0002\u0002\u0ee5',
- '\u0ee9\u0005\u02a2\u0152\u0002\u0ee6\u0ee8\u0005\u0290\u0149\u0002\u0ee7',
- '\u0ee6\u0003\u0002\u0002\u0002\u0ee8\u0eeb\u0003\u0002\u0002\u0002\u0ee9',
- '\u0ee7\u0003\u0002\u0002\u0002\u0ee9\u0eea\u0003\u0002\u0002\u0002\u0eea',
- '\u0ef8\u0003\u0002\u0002\u0002\u0eeb\u0ee9\u0003\u0002\u0002\u0002\u0eec',
- '\u0ef0\u0005\u02a8\u0155\u0002\u0eed\u0eef\u0005\u0290\u0149\u0002\u0eee',
- '\u0eed\u0003\u0002\u0002\u0002\u0eef\u0ef2\u0003\u0002\u0002\u0002\u0ef0',
- '\u0eee\u0003\u0002\u0002\u0002\u0ef0\u0ef1\u0003\u0002\u0002\u0002\u0ef1',
- '\u0ef8\u0003\u0002\u0002\u0002\u0ef2\u0ef0\u0003\u0002\u0002\u0002\u0ef3',
- '\u0ef4\u0007\u0175\u0002\u0002\u0ef4\u0ef5\u0005\u0282\u0142\u0002\u0ef5',
- '\u0ef6\u0007\u0176\u0002\u0002\u0ef6\u0ef8\u0003\u0002\u0002\u0002\u0ef7',
- '\u0ed7\u0003\u0002\u0002\u0002\u0ef7\u0ede\u0003\u0002\u0002\u0002\u0ef7',
- '\u0ee5\u0003\u0002\u0002\u0002\u0ef7\u0eec\u0003\u0002\u0002\u0002\u0ef7',
- '\u0ef3\u0003\u0002\u0002\u0002\u0ef8\u0281\u0003\u0002\u0002\u0002\u0ef9',
- '\u0f04\u0005\u0280\u0141\u0002\u0efa\u0efb\u0005\u028e\u0148\u0002\u0efb',
- '\u0f00\u0005\u0286\u0144\u0002\u0efc\u0efd\u0007%\u0002\u0002\u0efd',
- '\u0f01\u0005\u0330\u0199\u0002\u0efe\u0eff\u00076\u0002\u0002\u0eff',
- '\u0f01\u0005\u0198\u00cd\u0002\u0f00\u0efc\u0003\u0002\u0002\u0002\u0f00',
- '\u0efe\u0003\u0002\u0002\u0002\u0f00\u0f01\u0003\u0002\u0002\u0002\u0f01',
- '\u0f03\u0003\u0002\u0002\u0002\u0f02\u0efa\u0003\u0002\u0002\u0002\u0f03',
- '\u0f06\u0003\u0002\u0002\u0002\u0f04\u0f02\u0003\u0002\u0002\u0002\u0f04',
- '\u0f05\u0003\u0002\u0002\u0002\u0f05\u0283\u0003\u0002\u0002\u0002\u0f06',
- '\u0f04\u0003\u0002\u0002\u0002\u0f07\u0f09\u0007\u016b\u0002\u0002\u0f08',
- '\u0f0a\u0007\u0175\u0002\u0002\u0f09\u0f08\u0003\u0002\u0002\u0002\u0f09',
- '\u0f0a\u0003\u0002\u0002\u0002\u0f0a\u0f0b\u0003\u0002\u0002\u0002\u0f0b',
- '\u0f0d\u0005\u029e\u0150\u0002\u0f0c\u0f0e\u0007\u0176\u0002\u0002\u0f0d',
- '\u0f0c\u0003\u0002\u0002\u0002\u0f0d\u0f0e\u0003\u0002\u0002\u0002\u0f0e',
- '\u0f10\u0003\u0002\u0002\u0002\u0f0f\u0f11\u0005\u0292\u014a\u0002\u0f10',
- '\u0f0f\u0003\u0002\u0002\u0002\u0f10\u0f11\u0003\u0002\u0002\u0002\u0f11',
- '\u0f15\u0003\u0002\u0002\u0002\u0f12\u0f13\u0007\u016b\u0002\u0002\u0f13',
- '\u0f15\u0005\u02b8\u015d\u0002\u0f14\u0f07\u0003\u0002\u0002\u0002\u0f14',
- '\u0f12\u0003\u0002\u0002\u0002\u0f15\u0285\u0003\u0002\u0002\u0002\u0f16',
- '\u0f1b\u0005\u029a\u014e\u0002\u0f17\u0f1b\u0005\u02b4\u015b\u0002\u0f18',
- '\u0f1b\u0005\u02a2\u0152\u0002\u0f19\u0f1b\u0005\u02a8\u0155\u0002\u0f1a',
- '\u0f16\u0003\u0002\u0002\u0002\u0f1a\u0f17\u0003\u0002\u0002\u0002\u0f1a',
- '\u0f18\u0003\u0002\u0002\u0002\u0f1a\u0f19\u0003\u0002\u0002\u0002\u0f1b',
- '\u0f1f\u0003\u0002\u0002\u0002\u0f1c\u0f1e\u0005\u0290\u0149\u0002\u0f1d',
- '\u0f1c\u0003\u0002\u0002\u0002\u0f1e\u0f21\u0003\u0002\u0002\u0002\u0f1f',
- '\u0f1d\u0003\u0002\u0002\u0002\u0f1f\u0f20\u0003\u0002\u0002\u0002\u0f20',
- '\u0287\u0003\u0002\u0002\u0002\u0f21\u0f1f\u0003\u0002\u0002\u0002\u0f22',
- '\u0f24\u0007 \u0002\u0002\u0f23\u0f22\u0003\u0002\u0002\u0002\u0f23',
- '\u0f24\u0003\u0002\u0002\u0002\u0f24\u0f25\u0003\u0002\u0002\u0002\u0f25',
- '\u0f26\u0005\u029c\u014f\u0002\u0f26\u0f27\u0005\u028a\u0146\u0002\u0f27',
- '\u0289\u0003\u0002\u0002\u0002\u0f28\u0f29\u0007\u0175\u0002\u0002\u0f29',
- '\u0f2a\u0005\u0278\u013d\u0002\u0f2a\u0f2b\u0007\u0176\u0002\u0002\u0f2b',
- '\u028b\u0003\u0002\u0002\u0002\u0f2c\u0f2d\u0007\u001f\u0002\u0002\u0f2d',
- '\u028d\u0003\u0002\u0002\u0002\u0f2e\u0f47\u0007!\u0002\u0002\u0f2f',
- '\u0f30\u0007\u0102\u0002\u0002\u0f30\u0f47\u0007!\u0002\u0002\u0f31',
- '\u0f47\u0007\u0173\u0002\u0002\u0f32\u0f33\u0007\u00d6\u0002\u0002\u0f33',
- '\u0f47\u0007!\u0002\u0002\u0f34\u0f36\u0007"\u0002\u0002\u0f35\u0f37',
- '\u0007\u001e\u0002\u0002\u0f36\u0f35\u0003\u0002\u0002\u0002\u0f36\u0f37',
- '\u0003\u0002\u0002\u0002\u0f37\u0f38\u0003\u0002\u0002\u0002\u0f38\u0f47',
- '\u0007!\u0002\u0002\u0f39\u0f3b\u0007#\u0002\u0002\u0f3a\u0f3c\u0007',
- '\u001e\u0002\u0002\u0f3b\u0f3a\u0003\u0002\u0002\u0002\u0f3b\u0f3c\u0003',
- '\u0002\u0002\u0002\u0f3c\u0f3d\u0003\u0002\u0002\u0002\u0f3d\u0f47\u0007',
- '!\u0002\u0002\u0f3e\u0f40\u0007$\u0002\u0002\u0f3f\u0f41\u0007\u001e',
- '\u0002\u0002\u0f40\u0f3f\u0003\u0002\u0002\u0002\u0f40\u0f41\u0003\u0002',
- '\u0002\u0002\u0f41\u0f42\u0003\u0002\u0002\u0002\u0f42\u0f47\u0007!',
- '\u0002\u0002\u0f43\u0f44\u0007"\u0002\u0002\u0f44\u0f45\u0007\u00dc',
- '\u0002\u0002\u0f45\u0f47\u0007!\u0002\u0002\u0f46\u0f2e\u0003\u0002',
- '\u0002\u0002\u0f46\u0f2f\u0003\u0002\u0002\u0002\u0f46\u0f31\u0003\u0002',
- '\u0002\u0002\u0f46\u0f32\u0003\u0002\u0002\u0002\u0f46\u0f34\u0003\u0002',
- '\u0002\u0002\u0f46\u0f39\u0003\u0002\u0002\u0002\u0f46\u0f3e\u0003\u0002',
- '\u0002\u0002\u0f46\u0f43\u0003\u0002\u0002\u0002\u0f47\u028f\u0003\u0002',
- '\u0002\u0002\u0f48\u0f49\u0007\u00dd\u0002\u0002\u0f49\u0f4a\u0007\u00b9',
- '\u0002\u0002\u0f4a\u0f4b\u0007\u001e\u0002\u0002\u0f4b\u0f4c\u0005\u02ea',
- '\u0176\u0002\u0f4c\u0f56\u0005\u0292\u014a\u0002\u0f4d\u0f4e\u0007\u0019',
- '\u0002\u0002\u0f4e\u0f53\u0005\u0350\u01a9\u0002\u0f4f\u0f50\u0007\u0173',
- '\u0002\u0002\u0f50\u0f52\u0005\u0350\u01a9\u0002\u0f51\u0f4f\u0003\u0002',
- '\u0002\u0002\u0f52\u0f55\u0003\u0002\u0002\u0002\u0f53\u0f51\u0003\u0002',
- '\u0002\u0002\u0f53\u0f54\u0003\u0002\u0002\u0002\u0f54\u0f57\u0003\u0002',
- '\u0002\u0002\u0f55\u0f53\u0003\u0002\u0002\u0002\u0f56\u0f4d\u0003\u0002',
- '\u0002\u0002\u0f56\u0f57\u0003\u0002\u0002\u0002\u0f57\u0f84\u0003\u0002',
- '\u0002\u0002\u0f58\u0f5a\u0007\u0173\u0002\u0002\u0f59\u0f58\u0003\u0002',
- '\u0002\u0002\u0f59\u0f5a\u0003\u0002\u0002\u0002\u0f5a\u0f5b\u0003\u0002',
- '\u0002\u0002\u0f5b\u0f5c\u0007\u00dd\u0002\u0002\u0f5c\u0f5d\u0007\u00b9',
- '\u0002\u0002\u0f5d\u0f5e\u0005\u02ea\u0176\u0002\u0f5e\u0f68\u0005\u0292',
- '\u014a\u0002\u0f5f\u0f60\u0007\u0019\u0002\u0002\u0f60\u0f65\u0005\u0350',
- '\u01a9\u0002\u0f61\u0f62\u0007\u0173\u0002\u0002\u0f62\u0f64\u0005\u0350',
- '\u01a9\u0002\u0f63\u0f61\u0003\u0002\u0002\u0002\u0f64\u0f67\u0003\u0002',
- '\u0002\u0002\u0f65\u0f63\u0003\u0002\u0002\u0002\u0f65\u0f66\u0003\u0002',
- '\u0002\u0002\u0f66\u0f69\u0003\u0002\u0002\u0002\u0f67\u0f65\u0003\u0002',
- '\u0002\u0002\u0f68\u0f5f\u0003\u0002\u0002\u0002\u0f68\u0f69\u0003\u0002',
- '\u0002\u0002\u0f69\u0f84\u0003\u0002\u0002\u0002\u0f6a\u0f6c\u0007\u0173',
- '\u0002\u0002\u0f6b\u0f6a\u0003\u0002\u0002\u0002\u0f6b\u0f6c\u0003\u0002',
- '\u0002\u0002\u0f6c\u0f6d\u0003\u0002\u0002\u0002\u0f6d\u0f6e\u0007\u00dd',
- '\u0002\u0002\u0f6e\u0f6f\u0007(\u0002\u0002\u0f6f\u0f70\u0007\u0175',
- '\u0002\u0002\u0f70\u0f71\u0005\u02ae\u0158\u0002\u0f71\u0f73\u0007\u0176',
- '\u0002\u0002\u0f72\u0f74\u0007\u0019\u0002\u0002\u0f73\u0f72\u0003\u0002',
- '\u0002\u0002\u0f73\u0f74\u0003\u0002\u0002\u0002\u0f74\u0f75\u0003\u0002',
- '\u0002\u0002\u0f75\u0f81\u0005\u0292\u014a\u0002\u0f76\u0f77\u0007\u0175',
- '\u0002\u0002\u0f77\u0f7c\u0005\u0350\u01a9\u0002\u0f78\u0f79\u0007\u0173',
- '\u0002\u0002\u0f79\u0f7b\u0005\u0350\u01a9\u0002\u0f7a\u0f78\u0003\u0002',
- '\u0002\u0002\u0f7b\u0f7e\u0003\u0002\u0002\u0002\u0f7c\u0f7a\u0003\u0002',
- '\u0002\u0002\u0f7c\u0f7d\u0003\u0002\u0002\u0002\u0f7d\u0f7f\u0003\u0002',
- '\u0002\u0002\u0f7e\u0f7c\u0003\u0002\u0002\u0002\u0f7f\u0f80\u0007\u0176',
- '\u0002\u0002\u0f80\u0f82\u0003\u0002\u0002\u0002\u0f81\u0f76\u0003\u0002',
- '\u0002\u0002\u0f81\u0f82\u0003\u0002\u0002\u0002\u0f82\u0f84\u0003\u0002',
- '\u0002\u0002\u0f83\u0f48\u0003\u0002\u0002\u0002\u0f83\u0f59\u0003\u0002',
- '\u0002\u0002\u0f83\u0f6b\u0003\u0002\u0002\u0002\u0f84\u0291\u0003\u0002',
- '\u0002\u0002\u0f85\u0f86\u0005\u0350\u01a9\u0002\u0f86\u0293\u0003\u0002',
- '\u0002\u0002\u0f87\u0f88\u0007\u0087\u0002\u0002\u0f88\u0f89\u0007\u0175',
- '\u0002\u0002\u0f89\u0f8a\u0007\u0088\u0002\u0002\u0f8a\u0f8b\u0007\u0195',
- '\u0002\u0002\u0f8b\u0f8c\u0007\u0089\u0002\u0002\u0f8c\u0f8d\u0007\u008a',
- '\u0002\u0002\u0f8d\u0f97\u0007\u0195\u0002\u0002\u0f8e\u0f8f\u0007%',
- '\u0002\u0002\u0f8f\u0f94\u0005\u0330\u0199\u0002\u0f90\u0f91\u0007\u0173',
- '\u0002\u0002\u0f91\u0f93\u0005\u0330\u0199\u0002\u0f92\u0f90\u0003\u0002',
- '\u0002\u0002\u0f93\u0f96\u0003\u0002\u0002\u0002\u0f94\u0f92\u0003\u0002',
- '\u0002\u0002\u0f94\u0f95\u0003\u0002\u0002\u0002\u0f95\u0f98\u0003\u0002',
- '\u0002\u0002\u0f96\u0f94\u0003\u0002\u0002\u0002\u0f97\u0f8e\u0003\u0002',
- '\u0002\u0002\u0f97\u0f98\u0003\u0002\u0002\u0002\u0f98\u0f99\u0003\u0002',
- '\u0002\u0002\u0f99\u0f9a\u0007\u0176\u0002\u0002\u0f9a\u0295\u0003\u0002',
- '\u0002\u0002\u0f9b\u0f9c\u0007\u0087\u0002\u0002\u0f9c\u0f9d\u0007\u0175',
- '\u0002\u0002\u0f9d\u0f9e\u0007\u0195\u0002\u0002\u0f9e\u0f9f\t\u0019',
- '\u0002\u0002\u0f9f\u0fa5\u0007\u0176\u0002\u0002\u0fa0\u0fa1\u0007\u0087',
- '\u0002\u0002\u0fa1\u0fa2\u0007\u0175\u0002\u0002\u0fa2\u0fa3\u0007\u0194',
- '\u0002\u0002\u0fa3\u0fa5\u0007\u0176\u0002\u0002\u0fa4\u0f9b\u0003\u0002',
- '\u0002\u0002\u0fa4\u0fa0\u0003\u0002\u0002\u0002\u0fa5\u0297\u0003\u0002',
- '\u0002\u0002\u0fa6\u0fa9\u0005\u0294\u014b\u0002\u0fa7\u0fa9\u0005\u0296',
- '\u014c\u0002\u0fa8\u0fa6\u0003\u0002\u0002\u0002\u0fa8\u0fa7\u0003\u0002',
- '\u0002\u0002\u0fa9\u0299\u0003\u0002\u0002\u0002\u0faa\u0fac\u0005\u029e',
- '\u0150\u0002\u0fab\u0fad\u0005\u0164\u00b3\u0002\u0fac\u0fab\u0003\u0002',
- '\u0002\u0002\u0fac\u0fad\u0003\u0002\u0002\u0002\u0fad\u0faf\u0003\u0002',
- '\u0002\u0002\u0fae\u0fb0\u0005\u0298\u014d\u0002\u0faf\u0fae\u0003\u0002',
- '\u0002\u0002\u0faf\u0fb0\u0003\u0002\u0002\u0002\u0fb0\u0fb5\u0003\u0002',
- '\u0002\u0002\u0fb1\u0fb3\u0007\u0019\u0002\u0002\u0fb2\u0fb1\u0003\u0002',
- '\u0002\u0002\u0fb2\u0fb3\u0003\u0002\u0002\u0002\u0fb3\u0fb4\u0003\u0002',
- '\u0002\u0002\u0fb4\u0fb6\u0005\u0350\u01a9\u0002\u0fb5\u0fb2\u0003\u0002',
- '\u0002\u0002\u0fb5\u0fb6\u0003\u0002\u0002\u0002\u0fb6\u029b\u0003\u0002',
- '\u0002\u0002\u0fb7\u0fb9\u0005\u029e\u0150\u0002\u0fb8\u0fba\u0005\u0298',
- '\u014d\u0002\u0fb9\u0fb8\u0003\u0002\u0002\u0002\u0fb9\u0fba\u0003\u0002',
- '\u0002\u0002\u0fba\u0fbf\u0003\u0002\u0002\u0002\u0fbb\u0fbd\u0007\u0019',
- '\u0002\u0002\u0fbc\u0fbb\u0003\u0002\u0002\u0002\u0fbc\u0fbd\u0003\u0002',
- '\u0002\u0002\u0fbd\u0fbe\u0003\u0002\u0002\u0002\u0fbe\u0fc0\u0005\u0350',
- '\u01a9\u0002\u0fbf\u0fbc\u0003\u0002\u0002\u0002\u0fbf\u0fc0\u0003\u0002',
- '\u0002\u0002\u0fc0\u029d\u0003\u0002\u0002\u0002\u0fc1\u0fc6\u0005\u0350',
- '\u01a9\u0002\u0fc2\u0fc3\u0007\u0171\u0002\u0002\u0fc3\u0fc5\u0005\u0350',
- '\u01a9\u0002\u0fc4\u0fc2\u0003\u0002\u0002\u0002\u0fc5\u0fc8\u0003\u0002',
- '\u0002\u0002\u0fc6\u0fc4\u0003\u0002\u0002\u0002\u0fc6\u0fc7\u0003\u0002',
- '\u0002\u0002\u0fc7\u029f\u0003\u0002\u0002\u0002\u0fc8\u0fc6\u0003\u0002',
- '\u0002\u0002\u0fc9\u0fca\u0005\u0350\u01a9\u0002\u0fca\u0fcb\u0007\u0171',
- '\u0002\u0002\u0fcb\u0fcd\u0003\u0002\u0002\u0002\u0fcc\u0fc9\u0003\u0002',
- '\u0002\u0002\u0fcc\u0fcd\u0003\u0002\u0002\u0002\u0fcd\u0fce\u0003\u0002',
- '\u0002\u0002\u0fce\u0fcf\u0005\u0350\u01a9\u0002\u0fcf\u02a1\u0003\u0002',
- '\u0002\u0002\u0fd0\u0fd1\u0007\u0175\u0002\u0002\u0fd1\u0fd2\u0005\u020c',
- '\u0107\u0002\u0fd2\u0fd7\u0007\u0176\u0002\u0002\u0fd3\u0fd5\u0007\u0019',
- '\u0002\u0002\u0fd4\u0fd3\u0003\u0002\u0002\u0002\u0fd4\u0fd5\u0003\u0002',
- '\u0002\u0002\u0fd5\u0fd6\u0003\u0002\u0002\u0002\u0fd6\u0fd8\u0005\u0350',
- '\u01a9\u0002\u0fd7\u0fd4\u0003\u0002\u0002\u0002\u0fd7\u0fd8\u0003\u0002',
- '\u0002\u0002\u0fd8\u02a3\u0003\u0002\u0002\u0002\u0fd9\u0fdb\u0005\u02e4',
- '\u0173\u0002\u0fda\u0fdc\u0005\u02e0\u0171\u0002\u0fdb\u0fda\u0003\u0002',
- '\u0002\u0002\u0fdb\u0fdc\u0003\u0002\u0002\u0002\u0fdc\u0fe5\u0003\u0002',
- '\u0002\u0002\u0fdd\u0fe5\u0005\u02e0\u0171\u0002\u0fde\u0fe0\u0005\u02e6',
- '\u0174\u0002\u0fdf\u0fe1\u0005\u02e8\u0175\u0002\u0fe0\u0fdf\u0003\u0002',
- '\u0002\u0002\u0fe0\u0fe1\u0003\u0002\u0002\u0002\u0fe1\u0fe5\u0003\u0002',
- '\u0002\u0002\u0fe2\u0fe5\u0005\u02e8\u0175\u0002\u0fe3\u0fe5\u0005\u02e2',
- '\u0172\u0002\u0fe4\u0fd9\u0003\u0002\u0002\u0002\u0fe4\u0fdd\u0003\u0002',
- '\u0002\u0002\u0fe4\u0fde\u0003\u0002\u0002\u0002\u0fe4\u0fe2\u0003\u0002',
- '\u0002\u0002\u0fe4\u0fe3\u0003\u0002\u0002\u0002\u0fe5\u02a5\u0003\u0002',
- '\u0002\u0002\u0fe6\u0fea\u0005\u02a2\u0152\u0002\u0fe7\u0fea\u0005\u029a',
- '\u014e\u0002\u0fe8\u0fea\u0005\u02a8\u0155\u0002\u0fe9\u0fe6\u0003\u0002',
- '\u0002\u0002\u0fe9\u0fe7\u0003\u0002\u0002\u0002\u0fe9\u0fe8\u0003\u0002',
- '\u0002\u0002\u0fea\u02a7\u0003\u0002\u0002\u0002\u0feb\u0fec\u0005\u0350',
- '\u01a9\u0002\u0fec\u0fed\u0007\u0175\u0002\u0002\u0fed\u0fee\u0007%',
- '\u0002\u0002\u0fee\u0ff0\u0005\u02a6\u0154\u0002\u0fef\u0ff1\u0005\u02a4',
- '\u0153\u0002\u0ff0\u0fef\u0003\u0002\u0002\u0002\u0ff0\u0ff1\u0003\u0002',
- '\u0002\u0002\u0ff1\u1001\u0003\u0002\u0002\u0002\u0ff2\u0ff3\u0007\u0196',
- '\u0002\u0002\u0ff3\u0ff4\u0007\u0175\u0002\u0002\u0ff4\u0ff5\u0005\u0330',
- '\u0199\u0002\u0ff5\u0ffe\u0007\u0176\u0002\u0002\u0ff6\u0ff7\u0007\u0173',
- '\u0002\u0002\u0ff7\u0ff8\u0007\u0196\u0002\u0002\u0ff8\u0ff9\u0007\u0175',
- '\u0002\u0002\u0ff9\u0ffa\u0005\u0330\u0199\u0002\u0ffa\u0ffb\u0007\u0176',
- '\u0002\u0002\u0ffb\u0ffd\u0003\u0002\u0002\u0002\u0ffc\u0ff6\u0003\u0002',
- '\u0002\u0002\u0ffd\u1000\u0003\u0002\u0002\u0002\u0ffe\u0ffc\u0003\u0002',
- '\u0002\u0002\u0ffe\u0fff\u0003\u0002\u0002\u0002\u0fff\u1002\u0003\u0002',
- '\u0002\u0002\u1000\u0ffe\u0003\u0002\u0002\u0002\u1001\u0ff2\u0003\u0002',
- '\u0002\u0002\u1001\u1002\u0003\u0002\u0002\u0002\u1002\u1003\u0003\u0002',
- '\u0002\u0002\u1003\u1005\u0007\u0176\u0002\u0002\u1004\u1006\u0005\u0350',
- '\u01a9\u0002\u1005\u1004\u0003\u0002\u0002\u0002\u1005\u1006\u0003\u0002',
- '\u0002\u0002\u1006\u02a9\u0003\u0002\u0002\u0002\u1007\u1008\u0007\u0017',
- '\u0002\u0002\u1008\u1009\u0005\u02ac\u0157\u0002\u1009\u02ab\u0003\u0002',
- '\u0002\u0002\u100a\u100b\u0005\u0330\u0199\u0002\u100b\u02ad\u0003\u0002',
- '\u0002\u0002\u100c\u100d\u0007\u0110\u0002\u0002\u100d\u100e\u0005\u02b0',
- '\u0159\u0002\u100e\u02af\u0003\u0002\u0002\u0002\u100f\u1014\u0005\u02b2',
- '\u015a\u0002\u1010\u1011\u0007\u0173\u0002\u0002\u1011\u1013\u0005\u02b2',
- '\u015a\u0002\u1012\u1010\u0003\u0002\u0002\u0002\u1013\u1016\u0003\u0002',
- '\u0002\u0002\u1014\u1012\u0003\u0002\u0002\u0002\u1014\u1015\u0003\u0002',
- '\u0002\u0002\u1015\u02b1\u0003\u0002\u0002\u0002\u1016\u1014\u0003\u0002',
- '\u0002\u0002\u1017\u1018\u0005\u02d4\u016b\u0002\u1018\u02b3\u0003\u0002',
- '\u0002\u0002\u1019\u101a\u0007(\u0002\u0002\u101a\u101b\u0007\u0175',
- '\u0002\u0002\u101b\u101c\u0005\u02ae\u0158\u0002\u101c\u101e\u0007\u0176',
- '\u0002\u0002\u101d\u101f\u0007\u0019\u0002\u0002\u101e\u101d\u0003\u0002',
- '\u0002\u0002\u101e\u101f\u0003\u0002\u0002\u0002\u101f\u1020\u0003\u0002',
- '\u0002\u0002\u1020\u102a\u0005\u0292\u014a\u0002\u1021\u1022\u0007\u0175',
- '\u0002\u0002\u1022\u1027\u0005\u0350\u01a9\u0002\u1023\u1024\u0007\u0173',
- '\u0002\u0002\u1024\u1026\u0005\u0350\u01a9\u0002\u1025\u1023\u0003\u0002',
- '\u0002\u0002\u1026\u1029\u0003\u0002\u0002\u0002\u1027\u1025\u0003\u0002',
- '\u0002\u0002\u1027\u1028\u0003\u0002\u0002\u0002\u1028\u102b\u0003\u0002',
- '\u0002\u0002\u1029\u1027\u0003\u0002\u0002\u0002\u102a\u1021\u0003\u0002',
- '\u0002\u0002\u102a\u102b\u0003\u0002\u0002\u0002\u102b\u102c\u0003\u0002',
- '\u0002\u0002\u102c\u102d\u0007\u0176\u0002\u0002\u102d\u02b5\u0003\u0002',
- '\u0002\u0002\u102e\u102f\u0007\u00d0\u0002\u0002\u102f\u1030\u0007\u0175',
- '\u0002\u0002\u1030\u1035\u0007\u0195\u0002\u0002\u1031\u1032\u0007\u0173',
- '\u0002\u0002\u1032\u1034\u0007\u0195\u0002\u0002\u1033\u1031\u0003\u0002',
- '\u0002\u0002\u1034\u1037\u0003\u0002\u0002\u0002\u1035\u1033\u0003\u0002',
- '\u0002\u0002\u1035\u1036\u0003\u0002\u0002\u0002\u1036\u1038\u0003\u0002',
- '\u0002\u0002\u1037\u1035\u0003\u0002\u0002\u0002\u1038\u1039\u0007\u0176',
- '\u0002\u0002\u1039\u02b7\u0003\u0002\u0002\u0002\u103a\u103b\u0005\u0350',
- '\u01a9\u0002\u103b\u103d\u0007\u0175\u0002\u0002\u103c\u103e\u0005\u02ba',
- '\u015e\u0002\u103d\u103c\u0003\u0002\u0002\u0002\u103d\u103e\u0003\u0002',
- '\u0002\u0002\u103e\u103f\u0003\u0002\u0002\u0002\u103f\u1040\u0007\u0176',
- '\u0002\u0002\u1040\u02b9\u0003\u0002\u0002\u0002\u1041\u1046\u0005\u02bc',
- '\u015f\u0002\u1042\u1043\u0007\u0173\u0002\u0002\u1043\u1045\u0005\u02bc',
- '\u015f\u0002\u1044\u1042\u0003\u0002\u0002\u0002\u1045\u1048\u0003\u0002',
- '\u0002\u0002\u1046\u1044\u0003\u0002\u0002\u0002\u1046\u1047\u0003\u0002',
- '\u0002\u0002\u1047\u02bb\u0003\u0002\u0002\u0002\u1048\u1046\u0003\u0002',
- '\u0002\u0002\u1049\u104d\u0005\u02be\u0160\u0002\u104a\u104d\u0005\u0330',
- '\u0199\u0002\u104b\u104d\u0007\u0190\u0002\u0002\u104c\u1049\u0003\u0002',
- '\u0002\u0002\u104c\u104a\u0003\u0002\u0002\u0002\u104c\u104b\u0003\u0002',
- '\u0002\u0002\u104d\u02bd\u0003\u0002\u0002\u0002\u104e\u104f\u0005\u0350',
- '\u01a9\u0002\u104f\u1053\u0007\u0182\u0002\u0002\u1050\u1054\u0005\u0350',
- '\u01a9\u0002\u1051\u1054\u0005\u0330\u0199\u0002\u1052\u1054\u0007\u0190',
- '\u0002\u0002\u1053\u1050\u0003\u0002\u0002\u0002\u1053\u1051\u0003\u0002',
- '\u0002\u0002\u1053\u1052\u0003\u0002\u0002\u0002\u1054\u02bf\u0003\u0002',
- '\u0002\u0002\u1055\u1056\u0007\u0014\u0002\u0002\u1056\u1057\u0007\u0015',
- '\u0002\u0002\u1057\u1058\u0005\u02c2\u0162\u0002\u1058\u02c1\u0003\u0002',
- '\u0002\u0002\u1059\u105d\u0005\u02c6\u0164\u0002\u105a\u105d\u0005\u02c8',
- '\u0165\u0002\u105b\u105d\u0005\u02c4\u0163\u0002\u105c\u1059\u0003\u0002',
- '\u0002\u0002\u105c\u105a\u0003\u0002\u0002\u0002\u105c\u105b\u0003\u0002',
- '\u0002\u0002\u105d\u02c3\u0003\u0002\u0002\u0002\u105e\u105f\u0007\u0175',
- '\u0002\u0002\u105f\u1060\u0007\u0176\u0002\u0002\u1060\u02c5\u0003\u0002',
- '\u0002\u0002\u1061\u1062\t\u001a\u0002\u0002\u1062\u1063\u0007\u0175',
- '\u0002\u0002\u1063\u1068\u0005\u0330\u0199\u0002\u1064\u1065\u0007\u0173',
- '\u0002\u0002\u1065\u1067\u0005\u0330\u0199\u0002\u1066\u1064\u0003\u0002',
- '\u0002\u0002\u1067\u106a\u0003\u0002\u0002\u0002\u1068\u1066\u0003\u0002',
- '\u0002\u0002\u1068\u1069\u0003\u0002\u0002\u0002\u1069\u106b\u0003\u0002',
- '\u0002\u0002\u106a\u1068\u0003\u0002\u0002\u0002\u106b\u106c\u0007\u0176',
- '\u0002\u0002\u106c\u02c7\u0003\u0002\u0002\u0002\u106d\u1072\u0005\u02d6',
- '\u016c\u0002\u106e\u106f\u0007\u009c\u0002\u0002\u106f\u1073\u0007\u00ed',
- '\u0002\u0002\u1070\u1071\u0007\u009c\u0002\u0002\u1071\u1073\u0007\u00ee',
- '\u0002\u0002\u1072\u106e\u0003\u0002\u0002\u0002\u1072\u1070\u0003\u0002',
- '\u0002\u0002\u1072\u1073\u0003\u0002\u0002\u0002\u1073\u1081\u0003\u0002',
- '\u0002\u0002\u1074\u1075\u0007\u00fb\u0002\u0002\u1075\u1076\u0007\u00fc',
- '\u0002\u0002\u1076\u1077\u0007\u0175\u0002\u0002\u1077\u107c\u0005\u02ca',
- '\u0166\u0002\u1078\u1079\u0007\u0173\u0002\u0002\u1079\u107b\u0005\u02ca',
- '\u0166\u0002\u107a\u1078\u0003\u0002\u0002\u0002\u107b\u107e\u0003\u0002',
- '\u0002\u0002\u107c\u107a\u0003\u0002\u0002\u0002\u107c\u107d\u0003\u0002',
- '\u0002\u0002\u107d\u107f\u0003\u0002\u0002\u0002\u107e\u107c\u0003\u0002',
- '\u0002\u0002\u107f\u1080\u0007\u0176\u0002\u0002\u1080\u1082\u0003\u0002',
- '\u0002\u0002\u1081\u1074\u0003\u0002\u0002\u0002\u1081\u1082\u0003\u0002',
- '\u0002\u0002\u1082\u02c9\u0003\u0002\u0002\u0002\u1083\u1086\u0005\u02cc',
- '\u0167\u0002\u1084\u1086\u0005\u02ce\u0168\u0002\u1085\u1083\u0003\u0002',
- '\u0002\u0002\u1085\u1084\u0003\u0002\u0002\u0002\u1086\u02cb\u0003\u0002',
- '\u0002\u0002\u1087\u1089\u0007\u0175\u0002\u0002\u1088\u108a\u0005\u0330',
- '\u0199\u0002\u1089\u1088\u0003\u0002\u0002\u0002\u1089\u108a\u0003\u0002',
- '\u0002\u0002\u108a\u108f\u0003\u0002\u0002\u0002\u108b\u108c\u0007\u0173',
- '\u0002\u0002\u108c\u108e\u0005\u0330\u0199\u0002\u108d\u108b\u0003\u0002',
- '\u0002\u0002\u108e\u1091\u0003\u0002\u0002\u0002\u108f\u108d\u0003\u0002',
- '\u0002\u0002\u108f\u1090\u0003\u0002\u0002\u0002\u1090\u1092\u0003\u0002',
- '\u0002\u0002\u1091\u108f\u0003\u0002\u0002\u0002\u1092\u1093\u0007\u0176',
- '\u0002\u0002\u1093\u02cd\u0003\u0002\u0002\u0002\u1094\u1095\u0005\u0330',
- '\u0199\u0002\u1095\u02cf\u0003\u0002\u0002\u0002\u1096\u1097\u0007\u0016',
- '\u0002\u0002\u1097\u1098\u0005\u02d2\u016a\u0002\u1098\u02d1\u0003\u0002',
- '\u0002\u0002\u1099\u109a\u0005\u0330\u0199\u0002\u109a\u02d3\u0003\u0002',
- '\u0002\u0002\u109b\u109c\u0007\u0175\u0002\u0002\u109c\u109d\u0005\u02d6',
- '\u016c\u0002\u109d\u109e\u0007\u0176\u0002\u0002\u109e\u02d5\u0003\u0002',
- '\u0002\u0002\u109f\u10a1\u0005\u0330\u0199\u0002\u10a0\u10a2\u0005\u02d8',
- '\u016d\u0002\u10a1\u10a0\u0003\u0002\u0002\u0002\u10a1\u10a2\u0003\u0002',
- '\u0002\u0002\u10a2\u02d7\u0003\u0002\u0002\u0002\u10a3\u10a4\u0007\u0173',
- '\u0002\u0002\u10a4\u10a6\u0005\u0330\u0199\u0002\u10a5\u10a3\u0003\u0002',
- '\u0002\u0002\u10a6\u10a7\u0003\u0002\u0002\u0002\u10a7\u10a5\u0003\u0002',
- '\u0002\u0002\u10a7\u10a8\u0003\u0002\u0002\u0002\u10a8\u02d9\u0003\u0002',
- '\u0002\u0002\u10a9\u10ac\u0005\u02d4\u016b\u0002\u10aa\u10ac\u0005\u02d6',
- '\u016c\u0002\u10ab\u10a9\u0003\u0002\u0002\u0002\u10ab\u10aa\u0003\u0002',
- '\u0002\u0002\u10ac\u02db\u0003\u0002\u0002\u0002\u10ad\u10ae\u0007\u0175',
- '\u0002\u0002\u10ae\u10b3\u0005\u01ca\u00e6\u0002\u10af\u10b0\u0007\u0173',
- '\u0002\u0002\u10b0\u10b2\u0005\u01ca\u00e6\u0002\u10b1\u10af\u0003\u0002',
- '\u0002\u0002\u10b2\u10b5\u0003\u0002\u0002\u0002\u10b3\u10b1\u0003\u0002',
- '\u0002\u0002\u10b3\u10b4\u0003\u0002\u0002\u0002\u10b4\u10b6\u0003\u0002',
- '\u0002\u0002\u10b5\u10b3\u0003\u0002\u0002\u0002\u10b6\u10b7\u0007\u0176',
- '\u0002\u0002\u10b7\u02dd\u0003\u0002\u0002\u0002\u10b8\u10bd\u0005\u01ca',
- '\u00e6\u0002\u10b9\u10ba\u0007\u0173\u0002\u0002\u10ba\u10bc\u0005\u01ca',
- '\u00e6\u0002\u10bb\u10b9\u0003\u0002\u0002\u0002\u10bc\u10bf\u0003\u0002',
- '\u0002\u0002\u10bd\u10bb\u0003\u0002\u0002\u0002\u10bd\u10be\u0003\u0002',
- '\u0002\u0002\u10be\u02df\u0003\u0002\u0002\u0002\u10bf\u10bd\u0003\u0002',
- '\u0002\u0002\u10c0\u10c1\u0007\u0013\u0002\u0002\u10c1\u10c2\u0007\u0015',
- '\u0002\u0002\u10c2\u10c7\u0005\u01ca\u00e6\u0002\u10c3\u10c4\u0007\u0173',
- '\u0002\u0002\u10c4\u10c6\u0005\u01ca\u00e6\u0002\u10c5\u10c3\u0003\u0002',
- '\u0002\u0002\u10c6\u10c9\u0003\u0002\u0002\u0002\u10c7\u10c5\u0003\u0002',
- '\u0002\u0002\u10c7\u10c8\u0003\u0002\u0002\u0002\u10c8\u02e1\u0003\u0002',
- '\u0002\u0002\u10c9\u10c7\u0003\u0002\u0002\u0002\u10ca\u10cb\u00077',
- '\u0002\u0002\u10cb\u10d2\u0007\u0015\u0002\u0002\u10cc\u10cd\u0007\u0175',
- '\u0002\u0002\u10cd\u10ce\u0005\u0190\u00c9\u0002\u10ce\u10cf\u0007\u0176',
- '\u0002\u0002\u10cf\u10d3\u0003\u0002\u0002\u0002\u10d0\u10d3\u0007\u0006',
- '\u0002\u0002\u10d1\u10d3\u0007\u0007\u0002\u0002\u10d2\u10cc\u0003\u0002',
- '\u0002\u0002\u10d2\u10d0\u0003\u0002\u0002\u0002\u10d2\u10d1\u0003\u0002',
- '\u0002\u0002\u10d3\u02e3\u0003\u0002\u0002\u0002\u10d4\u10d5\u0007&',
- '\u0002\u0002\u10d5\u10d6\u0007\u0015\u0002\u0002\u10d6\u10d7\u0005\u02da',
- '\u016e\u0002\u10d7\u02e5\u0003\u0002\u0002\u0002\u10d8\u10d9\u00078',
- '\u0002\u0002\u10d9\u10da\u0007\u0015\u0002\u0002\u10da\u10db\u0005\u02da',
- '\u016e\u0002\u10db\u02e7\u0003\u0002\u0002\u0002\u10dc\u10dd\u00079',
- '\u0002\u0002\u10dd\u10e0\u0007\u0015\u0002\u0002\u10de\u10e1\u0005\u02dc',
- '\u016f\u0002\u10df\u10e1\u0005\u02de\u0170\u0002\u10e0\u10de\u0003\u0002',
- '\u0002\u0002\u10e0\u10df\u0003\u0002\u0002\u0002\u10e1\u02e9\u0003\u0002',
- '\u0002\u0002\u10e2\u10e3\u0005\u02ec\u0177\u0002\u10e3\u10f2\u0007\u0175',
- '\u0002\u0002\u10e4\u10f3\u0007\u0186\u0002\u0002\u10e5\u10e7\t\u0017',
- '\u0002\u0002\u10e6\u10e5\u0003\u0002\u0002\u0002\u10e6\u10e7\u0003\u0002',
- '\u0002\u0002\u10e7\u10f0\u0003\u0002\u0002\u0002\u10e8\u10ed\u0005\u025e',
- '\u0130\u0002\u10e9\u10ea\u0007\u0173\u0002\u0002\u10ea\u10ec\u0005\u025e',
- '\u0130\u0002\u10eb\u10e9\u0003\u0002\u0002\u0002\u10ec\u10ef\u0003\u0002',
- '\u0002\u0002\u10ed\u10eb\u0003\u0002\u0002\u0002\u10ed\u10ee\u0003\u0002',
- '\u0002\u0002\u10ee\u10f1\u0003\u0002\u0002\u0002\u10ef\u10ed\u0003\u0002',
- '\u0002\u0002\u10f0\u10e8\u0003\u0002\u0002\u0002\u10f0\u10f1\u0003\u0002',
- '\u0002\u0002\u10f1\u10f3\u0003\u0002\u0002\u0002\u10f2\u10e4\u0003\u0002',
- '\u0002\u0002\u10f2\u10e6\u0003\u0002\u0002\u0002\u10f3\u10f4\u0003\u0002',
- '\u0002\u0002\u10f4\u10f7\u0007\u0176\u0002\u0002\u10f5\u10f6\u0007\u00fa',
- '\u0002\u0002\u10f6\u10f8\u0005\u0268\u0135\u0002\u10f7\u10f5\u0003\u0002',
- '\u0002\u0002\u10f7\u10f8\u0003\u0002\u0002\u0002\u10f8\u02eb\u0003\u0002',
- '\u0002\u0002\u10f9\u10fc\u0005\u0352\u01aa\u0002\u10fa\u10fc\u0005\u0358',
- '\u01ad\u0002\u10fb\u10f9\u0003\u0002\u0002\u0002\u10fb\u10fa\u0003\u0002',
- '\u0002\u0002\u10fc\u02ed\u0003\u0002\u0002\u0002\u10fd\u10fe\u0007\u008c',
- '\u0002\u0002\u10fe\u10ff\u0007\u0175\u0002\u0002\u10ff\u1100\u0005\u0330',
- '\u0199\u0002\u1100\u1103\u0007\u0019\u0002\u0002\u1101\u1104\u0005\u0200',
- '\u0101\u0002\u1102\u1104\u0005\u0204\u0103\u0002\u1103\u1101\u0003\u0002',
- '\u0002\u0002\u1103\u1102\u0003\u0002\u0002\u0002\u1104\u1105\u0003\u0002',
- '\u0002\u0002\u1105\u1106\u0007\u0176\u0002\u0002\u1106\u02ef\u0003\u0002',
- '\u0002\u0002\u1107\u1108\u0007\u00a9\u0002\u0002\u1108\u110e\u0005\u0330',
- '\u0199\u0002\u1109\u110a\u0007\u00aa\u0002\u0002\u110a\u110b\u0005\u0330',
- '\u0199\u0002\u110b\u110c\u0007\u00ab\u0002\u0002\u110c\u110d\u0005\u0330',
- '\u0199\u0002\u110d\u110f\u0003\u0002\u0002\u0002\u110e\u1109\u0003\u0002',
- '\u0002\u0002\u110f\u1110\u0003\u0002\u0002\u0002\u1110\u110e\u0003\u0002',
- '\u0002\u0002\u1110\u1111\u0003\u0002\u0002\u0002\u1111\u1114\u0003\u0002',
- '\u0002\u0002\u1112\u1113\u0007\u00ac\u0002\u0002\u1113\u1115\u0005\u0330',
- '\u0199\u0002\u1114\u1112\u0003\u0002\u0002\u0002\u1114\u1115\u0003\u0002',
- '\u0002\u0002\u1115\u1116\u0003\u0002\u0002\u0002\u1116\u1117\u0007\u00ad',
- '\u0002\u0002\u1117\u02f1\u0003\u0002\u0002\u0002\u1118\u111e\u0007\u00a9',
- '\u0002\u0002\u1119\u111a\u0007\u00aa\u0002\u0002\u111a\u111b\u0005\u0330',
- '\u0199\u0002\u111b\u111c\u0007\u00ab\u0002\u0002\u111c\u111d\u0005\u0330',
- '\u0199\u0002\u111d\u111f\u0003\u0002\u0002\u0002\u111e\u1119\u0003\u0002',
- '\u0002\u0002\u111f\u1120\u0003\u0002\u0002\u0002\u1120\u111e\u0003\u0002',
- '\u0002\u0002\u1120\u1121\u0003\u0002\u0002\u0002\u1121\u1124\u0003\u0002',
- '\u0002\u0002\u1122\u1123\u0007\u00ac\u0002\u0002\u1123\u1125\u0005\u0330',
- '\u0199\u0002\u1124\u1122\u0003\u0002\u0002\u0002\u1124\u1125\u0003\u0002',
- '\u0002\u0002\u1125\u1126\u0003\u0002\u0002\u0002\u1126\u1127\u0007\u00ad',
- '\u0002\u0002\u1127\u02f3\u0003\u0002\u0002\u0002\u1128\u1129\u0007\u0135',
- '\u0002\u0002\u1129\u112a\u0007\u0175\u0002\u0002\u112a\u112d\u0005\u0330',
- '\u0199\u0002\u112b\u112c\u0007O\u0002\u0002\u112c\u112e\u0005\u02f6',
- '\u017c\u0002\u112d\u112b\u0003\u0002\u0002\u0002\u112d\u112e\u0003\u0002',
- '\u0002\u0002\u112e\u112f\u0003\u0002\u0002\u0002\u112f\u1130\u0007\u0176',
- '\u0002\u0002\u1130\u02f5\u0003\u0002\u0002\u0002\u1131\u1132\t\u001b',
- '\u0002\u0002\u1132\u02f7\u0003\u0002\u0002\u0002\u1133\u1134\u0007\u0134',
- '\u0002\u0002\u1134\u1135\u0007\u0175\u0002\u0002\u1135\u1136\u0005\u02fa',
- '\u017e\u0002\u1136\u1137\u0007\u0018\u0002\u0002\u1137\u1138\u0005\u0330',
- '\u0199\u0002\u1138\u1139\u0007\u0176\u0002\u0002\u1139\u02f9\u0003\u0002',
- '\u0002\u0002\u113a\u113b\t\u001c\u0002\u0002\u113b\u02fb\u0003\u0002',
- '\u0002\u0002\u113c\u1149\u0005\u030a\u0186\u0002\u113d\u1149\u0007\u0195',
- '\u0002\u0002\u113e\u1149\u0005\u0302\u0182\u0002\u113f\u1149\u0005\u0304',
- '\u0183\u0002\u1140\u1149\u0005\u0306\u0184\u0002\u1141\u1149\u0007\u0190',
- '\u0002\u0002\u1142\u1149\u0005\u02fe\u0180\u0002\u1143\u1149\u0007\u0192',
- '\u0002\u0002\u1144\u1149\u0007\u0193\u0002\u0002\u1145\u1149\u0005\u0300',
- '\u0181\u0002\u1146\u1149\u0005\u033c\u019f\u0002\u1147\u1149\u0007D',
- '\u0002\u0002\u1148\u113c\u0003\u0002\u0002\u0002\u1148\u113d\u0003\u0002',
- '\u0002\u0002\u1148\u113e\u0003\u0002\u0002\u0002\u1148\u113f\u0003\u0002',
- '\u0002\u0002\u1148\u1140\u0003\u0002\u0002\u0002\u1148\u1141\u0003\u0002',
- '\u0002\u0002\u1148\u1142\u0003\u0002\u0002\u0002\u1148\u1143\u0003\u0002',
- '\u0002\u0002\u1148\u1144\u0003\u0002\u0002\u0002\u1148\u1145\u0003\u0002',
- '\u0002\u0002\u1148\u1146\u0003\u0002\u0002\u0002\u1148\u1147\u0003\u0002',
- '\u0002\u0002\u1149\u02fd\u0003\u0002\u0002\u0002\u114a\u114c\u0007\u0190',
- '\u0002\u0002\u114b\u114d\u0007\u0190\u0002\u0002\u114c\u114b\u0003\u0002',
- '\u0002\u0002\u114d\u114e\u0003\u0002\u0002\u0002\u114e\u114c\u0003\u0002',
- '\u0002\u0002\u114e\u114f\u0003\u0002\u0002\u0002\u114f\u02ff\u0003\u0002',
- '\u0002\u0002\u1150\u1151\u0007\u0198\u0002\u0002\u1151\u1152\u0007\u0191',
- '\u0002\u0002\u1152\u0301\u0003\u0002\u0002\u0002\u1153\u1154\u0007Y',
- '\u0002\u0002\u1154\u1157\u0007\u0190\u0002\u0002\u1155\u1157\u0007\u00f6',
- '\u0002\u0002\u1156\u1153\u0003\u0002\u0002\u0002\u1156\u1155\u0003\u0002',
- '\u0002\u0002\u1157\u0303\u0003\u0002\u0002\u0002\u1158\u1159\u0007[',
- '\u0002\u0002\u1159\u1160\u0007\u0190\u0002\u0002\u115a\u115b\u0007[',
- '\u0002\u0002\u115b\u115c\u0007\u0190\u0002\u0002\u115c\u115d\u0007\u0019',
- '\u0002\u0002\u115d\u1160\u0007\\\u0002\u0002\u115e\u1160\u0007\u00f7',
- '\u0002\u0002\u115f\u1158\u0003\u0002\u0002\u0002\u115f\u115a\u0003\u0002',
- '\u0002\u0002\u115f\u115e\u0003\u0002\u0002\u0002\u1160\u0305\u0003\u0002',
- '\u0002\u0002\u1161\u1162\u0007]\u0002\u0002\u1162\u1163\u0007\u0190',
- '\u0002\u0002\u1163\u0307\u0003\u0002\u0002\u0002\u1164\u1165\t\u001d',
- '\u0002\u0002\u1165\u0309\u0003\u0002\u0002\u0002\u1166\u1167\u0005\u0308',
- '\u0185\u0002\u1167\u1168\u0005\u030e\u0188\u0002\u1168\u030b\u0003\u0002',
- '\u0002\u0002\u1169\u116a\u0007\u0175\u0002\u0002\u116a\u116b\u0005\u0308',
- '\u0185\u0002\u116b\u116c\u0007\u0176\u0002\u0002\u116c\u116d\u0005\u030e',
- '\u0188\u0002\u116d\u1179\u0003\u0002\u0002\u0002\u116e\u116f\u0007`',
- '\u0002\u0002\u116f\u1170\u0005\u0308\u0185\u0002\u1170\u1171\u0005\u030e',
- '\u0188\u0002\u1171\u1179\u0003\u0002\u0002\u0002\u1172\u1173\u0007`',
- '\u0002\u0002\u1173\u1174\u0007\u0175\u0002\u0002\u1174\u1175\u0005\u0330',
- '\u0199\u0002\u1175\u1176\u0007\u0176\u0002\u0002\u1176\u1177\u0005\u030e',
- '\u0188\u0002\u1177\u1179\u0003\u0002\u0002\u0002\u1178\u1169\u0003\u0002',
- '\u0002\u0002\u1178\u116e\u0003\u0002\u0002\u0002\u1178\u1172\u0003\u0002',
- '\u0002\u0002\u1179\u030d\u0003\u0002\u0002\u0002\u117a\u117b\u0007\u0112',
- '\u0002\u0002\u117b\u117c\u0007O\u0002\u0002\u117c\u1187\u0007\u0115',
- '\u0002\u0002\u117d\u117e\u0007\u0117\u0002\u0002\u117e\u117f\u0007O',
- '\u0002\u0002\u117f\u1187\u0007\u011b\u0002\u0002\u1180\u1187\u0007\u0112',
- '\u0002\u0002\u1181\u1187\u0007\u0115\u0002\u0002\u1182\u1187\u0007\u0117',
- '\u0002\u0002\u1183\u1187\u0007\u0119\u0002\u0002\u1184\u1187\u0007\u011a',
- '\u0002\u0002\u1185\u1187\u0007\u011b\u0002\u0002\u1186\u117a\u0003\u0002',
- '\u0002\u0002\u1186\u117d\u0003\u0002\u0002\u0002\u1186\u1180\u0003\u0002',
- '\u0002\u0002\u1186\u1181\u0003\u0002\u0002\u0002\u1186\u1182\u0003\u0002',
- '\u0002\u0002\u1186\u1183\u0003\u0002\u0002\u0002\u1186\u1184\u0003\u0002',
- '\u0002\u0002\u1186\u1185\u0003\u0002\u0002\u0002\u1187\u030f\u0003\u0002',
- '\u0002\u0002\u1188\u1194\u0005\u02fc\u017f\u0002\u1189\u1194\u0005\u030c',
- '\u0187\u0002\u118a\u1194\u0005\u02ee\u0178\u0002\u118b\u1194\u0005\u02f8',
- '\u017d\u0002\u118c\u1194\u0005\u02f4\u017b\u0002\u118d\u1194\u0005\u02f0',
- '\u0179\u0002\u118e\u1194\u0005\u02f2\u017a\u0002\u118f\u1194\u0005\u0332',
- '\u019a\u0002\u1190\u1194\u0005\u02ea\u0176\u0002\u1191\u1194\u0005\u0276',
- '\u013c\u0002\u1192\u1194\u0005\u02d4\u016b\u0002\u1193\u1188\u0003\u0002',
- '\u0002\u0002\u1193\u1189\u0003\u0002\u0002\u0002\u1193\u118a\u0003\u0002',
- '\u0002\u0002\u1193\u118b\u0003\u0002\u0002\u0002\u1193\u118c\u0003\u0002',
- '\u0002\u0002\u1193\u118d\u0003\u0002\u0002\u0002\u1193\u118e\u0003\u0002',
- '\u0002\u0002\u1193\u118f\u0003\u0002\u0002\u0002\u1193\u1190\u0003\u0002',
- '\u0002\u0002\u1193\u1191\u0003\u0002\u0002\u0002\u1193\u1192\u0003\u0002',
- '\u0002\u0002\u1194\u0311\u0003\u0002\u0002\u0002\u1195\u1196\t\u001e',
- '\u0002\u0002\u1196\u0313\u0003\u0002\u0002\u0002\u1197\u11a1\u0007D',
- '\u0002\u0002\u1198\u11a1\u0007\u0003\u0002\u0002\u1199\u11a1\u0007\u0004',
- '\u0002\u0002\u119a\u119b\u0007\n\u0002\u0002\u119b\u11a1\u0007D\u0002',
- '\u0002\u119c\u119d\u0007\n\u0002\u0002\u119d\u11a1\u0007\u0003\u0002',
- '\u0002\u119e\u119f\u0007\n\u0002\u0002\u119f\u11a1\u0007\u0004\u0002',
- '\u0002\u11a0\u1197\u0003\u0002\u0002\u0002\u11a0\u1198\u0003\u0002\u0002',
- '\u0002\u11a0\u1199\u0003\u0002\u0002\u0002\u11a0\u119a\u0003\u0002\u0002',
- '\u0002\u11a0\u119c\u0003\u0002\u0002\u0002\u11a0\u119e\u0003\u0002\u0002',
- '\u0002\u11a1\u0315\u0003\u0002\u0002\u0002\u11a2\u11a3\u0007\u018d\u0002',
- '\u0002\u11a3\u0317\u0003\u0002\u0002\u0002\u11a4\u11a5\t\u001f\u0002',
- '\u0002\u11a5\u0319\u0003\u0002\u0002\u0002\u11a6\u11a7\t \u0002\u0002',
- '\u11a7\u031b\u0003\u0002\u0002\u0002\u11a8\u11a9\u0007\u018c\u0002\u0002',
- '\u11a9\u031d\u0003\u0002\u0002\u0002\u11aa\u11ab\u0007\u0189\u0002\u0002',
- '\u11ab\u031f\u0003\u0002\u0002\u0002\u11ac\u11ad\u0007\u018b\u0002\u0002',
- '\u11ad\u0321\u0003\u0002\u0002\u0002\u11ae\u11af\t!\u0002\u0002\u11af',
- '\u0323\u0003\u0002\u0002\u0002\u11b0\u11b6\u0005\u0322\u0192\u0002\u11b1',
- '\u11b6\u0007\u017e\u0002\u0002\u11b2\u11b6\u0007\u017f\u0002\u0002\u11b3',
- '\u11b6\u0007\u0180\u0002\u0002\u11b4\u11b6\u0007\u0181\u0002\u0002\u11b5',
- '\u11b0\u0003\u0002\u0002\u0002\u11b5\u11b1\u0003\u0002\u0002\u0002\u11b5',
- '\u11b2\u0003\u0002\u0002\u0002\u11b5\u11b3\u0003\u0002\u0002\u0002\u11b5',
- '\u11b4\u0003\u0002\u0002\u0002\u11b6\u0325\u0003\u0002\u0002\u0002\u11b7',
- '\u11b8\u0007C\u0002\u0002\u11b8\u11b9\u0007\u001b\u0002\u0002\u11b9',
- '\u11ba\u0007\u0018\u0002\u0002\u11ba\u0327\u0003\u0002\u0002\u0002\u11bb',
- '\u11c3\u0007\u017b\u0002\u0002\u11bc\u11c3\u0007\u017c\u0002\u0002\u11bd',
- '\u11c3\u0007\u017d\u0002\u0002\u11be\u11bf\u0007C\u0002\u0002\u11bf',
- '\u11c0\u0007\n\u0002\u0002\u11c0\u11c1\u0007\u001b\u0002\u0002\u11c1',
- '\u11c3\u0007\u0018\u0002\u0002\u11c2\u11bb\u0003\u0002\u0002\u0002\u11c2',
- '\u11bc\u0003\u0002\u0002\u0002\u11c2\u11bd\u0003\u0002\u0002\u0002\u11c2',
- '\u11be\u0003\u0002\u0002\u0002\u11c3\u0329\u0003\u0002\u0002\u0002\u11c4',
- '\u11c5\u0007\n\u0002\u0002\u11c5\u032b\u0003\u0002\u0002\u0002\u11c6',
- '\u11c7\u0007\b\u0002\u0002\u11c7\u032d\u0003\u0002\u0002\u0002\u11c8',
- '\u11c9\u0007\t\u0002\u0002\u11c9\u032f\u0003\u0002\u0002\u0002\u11ca',
- '\u11cb\b\u0199\u0001\u0002\u11cb\u11d4\u0005\u0310\u0189\u0002\u11cc',
- '\u11cd\u0007\u0177\u0002\u0002\u11cd\u11ce\u0005\u0330\u0199\u0002\u11ce',
- '\u11cf\u0007\u0178\u0002\u0002\u11cf\u11d3\u0003\u0002\u0002\u0002\u11d0',
- '\u11d1\u0007\u0171\u0002\u0002\u11d1\u11d3\u0005\u0350\u01a9\u0002\u11d2',
- '\u11cc\u0003\u0002\u0002\u0002\u11d2\u11d0\u0003\u0002\u0002\u0002\u11d3',
- '\u11d6\u0003\u0002\u0002\u0002\u11d4\u11d2\u0003\u0002\u0002\u0002\u11d4',
- '\u11d5\u0003\u0002\u0002\u0002\u11d5\u11e4\u0003\u0002\u0002\u0002\u11d6',
- '\u11d4\u0003\u0002\u0002\u0002\u11d7\u11d8\u0005\u0312\u018a\u0002\u11d8',
- '\u11d9\u0005\u0330\u0199\u0011\u11d9\u11e4\u0003\u0002\u0002\u0002\u11da',
- '\u11db\u0007\u000e\u0002\u0002\u11db\u11e4\u0005\u0332\u019a\u0002\u11dc',
- '\u11dd\u0005\u032a\u0196\u0002\u11dd\u11de\u0005\u0330\u0199\u0006\u11de',
- '\u11e4\u0003\u0002\u0002\u0002\u11df\u11e0\u0007\u0175\u0002\u0002\u11e0',
- '\u11e1\u0005\u0330\u0199\u0002\u11e1\u11e2\u0007\u0176\u0002\u0002\u11e2',
- '\u11e4\u0003\u0002\u0002\u0002\u11e3\u11ca\u0003\u0002\u0002\u0002\u11e3',
- '\u11d7\u0003\u0002\u0002\u0002\u11e3\u11da\u0003\u0002\u0002\u0002\u11e3',
- '\u11dc\u0003\u0002\u0002\u0002\u11e3\u11df\u0003\u0002\u0002\u0002\u11e4',
- '\u1213\u0003\u0002\u0002\u0002\u11e5\u11e6\f\u000f\u0002\u0002\u11e6',
- '\u11e7\u0005\u0316\u018c\u0002\u11e7\u11e8\u0005\u0330\u0199\u0010\u11e8',
- '\u1212\u0003\u0002\u0002\u0002\u11e9\u11ea\f\u000e\u0002\u0002\u11ea',
- '\u11eb\u0005\u0318\u018d\u0002\u11eb\u11ec\u0005\u0330\u0199\u000f\u11ec',
- '\u1212\u0003\u0002\u0002\u0002\u11ed\u11ee\f\r\u0002\u0002\u11ee\u11ef',
- '\u0005\u031a\u018e\u0002\u11ef\u11f0\u0005\u0330\u0199\u000e\u11f0\u1212',
- '\u0003\u0002\u0002\u0002\u11f1\u11f2\f\f\u0002\u0002\u11f2\u11f3\u0005',
- '\u031c\u018f\u0002\u11f3\u11f4\u0005\u0330\u0199\r\u11f4\u1212\u0003',
- '\u0002\u0002\u0002\u11f5\u11f6\f\u000b\u0002\u0002\u11f6\u11f7\u0005',
- '\u031e\u0190\u0002\u11f7\u11f8\u0005\u0330\u0199\f\u11f8\u1212\u0003',
- '\u0002\u0002\u0002\u11f9\u11fa\f\n\u0002\u0002\u11fa\u11fb\u0005\u0320',
- '\u0191\u0002\u11fb\u11fc\u0005\u0330\u0199\u000b\u11fc\u1212\u0003\u0002',
- '\u0002\u0002\u11fd\u1200\f\u0007\u0002\u0002\u11fe\u1201\u0005\u0328',
- '\u0195\u0002\u11ff\u1201\u0005\u0326\u0194\u0002\u1200\u11fe\u0003\u0002',
- '\u0002\u0002\u1200\u11ff\u0003\u0002\u0002\u0002\u1201\u1202\u0003\u0002',
- '\u0002\u0002\u1202\u1203\u0005\u0330\u0199\b\u1203\u1212\u0003\u0002',
- '\u0002\u0002\u1204\u1205\f\u0005\u0002\u0002\u1205\u1206\u0005\u032c',
- '\u0197\u0002\u1206\u1207\u0005\u0330\u0199\u0006\u1207\u1212\u0003\u0002',
- '\u0002\u0002\u1208\u1209\f\u0004\u0002\u0002\u1209\u120a\u0005\u032e',
- '\u0198\u0002\u120a\u120b\u0005\u0330\u0199\u0005\u120b\u1212\u0003\u0002',
- '\u0002\u0002\u120c\u120d\f\u0010\u0002\u0002\u120d\u120e\u0007C\u0002',
- '\u0002\u120e\u1212\u0005\u0314\u018b\u0002\u120f\u1210\f\t\u0002\u0002',
- '\u1210\u1212\u0005\u0334\u019b\u0002\u1211\u11e5\u0003\u0002\u0002\u0002',
- '\u1211\u11e9\u0003\u0002\u0002\u0002\u1211\u11ed\u0003\u0002\u0002\u0002',
- '\u1211\u11f1\u0003\u0002\u0002\u0002\u1211\u11f5\u0003\u0002\u0002\u0002',
- '\u1211\u11f9\u0003\u0002\u0002\u0002\u1211\u11fd\u0003\u0002\u0002\u0002',
- '\u1211\u1204\u0003\u0002\u0002\u0002\u1211\u1208\u0003\u0002\u0002\u0002',
- '\u1211\u120c\u0003\u0002\u0002\u0002\u1211\u120f\u0003\u0002\u0002\u0002',
- '\u1212\u1215\u0003\u0002\u0002\u0002\u1213\u1211\u0003\u0002\u0002\u0002',
- '\u1213\u1214\u0003\u0002\u0002\u0002\u1214\u0331\u0003\u0002\u0002\u0002',
- '\u1215\u1213\u0003\u0002\u0002\u0002\u1216\u1217\u0007\u0175\u0002\u0002',
- '\u1217\u1218\u0005\u021c\u010f\u0002\u1218\u1219\u0007\u0176\u0002\u0002',
- '\u1219\u0333\u0003\u0002\u0002\u0002\u121a\u121b\u0005\u0324\u0193\u0002',
- '\u121b\u121c\u0005\u0330\u0199\u0002\u121c\u1221\u0003\u0002\u0002\u0002',
- '\u121d\u1221\u0005\u0336\u019c\u0002\u121e\u121f\u0007\n\u0002\u0002',
- '\u121f\u1221\u0005\u033a\u019e\u0002\u1220\u121a\u0003\u0002\u0002\u0002',
- '\u1220\u121d\u0003\u0002\u0002\u0002\u1220\u121e\u0003\u0002\u0002\u0002',
- '\u1221\u0335\u0003\u0002\u0002\u0002\u1222\u1223\u0007\u00bb\u0002\u0002',
- '\u1223\u1230\u0005\u0338\u019d\u0002\u1224\u1225\u0007\u00d3\u0002\u0002',
- '\u1225\u1226\u0005\u0330\u0199\u0002\u1226\u1227\u0007\b\u0002\u0002',
- '\u1227\u1228\u0005\u0330\u0199\u0002\u1228\u1230\u0003\u0002\u0002\u0002',
- '\u1229\u122a\u0007\u000b\u0002\u0002\u122a\u122b\u0007\f\u0002\u0002',
- '\u122b\u1230\u0005\u02d4\u016b\u0002\u122c\u122d\u0007\u000b\u0002\u0002',
- '\u122d\u122e\u0007\u0005\u0002\u0002\u122e\u1230\u0005\u02d4\u016b\u0002',
- '\u122f\u1222\u0003\u0002\u0002\u0002\u122f\u1224\u0003\u0002\u0002\u0002',
- '\u122f\u1229\u0003\u0002\u0002\u0002\u122f\u122c\u0003\u0002\u0002\u0002',
- '\u1230\u0337\u0003\u0002\u0002\u0002\u1231\u1234\u0005\u0332\u019a\u0002',
- '\u1232\u1234\u0005\u02d4\u016b\u0002\u1233\u1231\u0003\u0002\u0002\u0002',
- '\u1233\u1232\u0003\u0002\u0002\u0002\u1234\u0339\u0003\u0002\u0002\u0002',
- '\u1235\u1236\u0005\u0322\u0192\u0002\u1236\u1237\u0005\u0330\u0199\u0002',
- '\u1237\u123a\u0003\u0002\u0002\u0002\u1238\u123a\u0005\u0336\u019c\u0002',
- '\u1239\u1235\u0003\u0002\u0002\u0002\u1239\u1238\u0003\u0002\u0002\u0002',
- '\u123a\u033b\u0003\u0002\u0002\u0002\u123b\u123c\t"\u0002\u0002\u123c',
- '\u033d\u0003\u0002\u0002\u0002\u123d\u123e\t"\u0002\u0002\u123e\u033f',
- '\u0003\u0002\u0002\u0002\u123f\u1241\u0005\u029e\u0150\u0002\u1240\u1242',
- '\u0005\u0342\u01a2\u0002\u1241\u1240\u0003\u0002\u0002\u0002\u1241\u1242',
- '\u0003\u0002\u0002\u0002\u1242\u0341\u0003\u0002\u0002\u0002\u1243\u1244',
- '\u0007&\u0002\u0002\u1244\u1245\u0007\u0175\u0002\u0002\u1245\u124a',
- '\u0005\u0344\u01a3\u0002\u1246\u1247\u0007\u0173\u0002\u0002\u1247\u1249',
- '\u0005\u0344\u01a3\u0002\u1248\u1246\u0003\u0002\u0002\u0002\u1249\u124c',
- '\u0003\u0002\u0002\u0002\u124a\u1248\u0003\u0002\u0002\u0002\u124a\u124b',
- '\u0003\u0002\u0002\u0002\u124b\u124d\u0003\u0002\u0002\u0002\u124c\u124a',
- '\u0003\u0002\u0002\u0002\u124d\u124e\u0007\u0176\u0002\u0002\u124e\u0343',
- '\u0003\u0002\u0002\u0002\u124f\u1252\u0005\u0350\u01a9\u0002\u1250\u1251',
- '\u0007\u017b\u0002\u0002\u1251\u1253\u0005\u02fc\u017f\u0002\u1252\u1250',
- '\u0003\u0002\u0002\u0002\u1252\u1253\u0003\u0002\u0002\u0002\u1253\u0345',
- '\u0003\u0002\u0002\u0002\u1254\u1255\u0007&\u0002\u0002\u1255\u1256',
- '\u0007\u0175\u0002\u0002\u1256\u125b\u0005\u0348\u01a5\u0002\u1257\u1258',
- '\u0007\u0173\u0002\u0002\u1258\u125a\u0005\u0348\u01a5\u0002\u1259\u1257',
- '\u0003\u0002\u0002\u0002\u125a\u125d\u0003\u0002\u0002\u0002\u125b\u1259',
- '\u0003\u0002\u0002\u0002\u125b\u125c\u0003\u0002\u0002\u0002\u125c\u125e',
- '\u0003\u0002\u0002\u0002\u125d\u125b\u0003\u0002\u0002\u0002\u125e\u125f',
- '\u0007\u0176\u0002\u0002\u125f\u0347\u0003\u0002\u0002\u0002\u1260\u1261',
- '\u0005\u0350\u01a9\u0002\u1261\u1262\u0005\u034a\u01a6\u0002\u1262\u1263',
- '\u0005\u02fc\u017f\u0002\u1263\u0349\u0003\u0002\u0002\u0002\u1264\u1265',
- '\t#\u0002\u0002\u1265\u034b\u0003\u0002\u0002\u0002\u1266\u1267\t$\u0002',
- '\u0002\u1267\u034d\u0003\u0002\u0002\u0002\u1268\u126c\u0005\u034c\u01a7',
- '\u0002\u1269\u126c\u0007\u0190\u0002\u0002\u126a\u126c\u0005\u0352\u01aa',
- '\u0002\u126b\u1268\u0003\u0002\u0002\u0002\u126b\u1269\u0003\u0002\u0002',
- '\u0002\u126b\u126a\u0003\u0002\u0002\u0002\u126c\u034f\u0003\u0002\u0002',
- '\u0002\u126d\u1276\u0007\u0196\u0002\u0002\u126e\u126f\u0007\u0179\u0002',
- '\u0002\u126f\u1270\u0007\u0179\u0002\u0002\u1270\u1271\u0007\u0196\u0002',
- '\u0002\u1271\u1272\u0007\u017a\u0002\u0002\u1272\u1276\u0007\u017a\u0002',
- '\u0002\u1273\u1276\u0005\u0356\u01ac\u0002\u1274\u1276\u0005\u035a\u01ae',
- '\u0002\u1275\u126d\u0003\u0002\u0002\u0002\u1275\u126e\u0003\u0002\u0002',
- '\u0002\u1275\u1273\u0003\u0002\u0002\u0002\u1275\u1274\u0003\u0002\u0002',
- '\u0002\u1276\u0351\u0003\u0002\u0002\u0002\u1277\u1278\u0005\u0350\u01a9',
- '\u0002\u1278\u1279\u0007\u0171\u0002\u0002\u1279\u127a\u0005\u0350\u01a9',
- '\u0002\u127a\u1287\u0003\u0002\u0002\u0002\u127b\u127c\u0005\u0350\u01a9',
- '\u0002\u127c\u127d\u0007\u0171\u0002\u0002\u127d\u1282\u0005\u0350\u01a9',
- '\u0002\u127e\u127f\u0007\u0171\u0002\u0002\u127f\u1281\u0005\u0350\u01a9',
- '\u0002\u1280\u127e\u0003\u0002\u0002\u0002\u1281\u1284\u0003\u0002\u0002',
- '\u0002\u1282\u1280\u0003\u0002\u0002\u0002\u1282\u1283\u0003\u0002\u0002',
- '\u0002\u1283\u1287\u0003\u0002\u0002\u0002\u1284\u1282\u0003\u0002\u0002',
- '\u0002\u1285\u1287\u0005\u0350\u01a9\u0002\u1286\u1277\u0003\u0002\u0002',
- '\u0002\u1286\u127b\u0003\u0002\u0002\u0002\u1286\u1285\u0003\u0002\u0002',
- '\u0002\u1287\u0353\u0003\u0002\u0002\u0002\u1288\u128b\u0005\u0350\u01a9',
- '\u0002\u1289\u128b\u0007\u0197\u0002\u0002\u128a\u1288\u0003\u0002\u0002',
- '\u0002\u128a\u1289\u0003\u0002\u0002\u0002\u128b\u0355\u0003\u0002\u0002',
- '\u0002\u128c\u128d\t%\u0002\u0002\u128d\u0357\u0003\u0002\u0002\u0002',
- '\u128e\u128f\t&\u0002\u0002\u128f\u0359\u0003\u0002\u0002\u0002\u1290',
- '\u1293\u0005\u0358\u01ad\u0002\u1291\u1293\u0007^\u0002\u0002\u1292',
- '\u1290\u0003\u0002\u0002\u0002\u1292\u1291\u0003\u0002\u0002\u0002\u1293',
- '\u035b\u0003\u0002\u0002\u0002\u1294\u12a3\u0005\u0366\u01b4\u0002\u1295',
- '\u12a3\u0005\u0376\u01bc\u0002\u1296\u12a3\u0005\u037e\u01c0\u0002\u1297',
- '\u12a3\u0005\u037a\u01be\u0002\u1298\u12a3\u0005\u037c\u01bf\u0002\u1299',
- '\u12a3\u0005\u0394\u01cb\u0002\u129a\u12a3\u0005\u0396\u01cc\u0002\u129b',
- '\u12a3\u0005\u039a\u01ce\u0002\u129c\u12a3\u0005\u03a0\u01d1\u0002\u129d',
- '\u12a3\u0005\u03a2\u01d2\u0002\u129e\u12a3\u0005\u03a4\u01d3\u0002\u129f',
- '\u12a3\u0005\u03a6\u01d4\u0002\u12a0\u12a3\u0005\u03a8\u01d5\u0002\u12a1',
- '\u12a3\u0005\u03aa\u01d6\u0002\u12a2\u1294\u0003\u0002\u0002\u0002\u12a2',
- '\u1295\u0003\u0002\u0002\u0002\u12a2\u1296\u0003\u0002\u0002\u0002\u12a2',
- '\u1297\u0003\u0002\u0002\u0002\u12a2\u1298\u0003\u0002\u0002\u0002\u12a2',
- '\u1299\u0003\u0002\u0002\u0002\u12a2\u129a\u0003\u0002\u0002\u0002\u12a2',
- '\u129b\u0003\u0002\u0002\u0002\u12a2\u129c\u0003\u0002\u0002\u0002\u12a2',
- '\u129d\u0003\u0002\u0002\u0002\u12a2\u129e\u0003\u0002\u0002\u0002\u12a2',
- '\u129f\u0003\u0002\u0002\u0002\u12a2\u12a0\u0003\u0002\u0002\u0002\u12a2',
- '\u12a1\u0003\u0002\u0002\u0002\u12a3\u035d\u0003\u0002\u0002\u0002\u12a4',
- '\u12a5\u0007\u0143\u0002\u0002\u12a5\u12a6\u0007\u017b\u0002\u0002\u12a6',
- '\u12ac\u0007\u0195\u0002\u0002\u12a7\u12a8\u0007\u0146\u0002\u0002\u12a8',
- '\u12a9\u0007\u0148\u0002\u0002\u12a9\u12aa\u0007\u017b\u0002\u0002\u12aa',
- '\u12ac\u0005\u0380\u01c1\u0002\u12ab\u12a4\u0003\u0002\u0002\u0002\u12ab',
- '\u12a7\u0003\u0002\u0002\u0002\u12ac\u035f\u0003\u0002\u0002\u0002\u12ad',
- '\u12b2\u0005\u035e\u01b0\u0002\u12ae\u12af\u0007\u0173\u0002\u0002\u12af',
- '\u12b1\u0005\u035e\u01b0\u0002\u12b0\u12ae\u0003\u0002\u0002\u0002\u12b1',
- '\u12b4\u0003\u0002\u0002\u0002\u12b2\u12b0\u0003\u0002\u0002\u0002\u12b2',
- '\u12b3\u0003\u0002\u0002\u0002\u12b3\u0361\u0003\u0002\u0002\u0002\u12b4',
- '\u12b2\u0003\u0002\u0002\u0002\u12b5\u12b9\u0007\u0143\u0002\u0002\u12b6',
- '\u12b7\u0007\u0146\u0002\u0002\u12b7\u12b9\u0007\u0148\u0002\u0002\u12b8',
- '\u12b5\u0003\u0002\u0002\u0002\u12b8\u12b6\u0003\u0002\u0002\u0002\u12b9',
- '\u0363\u0003\u0002\u0002\u0002\u12ba\u12bf\u0005\u0362\u01b2\u0002\u12bb',
- '\u12bc\u0007\u0173\u0002\u0002\u12bc\u12be\u0005\u0362\u01b2\u0002\u12bd',
- '\u12bb\u0003\u0002\u0002\u0002\u12be\u12c1\u0003\u0002\u0002\u0002\u12bf',
- '\u12bd\u0003\u0002\u0002\u0002\u12bf\u12c0\u0003\u0002\u0002\u0002\u12c0',
- '\u0365\u0003\u0002\u0002\u0002\u12c1\u12bf\u0003\u0002\u0002\u0002\u12c2',
- '\u12c3\u0007E\u0002\u0002\u12c3\u12c4\u0007\u0141\u0002\u0002\u12c4',
- '\u12c7\u0007\u0142\u0002\u0002\u12c5\u12c8\u0005\u0368\u01b5\u0002\u12c6',
- '\u12c8\u0005\u036a\u01b6\u0002\u12c7\u12c5\u0003\u0002\u0002\u0002\u12c7',
- '\u12c6\u0003\u0002\u0002\u0002\u12c8\u0367\u0003\u0002\u0002\u0002\u12c9',
- '\u12ca\u0005\u0350\u01a9\u0002\u12ca\u12cb\u0007\u000b\u0002\u0002\u12cb',
- '\u12cc\u0005\u0350\u01a9\u0002\u12cc\u0369\u0003\u0002\u0002\u0002\u12cd',
- '\u12d0\u0005\u0350\u01a9\u0002\u12ce\u12cf\u0007\u009c\u0002\u0002\u12cf',
- '\u12d1\u0005\u0360\u01b1\u0002\u12d0\u12ce\u0003\u0002\u0002\u0002\u12d0',
- '\u12d1\u0003\u0002\u0002\u0002\u12d1\u036b\u0003\u0002\u0002\u0002\u12d2',
- '\u12d3\u0007\u009c\u0002\u0002\u12d3\u12d4\u0007\u008e\u0002\u0002\u12d4',
- '\u036d\u0003\u0002\u0002\u0002\u12d5\u12d7\u0007\u0145\u0002\u0002\u12d6',
- '\u12d8\u0005\u036c\u01b7\u0002\u12d7\u12d6\u0003\u0002\u0002\u0002\u12d7',
- '\u12d8\u0003\u0002\u0002\u0002\u12d8\u036f\u0003\u0002\u0002\u0002\u12d9',
- '\u12da\u0007\u0084\u0002\u0002\u12da\u0371\u0003\u0002\u0002\u0002\u12db',
- '\u12dc\u0007\u0085\u0002\u0002\u12dc\u0373\u0003\u0002\u0002\u0002\u12dd',
- '\u12de\u0007\u0153\u0002\u0002\u12de\u0375\u0003\u0002\u0002\u0002\u12df',
- '\u12e0\u0007G\u0002\u0002\u12e0\u12e1\u0007\u0141\u0002\u0002\u12e1',
- '\u12e2\u0007\u0142\u0002\u0002\u12e2\u12f4\u0005\u0350\u01a9\u0002\u12e3',
- '\u12f5\u0007\u012d\u0002\u0002\u12e4\u12f5\u0007\u0085\u0002\u0002\u12e5',
- '\u12e6\u0007\u00a2\u0002\u0002\u12e6\u12f5\u0005\u0360\u01b1\u0002\u12e7',
- '\u12e8\u0007\u00a3\u0002\u0002\u12e8\u12f5\u0005\u0364\u01b3\u0002\u12e9',
- '\u12f5\u0005\u0378\u01bd\u0002\u12ea\u12ec\u0005\u036e\u01b8\u0002\u12eb',
- '\u12ed\u0005\u0370\u01b9\u0002\u12ec\u12eb\u0003\u0002\u0002\u0002\u12ec',
- '\u12ed\u0003\u0002\u0002\u0002\u12ed\u12f3\u0003\u0002\u0002\u0002\u12ee',
- '\u12f0\u0005\u0370\u01b9\u0002\u12ef\u12f1\u0005\u036e\u01b8\u0002\u12f0',
- '\u12ef\u0003\u0002\u0002\u0002\u12f0\u12f1\u0003\u0002\u0002\u0002\u12f1',
- '\u12f3\u0003\u0002\u0002\u0002\u12f2\u12ea\u0003\u0002\u0002\u0002\u12f2',
- '\u12ee\u0003\u0002\u0002\u0002\u12f3\u12f5\u0003\u0002\u0002\u0002\u12f4',
- '\u12e3\u0003\u0002\u0002\u0002\u12f4\u12e4\u0003\u0002\u0002\u0002\u12f4',
- '\u12e5\u0003\u0002\u0002\u0002\u12f4\u12e7\u0003\u0002\u0002\u0002\u12f4',
- '\u12e9\u0003\u0002\u0002\u0002\u12f4\u12f2\u0003\u0002\u0002\u0002\u12f5',
- '\u0377\u0003\u0002\u0002\u0002\u12f6\u12f7\u0007N\u0002\u0002\u12f7',
- '\u12f8\u0007O\u0002\u0002\u12f8\u12f9\u0005\u0350\u01a9\u0002\u12f9',
- '\u0379\u0003\u0002\u0002\u0002\u12fa\u12fd\u0005\u0370\u01b9\u0002\u12fb',
- '\u12fd\u0005\u0372\u01ba\u0002\u12fc\u12fa\u0003\u0002\u0002\u0002\u12fc',
- '\u12fb\u0003\u0002\u0002\u0002\u12fd\u12fe\u0003\u0002\u0002\u0002\u12fe',
- '\u12ff\u0007\u014f\u0002\u0002\u12ff\u1300\u0007\u0150\u0002\u0002\u1300',
- '\u037b\u0003\u0002\u0002\u0002\u1301\u130d\u0007\u008e\u0002\u0002\u1302',
- '\u1303\u0007\u0151\u0002\u0002\u1303\u1304\u0007\u0141\u0002\u0002\u1304',
- '\u1305\u0007\u0142\u0002\u0002\u1305\u1306\u0007\u009c\u0002\u0002\u1306',
- '\u130e\u0005\u0350\u01a9\u0002\u1307\u1308\u0007\u0141\u0002\u0002\u1308',
- '\u1309\u0007\u0142\u0002\u0002\u1309\u130a\u0005\u0350\u01a9\u0002\u130a',
- '\u130b\u0007\u009c\u0002\u0002\u130b\u130c\u0005\u0350\u01a9\u0002\u130c',
- '\u130e\u0003\u0002\u0002\u0002\u130d\u1302\u0003\u0002\u0002\u0002\u130d',
- '\u1307\u0003\u0002\u0002\u0002\u130e\u037d\u0003\u0002\u0002\u0002\u130f',
- '\u1310\u0007M\u0002\u0002\u1310\u1311\u0007\u0141\u0002\u0002\u1311',
- '\u1312\u0007\u0142\u0002\u0002\u1312\u1313\u0005\u0350\u01a9\u0002\u1313',
- '\u037f\u0003\u0002\u0002\u0002\u1314\u1319\u0005\u0350\u01a9\u0002\u1315',
- '\u1316\u0007\u0171\u0002\u0002\u1316\u1318\u0005\u0350\u01a9\u0002\u1317',
- '\u1315\u0003\u0002\u0002\u0002\u1318\u131b\u0003\u0002\u0002\u0002\u1319',
- '\u1317\u0003\u0002\u0002\u0002\u1319\u131a\u0003\u0002\u0002\u0002\u131a',
- '\u0381\u0003\u0002\u0002\u0002\u131b\u1319\u0003\u0002\u0002\u0002\u131c',
- '\u131d\u0005\u038a\u01c6\u0002\u131d\u0383\u0003\u0002\u0002\u0002\u131e',
- '\u131f\u0005\u0382\u01c2\u0002\u131f\u1320\u0007\u0002\u0002\u0003\u1320',
- '\u0385\u0003\u0002\u0002\u0002\u1321\u1326\u0005\u0388\u01c5\u0002\u1322',
- '\u1323\u0007\t\u0002\u0002\u1323\u1325\u0005\u0388\u01c5\u0002\u1324',
- '\u1322\u0003\u0002\u0002\u0002\u1325\u1328\u0003\u0002\u0002\u0002\u1326',
- '\u1324\u0003\u0002\u0002\u0002\u1326\u1327\u0003\u0002\u0002\u0002\u1327',
- '\u0387\u0003\u0002\u0002\u0002\u1328\u1326\u0003\u0002\u0002\u0002\u1329',
- '\u132e\u0005\u038a\u01c6\u0002\u132a\u132b\u0007\b\u0002\u0002\u132b',
- '\u132d\u0005\u038a\u01c6\u0002\u132c\u132a\u0003\u0002\u0002\u0002\u132d',
- '\u1330\u0003\u0002\u0002\u0002\u132e\u132c\u0003\u0002\u0002\u0002\u132e',
- '\u132f\u0003\u0002\u0002\u0002\u132f\u0389\u0003\u0002\u0002\u0002\u1330',
- '\u132e\u0003\u0002\u0002\u0002\u1331\u1332\u0005\u0350\u01a9\u0002\u1332',
- '\u1333\u0005\u038e\u01c8\u0002\u1333\u1334\u0005\u038c\u01c7\u0002\u1334',
- '\u038b\u0003\u0002\u0002\u0002\u1335\u1336\t\u001d\u0002\u0002\u1336',
- '\u038d\u0003\u0002\u0002\u0002\u1337\u1338\u0007\u0181\u0002\u0002\u1338',
- '\u038f\u0003\u0002\u0002\u0002\u1339\u133e\u0007|\u0002\u0002\u133a',
- '\u133b\u0007\u0149\u0002\u0002\u133b\u133c\u0007O\u0002\u0002\u133c',
- '\u133e\u0005\u0380\u01c1\u0002\u133d\u1339\u0003\u0002\u0002\u0002\u133d',
- '\u133a\u0003\u0002\u0002\u0002\u133e\u0391\u0003\u0002\u0002\u0002\u133f',
- '\u1340\u0005\u0390\u01c9\u0002\u1340\u1341\u0007\u0002\u0002\u0003\u1341',
- '\u0393\u0003\u0002\u0002\u0002\u1342\u1343\u0007E\u0002\u0002\u1343',
- '\u1344\u0007\u00d9\u0002\u0002\u1344\u1345\u0005\u0350\u01a9\u0002\u1345',
- '\u1346\u0007\u0171\u0002\u0002\u1346\u1347\u0005\u0350\u01a9\u0002\u1347',
- '\u1348\u0005\u0398\u01cd\u0002\u1348\u0395\u0003\u0002\u0002\u0002\u1349',
- '\u134a\u0007G\u0002\u0002\u134a\u134b\u0007\u00d9\u0002\u0002\u134b',
- '\u134c\u0005\u0350\u01a9\u0002\u134c\u134d\u0007\u0171\u0002\u0002\u134d',
- '\u135d\u0005\u0350\u01a9\u0002\u134e\u135e\u0005\u0398\u01cd\u0002\u134f',
- '\u1350\u0007\u008d\u0002\u0002\u1350\u1351\u0007O\u0002\u0002\u1351',
- '\u1352\u0007\u0148\u0002\u0002\u1352\u135e\u0005\u0380\u01c1\u0002\u1353',
- '\u1354\u0007M\u0002\u0002\u1354\u1355\u0007\u0018\u0002\u0002\u1355',
- '\u1356\u0007\u0148\u0002\u0002\u1356\u135e\u0005\u0380\u01c1\u0002\u1357',
- '\u1358\u0007\u008d\u0002\u0002\u1358\u1359\u0007O\u0002\u0002\u1359',
- '\u135e\u0007\u0153\u0002\u0002\u135a\u135b\u0007M\u0002\u0002\u135b',
- '\u135c\u0007\u0018\u0002\u0002\u135c\u135e\u0007\u0153\u0002\u0002\u135d',
- '\u134e\u0003\u0002\u0002\u0002\u135d\u134f\u0003\u0002\u0002\u0002\u135d',
- '\u1353\u0003\u0002\u0002\u0002\u135d\u1357\u0003\u0002\u0002\u0002\u135d',
- '\u135a\u0003\u0002\u0002\u0002\u135e\u0397\u0003\u0002\u0002\u0002\u135f',
- '\u1360\u0007\u00aa\u0002\u0002\u1360\u1361\u0005\u0382\u01c2\u0002\u1361',
- '\u1362\u0007\u014a\u0002\u0002\u1362\u1363\u0005\u0390\u01c9\u0002\u1363',
- '\u0399\u0003\u0002\u0002\u0002\u1364\u1365\u0007M\u0002\u0002\u1365',
- '\u1366\u0007\u00d9\u0002\u0002\u1366\u1367\u0005\u0350\u01a9\u0002\u1367',
- '\u1368\u0007\u0171\u0002\u0002\u1368\u1369\u0005\u0350\u01a9\u0002\u1369',
- '\u039b\u0003\u0002\u0002\u0002\u136a\u136b\u0007\u014b\u0002\u0002\u136b',
- '\u136c\u0007\u017b\u0002\u0002\u136c\u1377\u0007\u0195\u0002\u0002\u136d',
- '\u136e\u0007\u0143\u0002\u0002\u136e\u136f\u0007\u017b\u0002\u0002\u136f',
- '\u1377\u0007\u0195\u0002\u0002\u1370\u1371\u0007\u014c\u0002\u0002\u1371',
- '\u1372\u0007\u017b\u0002\u0002\u1372\u1377\u0007\u0190\u0002\u0002\u1373',
- '\u1374\u0007\u014d\u0002\u0002\u1374\u1375\u0007\u017b\u0002\u0002\u1375',
- '\u1377\u0005\u0380\u01c1\u0002\u1376\u136a\u0003\u0002\u0002\u0002\u1376',
- '\u136d\u0003\u0002\u0002\u0002\u1376\u1370\u0003\u0002\u0002\u0002\u1376',
- '\u1373\u0003\u0002\u0002\u0002\u1377\u039d\u0003\u0002\u0002\u0002\u1378',
- '\u137d\u0005\u039c\u01cf\u0002\u1379\u137a\u0007\u0173\u0002\u0002\u137a',
- '\u137c\u0005\u039c\u01cf\u0002\u137b\u1379\u0003\u0002\u0002\u0002\u137c',
- '\u137f\u0003\u0002\u0002\u0002\u137d\u137b\u0003\u0002\u0002\u0002\u137d',
- '\u137e\u0003\u0002\u0002\u0002\u137e\u039f\u0003\u0002\u0002\u0002\u137f',
- '\u137d\u0003\u0002\u0002\u0002\u1380\u1381\u0007E\u0002\u0002\u1381',
- '\u1382\u0007\u0148\u0002\u0002\u1382\u1383\u0005\u0350\u01a9\u0002\u1383',
- '\u1384\u0007\u0171\u0002\u0002\u1384\u1385\u0005\u0380\u01c1\u0002\u1385',
- '\u1386\u0007\u009c\u0002\u0002\u1386\u1387\u0005\u039e\u01d0\u0002\u1387',
- '\u03a1\u0003\u0002\u0002\u0002\u1388\u1389\u0007G\u0002\u0002\u1389',
- '\u138a\u0007\u0148\u0002\u0002\u138a\u138b\u0005\u0350\u01a9\u0002\u138b',
- '\u138c\u0007\u0171\u0002\u0002\u138c\u1397\u0005\u0380\u01c1\u0002\u138d',
- '\u138e\u0007\u00a2\u0002\u0002\u138e\u1398\u0005\u039e\u01d0\u0002\u138f',
- '\u1390\u0007\u00a3\u0002\u0002\u1390\u1398\u0007\u014c\u0002\u0002\u1391',
- '\u1392\u0007\u008d\u0002\u0002\u1392\u1393\u0007\u00d9\u0002\u0002\u1393',
- '\u1398\u0005\u0350\u01a9\u0002\u1394\u1395\u0007M\u0002\u0002\u1395',
- '\u1396\u0007\u00d9\u0002\u0002\u1396\u1398\u0005\u0350\u01a9\u0002\u1397',
- '\u138d\u0003\u0002\u0002\u0002\u1397\u138f\u0003\u0002\u0002\u0002\u1397',
- '\u1391\u0003\u0002\u0002\u0002\u1397\u1394\u0003\u0002\u0002\u0002\u1398',
- '\u03a3\u0003\u0002\u0002\u0002\u1399\u139a\u0007M\u0002\u0002\u139a',
- '\u139b\u0007\u0148\u0002\u0002\u139b\u139c\u0005\u0350\u01a9\u0002\u139c',
- '\u139d\u0007\u0171\u0002\u0002\u139d\u139e\u0005\u0380\u01c1\u0002\u139e',
- '\u03a5\u0003\u0002\u0002\u0002\u139f\u13a0\u0007E\u0002\u0002\u13a0',
- "\u13a1\t\'\u0002\u0002\u13a1\u13a2\u0007\u014e\u0002\u0002\u13a2\u13a3",
- '\u0007\u0190\u0002\u0002\u13a3\u13a4\u0007\u00bb\u0002\u0002\u13a4\u13a8',
- '\u0005\u0350\u01a9\u0002\u13a5\u13a6\u0007O\u0002\u0002\u13a6\u13a9',
- '\u0005\u0380\u01c1\u0002\u13a7\u13a9\u0005\u0374\u01bb\u0002\u13a8\u13a5',
- '\u0003\u0002\u0002\u0002\u13a8\u13a7\u0003\u0002\u0002\u0002\u13a9\u13ad',
- '\u0003\u0002\u0002\u0002\u13aa\u13ab\u0007\u009c\u0002\u0002\u13ab\u13ac',
- '\u0007\u0013\u0002\u0002\u13ac\u13ae\u0007\u0195\u0002\u0002\u13ad\u13aa',
- '\u0003\u0002\u0002\u0002\u13ad\u13ae\u0003\u0002\u0002\u0002\u13ae\u03a7',
- '\u0003\u0002\u0002\u0002\u13af\u13b0\u0007G\u0002\u0002\u13b0\u13b1',
- "\t\'\u0002\u0002\u13b1\u13b2\u0007\u014e\u0002\u0002\u13b2\u13b3\u0007",
- '\u0190\u0002\u0002\u13b3\u13b4\u0007\u00bb\u0002\u0002\u13b4\u13b8\u0005',
- '\u0350\u01a9\u0002\u13b5\u13b6\u0007O\u0002\u0002\u13b6\u13b9\u0005',
- '\u0380\u01c1\u0002\u13b7\u13b9\u0005\u0374\u01bb\u0002\u13b8\u13b5\u0003',
- '\u0002\u0002\u0002\u13b8\u13b7\u0003\u0002\u0002\u0002\u13b9\u13bd\u0003',
- '\u0002\u0002\u0002\u13ba\u13bb\u0007\u009c\u0002\u0002\u13bb\u13bc\u0007',
- '\u0013\u0002\u0002\u13bc\u13be\u0007\u0195\u0002\u0002\u13bd\u13ba\u0003',
- '\u0002\u0002\u0002\u13bd\u13be\u0003\u0002\u0002\u0002\u13be\u03a9\u0003',
- "\u0002\u0002\u0002\u13bf\u13c0\u0007M\u0002\u0002\u13c0\u13c1\t\'\u0002",
- '\u0002\u13c1\u13c2\u0007\u014e\u0002\u0002\u13c2\u13c3\u0007\u0190\u0002',
- '\u0002\u13c3\u13c4\u0007\u00bb\u0002\u0002\u13c4\u13c5\u0005\u0350\u01a9',
- '\u0002\u13c5\u03ab\u0003\u0002\u0002\u0002\u0247\u03ae\u03b1\u03b3\u03be',
- '\u03c4\u03ca\u03d5\u03d8\u03da\u03ec\u03f1\u03f6\u03fc\u0400\u040d\u0411',
- '\u0415\u041a\u0421\u0427\u042b\u042d\u0431\u0438\u043a\u0440\u044b\u0453',
- '\u0457\u0486\u04a4\u04a8\u04ab\u04b0\u04b7\u04c2\u04cf\u04d3\u04da\u04dd',
- '\u04e0\u04e3\u04e7\u04ed\u04f0\u04f3\u04f6\u04f9\u04fc\u0502\u0512\u0514',
- '\u0519\u051b\u0525\u052a\u052e\u0531\u0538\u053e\u0543\u054d\u055b\u056b',
- '\u057a\u057e\u058f\u059c\u05a0\u05a5\u05c0\u05c5\u05ca\u05d2\u05d8\u05dc',
- '\u05df\u05e2\u05e8\u05ef\u05f9\u05fd\u0602\u0606\u060c\u0613\u061a\u0622',
- '\u0629\u062d\u0630\u0638\u063b\u0643\u0646\u064a\u0654\u0659\u065f\u066c',
- '\u0672\u0682\u0692\u06a2\u06a9\u06b5\u06b9\u06be\u06c3\u06c6\u06c9\u06cd',
- '\u06d0\u06d3\u06e9\u06ec\u06f3\u0700\u0705\u070e\u0715\u071b\u0723\u0729',
- '\u0739\u073c\u0746\u074e\u0752\u0755\u0759\u075d\u0760\u0765\u076a\u0770',
- '\u077b\u077d\u0781\u0787\u078d\u0792\u0798\u079d\u07a4\u07a9\u07b1\u07b6',
- '\u07bd\u07c3\u07cb\u07d2\u07d7\u07df\u07e6\u07e9\u07ec\u07ee\u07fc\u07fe',
- '\u0804\u0813\u0824\u0829\u082d\u0831\u0838\u083f\u0845\u0849\u084c\u0853',
- '\u086a\u086f\u0873\u087b\u0883\u0887\u088d\u0892\u0899\u089c\u08a2\u08a9',
- '\u08b1\u08ba\u08c3\u08d7\u08dd\u08e0\u08e2\u08e9\u08f3\u08fb\u08ff\u0903',
- '\u0910\u0919\u091f\u0923\u092a\u092d\u0930\u0933\u093a\u093f\u0945\u0949',
- '\u094e\u095f\u0963\u096a\u0972\u0974\u0978\u097b\u0987\u098c\u0995\u0999',
- '\u09a0\u09a6\u09ab\u09b0\u09b3\u09be\u09c6\u09cc\u09d0\u09e2\u09f2\u0a02',
- '\u0a06\u0a15\u0a1b\u0a1e\u0a21\u0a24\u0a27\u0a2b\u0a3c\u0a44\u0a47\u0a4b',
- '\u0a52\u0a59\u0a5d\u0a64\u0a83\u0a8b\u0a9b\u0aab\u0ab3\u0abb\u0ac3\u0ace',
- '\u0ad2\u0ada\u0ae3\u0ae6\u0aef\u0af3\u0af5\u0af9\u0afd\u0b03\u0b09\u0b1b',
- '\u0b1d\u0b21\u0b2a\u0b35\u0b39\u0b40\u0b4c\u0b53\u0b5b\u0b5f\u0b62\u0b69',
- '\u0b6f\u0b73\u0b76\u0b7c\u0b80\u0b84\u0b8b\u0b91\u0b9c\u0ba4\u0ba7\u0baa',
- '\u0bb6\u0bba\u0bbe\u0bc6\u0bca\u0bd0\u0bd4\u0bd8\u0bdc\u0be4\u0be8\u0bec',
- '\u0bf9\u0bff\u0c04\u0c07\u0c0c\u0c15\u0c1e\u0c26\u0c30\u0c43\u0c46\u0c51',
- '\u0c6d\u0c73\u0c79\u0c7f\u0c81\u0c84\u0c8a\u0c92\u0ca1\u0ca8\u0cad\u0cb0',
- '\u0cb4\u0cb7\u0cba\u0cbd\u0cc0\u0cc6\u0cca\u0ccd\u0cd0\u0cd3\u0cd6\u0cd9',
- '\u0ce0\u0ce3\u0cea\u0ced\u0cf0\u0cf3\u0cf6\u0cf9\u0cfc\u0cff\u0d02\u0d05',
- '\u0d09\u0d0c\u0d0f\u0d12\u0d15\u0d18\u0d1b\u0d1e\u0d21\u0d24\u0d26\u0d2c',
- '\u0d31\u0d38\u0d3a\u0d3d\u0d42\u0d45\u0d49\u0d4e\u0d55\u0d5b\u0d67\u0d6e',
- '\u0d74\u0d7d\u0d80\u0d84\u0d8a\u0d94\u0d98\u0da3\u0da9\u0dac\u0db6\u0db8',
- '\u0dbc\u0dc3\u0dd9\u0de0\u0de4\u0de7\u0dec\u0def\u0df6\u0dfd\u0e00\u0e08',
- '\u0e0e\u0e10\u0e12\u0e15\u0e18\u0e1c\u0e20\u0e2a\u0e2f\u0e31\u0e37\u0e3a',
- '\u0e3d\u0e45\u0e4b\u0e4d\u0e4f\u0e52\u0e55\u0e59\u0e5c\u0e63\u0e71\u0e7b',
- '\u0e7e\u0e81\u0e84\u0e88\u0e92\u0e9c\u0ea4\u0eac\u0eb3\u0ebc\u0ec4\u0ed0',
- '\u0ed5\u0edb\u0ee2\u0ee9\u0ef0\u0ef7\u0f00\u0f04\u0f09\u0f0d\u0f10\u0f14',
- '\u0f1a\u0f1f\u0f23\u0f36\u0f3b\u0f40\u0f46\u0f53\u0f56\u0f59\u0f65\u0f68',
- '\u0f6b\u0f73\u0f7c\u0f81\u0f83\u0f94\u0f97\u0fa4\u0fa8\u0fac\u0faf\u0fb2',
- '\u0fb5\u0fb9\u0fbc\u0fbf\u0fc6\u0fcc\u0fd4\u0fd7\u0fdb\u0fe0\u0fe4\u0fe9',
- '\u0ff0\u0ffe\u1001\u1005\u1014\u101e\u1027\u102a\u1035\u103d\u1046\u104c',
- '\u1053\u105c\u1068\u1072\u107c\u1081\u1085\u1089\u108f\u10a1\u10a7\u10ab',
- '\u10b3\u10bd\u10c7\u10d2\u10e0\u10e6\u10ed\u10f0\u10f2\u10f7\u10fb\u1103',
- '\u1110\u1114\u1120\u1124\u112d\u1148\u114e\u1156\u115f\u1178\u1186\u1193',
- '\u11a0\u11b5\u11c2\u11d2\u11d4\u11e3\u1200\u1211\u1213\u1220\u122f\u1233',
- '\u1239\u1241\u124a\u1252\u125b\u126b\u1275\u1282\u1286\u128a\u1292\u12a2',
- '\u12ab\u12b2\u12b8\u12bf\u12c7\u12d0\u12d7\u12ec\u12f0\u12f2\u12f4\u12fc',
- '\u130d\u1319\u1326\u132e\u133d\u135d\u1376\u137d\u1397\u13a8\u13ad\u13b8',
- '\u13bd',
-].join('');
-
-const atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);
-
-const decisionsToDFA = atn.decisionToState.map((ds, index) => new antlr4.dfa.DFA(ds, index));
-
-const sharedContextCache = new antlr4.PredictionContextCache();
-
-class HiveParser extends antlr4.Parser {
- static grammarFileName = 'HiveParser.g4';
- static literalNames = [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- "'.'",
- "':'",
- "','",
- "';'",
- "'('",
- "')'",
- "'['",
- "']'",
- "'{'",
- "'}'",
- null,
- "'<=>'",
- null,
- "'<='",
- "'<'",
- "'>='",
- "'>'",
- "'=>'",
- "'/'",
- "'+'",
- "'-'",
- "'*'",
- "'%'",
- "'DIV'",
- "'&'",
- "'~'",
- "'|'",
- "'||'",
- "'^'",
- "'?'",
- "'$'",
- ];
- static symbolicNames = [
- null,
- 'KW_TRUE',
- 'KW_FALSE',
- 'KW_ALL',
- 'KW_AUTO',
- 'KW_NONE',
- 'KW_AND',
- 'KW_OR',
- 'KW_NOT',
- 'KW_LIKE',
- 'KW_ANY',
- 'KW_IF',
- 'KW_EXISTS',
- 'KW_ASC',
- 'KW_DESC',
- 'KW_NULLS',
- 'KW_LAST',
- 'KW_ORDER',
- 'KW_GROUP',
- 'KW_BY',
- 'KW_HAVING',
- 'KW_WHERE',
- 'KW_FROM',
- 'KW_AS',
- 'KW_SELECT',
- 'KW_DISTINCT',
- 'KW_INSERT',
- 'KW_OVERWRITE',
- 'KW_OUTER',
- 'KW_UNIQUEJOIN',
- 'KW_PRESERVE',
- 'KW_JOIN',
- 'KW_LEFT',
- 'KW_RIGHT',
- 'KW_FULL',
- 'KW_ON',
- 'KW_PARTITION',
- 'KW_PARTITIONS',
- 'KW_TABLE',
- 'KW_TABLES',
- 'KW_TAGS',
- 'KW_COLUMNS',
- 'KW_INDEX',
- 'KW_INDEXES',
- 'KW_REBUILD',
- 'KW_FUNCTIONS',
- 'KW_SHOW',
- 'KW_MSCK',
- 'KW_REPAIR',
- 'KW_DIRECTORY',
- 'KW_LOCAL',
- 'KW_TRANSFORM',
- 'KW_USING',
- 'KW_CLUSTER',
- 'KW_DISTRIBUTE',
- 'KW_SORT',
- 'KW_UNION',
- 'KW_EXCEPT',
- 'KW_LOAD',
- 'KW_EXPORT',
- 'KW_IMPORT',
- 'KW_REPLICATION',
- 'KW_METADATA',
- 'KW_DATA',
- 'KW_INPATH',
- 'KW_IS',
- 'KW_NULL',
- 'KW_CREATE',
- 'KW_EXTERNAL',
- 'KW_ALTER',
- 'KW_CHANGE',
- 'KW_COLUMN',
- 'KW_FIRST',
- 'KW_AFTER',
- 'KW_DESCRIBE',
- 'KW_DROP',
- 'KW_RENAME',
- 'KW_TO',
- 'KW_COMMENT',
- 'KW_BOOLEAN',
- 'KW_TINYINT',
- 'KW_SMALLINT',
- 'KW_INT',
- 'KW_BIGINT',
- 'KW_FLOAT',
- 'KW_DOUBLE',
- 'KW_PRECISION',
- 'KW_DATE',
- 'KW_DATETIME',
- 'KW_TIMESTAMP',
- 'KW_TIMESTAMP_NTZ',
- 'KW_TIMESTAMPLOCALTZ',
- 'KW_TIME',
- 'KW_ZONE',
- 'KW_INTERVAL',
- 'KW_DECIMAL',
- 'KW_STRING',
- 'KW_CHAR',
- 'KW_VARCHAR',
- 'KW_ARRAY',
- 'KW_STRUCT',
- 'KW_MAP',
- 'KW_MASK',
- 'KW_VARIANT',
- 'KW_UNIONTYPE',
- 'KW_REDUCE',
- 'KW_PARTITIONED',
- 'KW_CLUSTERED',
- 'KW_SORTED',
- 'KW_INTO',
- 'KW_BUCKETS',
- 'KW_ROW',
- 'KW_ROWS',
- 'KW_FORMAT',
- 'KW_DELIMITED',
- 'KW_FIELDS',
- 'KW_TERMINATED',
- 'KW_ESCAPED',
- 'KW_COLLECTION',
- 'KW_ITEMS',
- 'KW_KEYS',
- 'KW_KEY_TYPE',
- 'KW_KILL',
- 'KW_LINES',
- 'KW_STORED',
- 'KW_FILEFORMAT',
- 'KW_INPUTFORMAT',
- 'KW_OUTPUTFORMAT',
- 'KW_INPUTDRIVER',
- 'KW_OUTPUTDRIVER',
- 'KW_ENABLE',
- 'KW_DISABLE',
- 'KW_LOCATION',
- 'KW_TABLESAMPLE',
- 'KW_BUCKET',
- 'KW_OUT',
- 'KW_OF',
- 'KW_PERCENT',
- 'KW_CAST',
- 'KW_ADD',
- 'KW_REPLACE',
- 'KW_RLIKE',
- 'KW_REGEXP',
- 'KW_TEMPORARY',
- 'KW_FUNCTION',
- 'KW_MACRO',
- 'KW_FILE',
- 'KW_JAR',
- 'KW_EXPLAIN',
- 'KW_EXTENDED',
- 'KW_FORMATTED',
- 'KW_DEPENDENCY',
- 'KW_LOGICAL',
- 'KW_SERDE',
- 'KW_WITH',
- 'KW_DEFERRED',
- 'KW_SERDEPROPERTIES',
- 'KW_DBPROPERTIES',
- 'KW_LIMIT',
- 'KW_OFFSET',
- 'KW_SET',
- 'KW_UNSET',
- 'KW_TBLPROPERTIES',
- 'KW_IDXPROPERTIES',
- 'KW_VALUE_TYPE',
- 'KW_ELEM_TYPE',
- 'KW_DEFINED',
- 'KW_CASE',
- 'KW_WHEN',
- 'KW_THEN',
- 'KW_ELSE',
- 'KW_END',
- 'KW_MAPJOIN',
- 'KW_STREAMTABLE',
- 'KW_CLUSTERSTATUS',
- 'KW_UTC',
- 'KW_UTCTIMESTAMP',
- 'KW_LONG',
- 'KW_DELETE',
- 'KW_PLUS',
- 'KW_MINUS',
- 'KW_FETCH',
- 'KW_INTERSECT',
- 'KW_VIEW',
- 'KW_VIEWS',
- 'KW_IN',
- 'KW_DATABASE',
- 'KW_DATABASES',
- 'KW_MATERIALIZED',
- 'KW_SCHEMA',
- 'KW_SCHEMAS',
- 'KW_GRANT',
- 'KW_REVOKE',
- 'KW_SSL',
- 'KW_UNDO',
- 'KW_LOCK',
- 'KW_LOCKS',
- 'KW_UNLOCK',
- 'KW_SHARED',
- 'KW_EXCLUSIVE',
- 'KW_PROCEDURE',
- 'KW_UNSIGNED',
- 'KW_WHILE',
- 'KW_READ',
- 'KW_READS',
- 'KW_PURGE',
- 'KW_RANGE',
- 'KW_ANALYZE',
- 'KW_BEFORE',
- 'KW_BETWEEN',
- 'KW_BOTH',
- 'KW_BINARY',
- 'KW_CROSS',
- 'KW_CONTINUE',
- 'KW_CURSOR',
- 'KW_TRIGGER',
- 'KW_RECORDREADER',
- 'KW_RECORDWRITER',
- 'KW_SEMI',
- 'KW_LATERAL',
- 'KW_TOUCH',
- 'KW_ARCHIVE',
- 'KW_UNARCHIVE',
- 'KW_COMPUTE',
- 'KW_STATISTICS',
- 'KW_USE',
- 'KW_OPTIONS',
- 'KW_OPTION',
- 'KW_CONCATENATE',
- 'KW_CATALOG',
- 'KW_SHOW_DATABASE',
- 'KW_UPDATE',
- 'KW_RESTRICT',
- 'KW_CASCADE',
- 'KW_SKEWED',
- 'KW_ROLLUP',
- 'KW_CUBE',
- 'KW_DIRECTORIES',
- 'KW_FOR',
- 'KW_WINDOW',
- 'KW_UNBOUNDED',
- 'KW_PRECEDING',
- 'KW_FOLLOWING',
- 'KW_CURRENT',
- 'KW_CURRENT_DATE',
- 'KW_CURRENT_TIMESTAMP',
- 'KW_LESS',
- 'KW_MORE',
- 'KW_OVER',
- 'KW_GROUPING',
- 'KW_SETS',
- 'KW_TRUNCATE',
- 'KW_NOSCAN',
- 'KW_USER',
- 'KW_ROLE',
- 'KW_ROLES',
- 'KW_INNER',
- 'KW_EXCHANGE',
- 'KW_URI',
- 'KW_SERVER',
- 'KW_ADMIN',
- 'KW_OWNER',
- 'KW_PRINCIPALS',
- 'KW_COMPACT',
- 'KW_COMPACTIONS',
- 'KW_TRANSACTIONS',
- 'KW_REWRITE',
- 'KW_AUTHORIZATION',
- 'KW_REOPTIMIZATION',
- 'KW_CONF',
- 'KW_VALUES',
- 'KW_RELOAD',
- 'KW_YEAR',
- 'KW_QUERY',
- 'KW_QUARTER',
- 'KW_MONTH',
- 'KW_WEEK',
- 'KW_DAY',
- 'KW_DOW',
- 'KW_HOUR',
- 'KW_MINUTE',
- 'KW_SECOND',
- 'KW_START',
- 'KW_TRANSACTION',
- 'KW_COMMIT',
- 'KW_ROLLBACK',
- 'KW_WORK',
- 'KW_ONLY',
- 'KW_WRITE',
- 'KW_ISOLATION',
- 'KW_LEVEL',
- 'KW_SNAPSHOT',
- 'KW_AUTOCOMMIT',
- 'KW_CACHE',
- 'KW_PRIMARY',
- 'KW_FOREIGN',
- 'KW_REFERENCES',
- 'KW_CONSTRAINT',
- 'KW_ENFORCED',
- 'KW_VALIDATE',
- 'KW_NOVALIDATE',
- 'KW_RELY',
- 'KW_NORELY',
- 'KW_UNIQUE',
- 'KW_KEY',
- 'KW_ABORT',
- 'KW_EXTRACT',
- 'KW_FLOOR',
- 'KW_MERGE',
- 'KW_MATCHED',
- 'KW_REPL',
- 'KW_DUMP',
- 'KW_STATUS',
- 'KW_VECTORIZATION',
- 'KW_SUMMARY',
- 'KW_OPERATOR',
- 'KW_EXPRESSION',
- 'KW_DETAIL',
- 'KW_WAIT',
- 'KW_RESOURCE',
- 'KW_PLAN',
- 'KW_QUERY_PARALLELISM',
- 'KW_PLANS',
- 'KW_ACTIVATE',
- 'KW_DEFAULT',
- 'KW_CHECK',
- 'KW_POOL',
- 'KW_MOVE',
- 'KW_DO',
- 'KW_ALLOC_FRACTION',
- 'KW_SCHEDULING_POLICY',
- 'KW_PATH',
- 'KW_MAPPING',
- 'KW_WORKLOAD',
- 'KW_MANAGEMENT',
- 'KW_ACTIVE',
- 'KW_MANAGED',
- 'KW_UNMANAGED',
- 'KW_APPLICATION',
- 'KW_SYNC',
- 'KW_SEQUENCEFILE',
- 'KW_TEXTFILE',
- 'KW_RCFILE',
- 'KW_ORC',
- 'KW_PARQUET',
- 'KW_DELTA',
- 'KW_AVRO',
- 'KW_CSV',
- 'KW_JSON',
- 'KW_JSONFILE',
- 'KW_BLOOMFILTER',
- 'KW_GENERATED',
- 'KW_ALWAYS',
- 'KW_IDENTITY',
- 'KW_INCREMENT',
- 'KW_SCHEDULE',
- 'KW_REFRESH',
- 'KW_EVERY',
- 'KW_CRON',
- 'KW_AT',
- 'KW_FILTER',
- 'KW_STREAM',
- 'KW_STREAMING',
- 'KW_MOST',
- 'KW_EXPECT',
- 'KW_VIOLATION',
- 'KW_FAIL',
- 'DOT',
- 'COLON',
- 'COMMA',
- 'SEMICOLON',
- 'LPAREN',
- 'RPAREN',
- 'LSQUARE',
- 'RSQUARE',
- 'LCURLY',
- 'RCURLY',
- 'EQUAL',
- 'EQUAL_NS',
- 'NOTEQUAL',
- 'LESSTHANOREQUALTO',
- 'LESSTHAN',
- 'GREATERTHANOREQUALTO',
- 'GREATERTHAN',
- 'FAT_ARROW',
- 'DIVIDE',
- 'PLUS',
- 'MINUS',
- 'STAR',
- 'MOD',
- 'DIV',
- 'AMPERSAND',
- 'TILDE',
- 'BITWISEOR',
- 'CONCATENATE',
- 'BITWISEXOR',
- 'QUESTION',
- 'DOLLAR',
- 'StringLiteral',
- 'CharSetLiteral',
- 'IntegralLiteral',
- 'NumberLiteral',
- 'ByteLengthLiteral',
- 'Number',
- 'Identifier',
- 'QuotedIdentifier',
- 'CharSetName',
- 'WS',
- 'LINE_COMMENT',
- 'QUERY_HINT',
- 'SHOW_HINT',
- 'HIDDEN_HINT',
- ];
- static ruleNames = [
- 'statements',
- 'statementSeparator',
- 'empty',
- 'statement',
- 'explainStatement',
- 'explainOption',
- 'vectorizationOnly',
- 'vectorizatonDetail',
- 'execStatement',
- 'loadStatement',
- 'replicationClause',
- 'exportStatement',
- 'importStatement',
- 'replDumpStatement',
- 'replLoadStatement',
- 'replConfigs',
- 'replConfigsList',
- 'replStatusStatement',
- 'ddlStatement',
- 'ifExists',
- 'restrictOrCascade',
- 'ifNotExists',
- 'rewriteEnabled',
- 'rewriteDisabled',
- 'storedAsDirs',
- 'orReplace',
- 'orRefresh',
- 'createDatabaseStatement',
- 'dbLocation',
- 'dbProperties',
- 'dbPropertiesList',
- 'switchCatalogStatement',
- 'switchDatabaseStatement',
- 'dropDatabaseStatement',
- 'databaseComment',
- 'createTableStatement',
- 'truncateTableStatement',
- 'dropTableStatement',
- 'tagValue',
- 'tagsPair',
- 'unityTags',
- 'alterStatement',
- 'alterTableStatementSuffix',
- 'alterTblPartitionStatementSuffix',
- 'alterStatementPartitionKeyType',
- 'alterViewStatementSuffix',
- 'alterMaterializedViewStatementSuffix',
- 'alterDatabaseStatementSuffix',
- 'alterDatabaseSuffixProperties',
- 'alterDatabaseSuffixSetOwner',
- 'alterDatabaseSuffixSetLocation',
- 'alterStatementSuffixRename',
- 'alterStatementSuffixAddCol',
- 'alterStatementSuffixAddConstraint',
- 'alterStatementSuffixUpdateColumns',
- 'alterStatementSuffixDropConstraint',
- 'alterStatementSuffixRenameCol',
- 'alterStatementSuffixUpdateStatsCol',
- 'alterStatementSuffixUpdateStats',
- 'alterStatementChangeColPosition',
- 'alterStatementSuffixAddPartitions',
- 'alterStatementSuffixAddPartitionsElement',
- 'alterStatementSuffixTouch',
- 'alterStatementSuffixArchive',
- 'alterStatementSuffixUnArchive',
- 'partitionLocation',
- 'alterStatementSuffixDropPartitions',
- 'alterStatementSuffixProperties',
- 'alterViewSuffixProperties',
- 'alterMaterializedViewSuffixRewrite',
- 'alterMaterializedViewSuffixRebuild',
- 'alterStatementSuffixSerdeProperties',
- 'alterIndexStatementSuffix',
- 'alterStatementSuffixFileFormat',
- 'alterStatementSuffixClusterbySortby',
- 'alterStatementSuffixClusterBy',
- 'alterTblPartitionStatementSuffixSkewedLocation',
- 'skewedLocations',
- 'skewedLocationsList',
- 'skewedLocationMap',
- 'alterStatementSuffixLocation',
- 'alterStatementSuffixSkewedby',
- 'alterStatementSuffixExchangePartition',
- 'alterStatementSuffixRenamePart',
- 'alterStatementSuffixStatsPart',
- 'alterStatementSuffixMergeFiles',
- 'alterStatementSuffixBucketNum',
- 'createIndexStatement',
- 'createIndexMainStatement',
- 'dropIndexStatement',
- 'createBloomfilterIndexStatement',
- 'createBloomfilterIndexMainStatement',
- 'bloomfilterColumnParenthesesList',
- 'bloomfilterColumnNameList',
- 'bloomfilterColumnName',
- 'bloomfilterIndexOptions',
- 'dropBloomfilterIndexStatement',
- 'dropBloomfilterIndexMainStatement',
- 'tablePartitionPrefix',
- 'blocking',
- 'alterStatementSuffixCompact',
- 'alterStatementSuffixSetOwner',
- 'fileFormat',
- 'inputFileFormat',
- 'tabTypeExpr',
- 'partTypeExpr',
- 'tabPartColTypeExpr',
- 'descStatement',
- 'analyzeStatement',
- 'showStatement',
- 'lockStatement',
- 'lockDatabase',
- 'lockMode',
- 'unlockStatement',
- 'unlockDatabase',
- 'createRoleStatement',
- 'dropRoleStatement',
- 'grantPrivileges',
- 'revokePrivileges',
- 'grantRole',
- 'revokeRole',
- 'showRoleGrants',
- 'showRoles',
- 'showCurrentRole',
- 'setRole',
- 'showGrants',
- 'showRolePrincipals',
- 'privilegeIncludeColObject',
- 'privilegeObject',
- 'privObject',
- 'privObjectCols',
- 'privilegeList',
- 'privlegeDef',
- 'privilegeType',
- 'principalSpecification',
- 'principalName',
- 'withGrantOption',
- 'grantOptionFor',
- 'adminOptionFor',
- 'withAdminOption',
- 'metastoreCheck',
- 'resourceList',
- 'resource',
- 'resourceType',
- 'createFunctionStatement',
- 'dropFunctionStatement',
- 'reloadFunctionStatement',
- 'createMacroStatement',
- 'dropMacroStatement',
- 'createViewStatement',
- 'createMaterializedViewStatement',
- 'materializedViewClause',
- 'scheduleClause',
- 'timeZoneValue',
- 'rowClause',
- 'triggerOnUpdateClause',
- 'intervalClause',
- 'intervalQualifier',
- 'viewPartition',
- 'dropViewStatement',
- 'dropMaterializedViewStatement',
- 'showFunctionIdentifier',
- 'showStmtIdentifier',
- 'tableComment',
- 'tableUsingDataSource',
- 'tableDataSource',
- 'tablePartition',
- 'tableBuckets',
- 'tableSkewed',
- 'rowFormat',
- 'recordReader',
- 'recordWriter',
- 'rowFormatSerde',
- 'rowFormatDelimited',
- 'tableRowFormat',
- 'tableOptions',
- 'tablePropertiesPrefixed',
- 'tableProperties',
- 'tablePropertiesList',
- 'keyValueProperty',
- 'keyValue',
- 'keyProperty',
- 'tableRowFormatFieldIdentifier',
- 'tableRowFormatFieldIdentifierEcapedBy',
- 'tableRowFormatCollItemsIdentifier',
- 'tableRowFormatMapKeysIdentifier',
- 'tableRowFormatLinesIdentifier',
- 'tableRowNullFormat',
- 'tableFileFormat',
- 'tableFileFormatStoredBy',
- 'tableFileFormatStoredAs',
- 'tableFileFormatStoredAsFormat',
- 'tableInputOutputFileFormat',
- 'tableInputLiteral',
- 'tableOutputLiteral',
- 'tableLocation',
- 'columnNameTypeList',
- 'columnNameTypeOrConstraintList',
- 'columnNameColonTypeList',
- 'columnNameList',
- 'columnName',
- 'extColumnName',
- 'columnNameOrderList',
- 'columnParenthesesList',
- 'enableValidateSpecification',
- 'enableSpecification',
- 'validateSpecification',
- 'enforcedSpecification',
- 'relySpecification',
- 'createConstraint',
- 'alterConstraintWithName',
- 'tableLevelConstraint',
- 'pkUkConstraint',
- 'checkConstraint',
- 'expectConstraint',
- 'createForeignKey',
- 'alterForeignKeyWithName',
- 'skewedValueElement',
- 'skewedColumnValuePairList',
- 'skewedColumnValuePair',
- 'skewedColumnValues',
- 'skewedColumnValue',
- 'skewedValueLocationElement',
- 'orderSpecification',
- 'nullOrdering',
- 'columnNameOrder',
- 'columnNameCommentList',
- 'columnNameComment',
- 'columnRefOrder',
- 'columnNameType',
- 'columnNameTypeOrConstraint',
- 'tableConstraint',
- 'columnNameTypeConstraint',
- 'columnGeneratedAs',
- 'generatedAsExpression',
- 'generatedAsIdentity',
- 'identityOptions',
- 'startWith',
- 'incrementBy',
- 'partitionedColumnNameTypeConstraint',
- 'columnConstraint',
- 'foreignKeyConstraint',
- 'colConstraint',
- 'alterColumnConstraint',
- 'alterForeignKeyConstraint',
- 'alterColConstraint',
- 'columnConstraintType',
- 'defaultVal',
- 'tableConstraintType',
- 'constraintOptsCreate',
- 'constraintOptsAlter',
- 'columnNameColonType',
- 'colType',
- 'colTypeList',
- 'type_db_col',
- 'primitiveType',
- 'listType',
- 'structType',
- 'mapType',
- 'unionType',
- 'setOperator',
- 'queryStatementExpression',
- 'queryStatementExpressionBody',
- 'withClause',
- 'cteStatement',
- 'fromStatement',
- 'singleFromStatement',
- 'regularBody',
- 'atomSelectStatement',
- 'selectStatement',
- 'setOpSelectStatement',
- 'selectStatementWithCTE',
- 'body',
- 'insertClause',
- 'destination',
- 'limitClause',
- 'deleteStatement',
- 'columnAssignmentClause',
- 'setColumnsClause',
- 'updateStatement',
- 'sqlTransactionStatement',
- 'startTransactionStatement',
- 'transactionMode',
- 'transactionAccessMode',
- 'isolationLevel',
- 'levelOfIsolation',
- 'commitStatement',
- 'rollbackStatement',
- 'setAutoCommitStatement',
- 'abortTransactionStatement',
- 'mergeStatement',
- 'whenClauses',
- 'whenNotMatchedClause',
- 'whenMatchedAndClause',
- 'whenMatchedThenClause',
- 'updateOrDelete',
- 'killQueryStatement',
- 'selectClause',
- 'selectList',
- 'selectTrfmClause',
- 'selectItem',
- 'trfmClause',
- 'selectExpression',
- 'selectExpressionList',
- 'exceptClause',
- 'window_clause',
- 'window_defn',
- 'window_specification',
- 'window_frame',
- 'window_range_expression',
- 'window_value_expression',
- 'window_frame_start_boundary',
- 'window_frame_boundary',
- 'tableAllColumns',
- 'tableOrColumn',
- 'expressionList',
- 'aliasList',
- 'fromClause',
- 'fromSource',
- 'atomjoinSource',
- 'joinSource',
- 'streamSource',
- 'joinSourcePart',
- 'uniqueJoinSource',
- 'uniqueJoinExpr',
- 'uniqueJoinToken',
- 'joinToken',
- 'lateralView',
- 'tableAlias',
- 'tableBucketSample',
- 'splitSample',
- 'tableSample',
- 'tableSource',
- 'uniqueJoinTableSource',
- 'tableName',
- 'viewName',
- 'subQuerySource',
- 'partitioningSpec',
- 'partitionTableFunctionSource',
- 'partitionedTableFunction',
- 'whereClause',
- 'searchCondition',
- 'valuesClause',
- 'valuesTableConstructor',
- 'valueRowConstructor',
- 'virtualTableSource',
- 'rangeTableValuedFunction',
- 'tableFunctionCall',
- 'functionArgList',
- 'functionArg',
- 'namedArg',
- 'groupByClause',
- 'groupby_expression',
- 'groupByEmpty',
- 'rollupStandard',
- 'rollupOldSyntax',
- 'groupingSetExpression',
- 'groupingSetExpressionMultiple',
- 'groupingExpressionSingle',
- 'havingClause',
- 'havingCondition',
- 'expressionsInParenthesis',
- 'expressionsNotInParenthesis',
- 'expressionPart',
- 'expressions',
- 'columnRefOrderInParenthesis',
- 'columnRefOrderNotInParenthesis',
- 'orderByClause',
- 'clusterByClause',
- 'partitionByClause',
- 'distributeByClause',
- 'sortByClause',
- 'functionStatement',
- 'functionName',
- 'castExpression',
- 'caseExpression',
- 'whenExpression',
- 'floorExpression',
- 'floorDateQualifiers',
- 'extractExpression',
- 'timeQualifiers',
- 'constant',
- 'stringLiteralSequence',
- 'charSetStringLiteral',
- 'dateLiteral',
- 'timestampLiteral',
- 'timestampLocalTZLiteral',
- 'intervalValue',
- 'intervalLiteral',
- 'intervalExpression',
- 'intervalQualifiers',
- 'atomExpression',
- 'precedenceUnaryOperator',
- 'isCondition',
- 'precedenceBitwiseXorOperator',
- 'precedenceStarOperator',
- 'precedencePlusOperator',
- 'precedenceConcatenateOperator',
- 'precedenceAmpersandOperator',
- 'precedenceBitwiseOrOperator',
- 'precedenceRegexpOperator',
- 'precedenceSimilarOperator',
- 'precedenceDistinctOperator',
- 'precedenceEqualOperator',
- 'precedenceNotOperator',
- 'precedenceAndOperator',
- 'precedenceOrOperator',
- 'expression',
- 'subQueryExpression',
- 'precedenceSimilarExpressionPart',
- 'precedenceSimilarExpressionAtom',
- 'precedenceSimilarExpressionIn',
- 'precedenceSimilarExpressionPartNot',
- 'booleanValue',
- 'booleanValueTok',
- 'tableOrPartition',
- 'partitionSpec',
- 'partitionVal',
- 'dropPartitionSpec',
- 'dropPartitionVal',
- 'dropPartitionOperator',
- 'sysFuncNames',
- 'descFuncNames',
- 'identifier',
- 'functionIdentifier',
- 'principalIdentifier',
- 'nonReserved',
- 'sql11ReservedKeywordsUsedAsFunctionName',
- 'databricksAllowedReservedNames',
- 'resourcePlanDdlStatements',
- 'rpAssign',
- 'rpAssignList',
- 'rpUnassign',
- 'rpUnassignList',
- 'createResourcePlanStatement',
- 'createResourcePlanStatementLikeExisting',
- 'createNewResourcePlanStatement',
- 'withReplace',
- 'activate',
- 'enable',
- 'disable',
- 'unmanaged',
- 'alterResourcePlanStatement',
- 'alterResourcePlanRenameSuffix',
- 'globalWmStatement',
- 'replaceResourcePlanStatement',
- 'dropResourcePlanStatement',
- 'poolPath',
- 'triggerExpression',
- 'triggerExpressionStandalone',
- 'triggerOrExpression',
- 'triggerAndExpression',
- 'triggerAtomExpression',
- 'triggerLiteral',
- 'comparisionOperator',
- 'triggerActionExpression',
- 'triggerActionExpressionStandalone',
- 'createTriggerStatement',
- 'alterTriggerStatement',
- 'triggerConditionExpression',
- 'dropTriggerStatement',
- 'poolAssign',
- 'poolAssignList',
- 'createPoolStatement',
- 'alterPoolStatement',
- 'dropPoolStatement',
- 'createMappingStatement',
- 'alterMappingStatement',
- 'dropMappingStatement',
- ];
-
- constructor(input) {
- super(input);
- this._interp = new antlr4.atn.ParserATNSimulator(this, atn, decisionsToDFA, sharedContextCache);
- this.ruleNames = HiveParser.ruleNames;
- this.literalNames = HiveParser.literalNames;
- this.symbolicNames = HiveParser.symbolicNames;
- }
-
- get atn() {
- return atn;
- }
-
- sempred(localctx, ruleIndex, predIndex) {
- switch (ruleIndex) {
- case 407:
- return this.expression_sempred(localctx, predIndex);
- default:
- throw 'No predicate with index:' + ruleIndex;
- }
- }
-
- expression_sempred(localctx, predIndex) {
- switch (predIndex) {
- case 0:
- return this.precpred(this._ctx, 13);
- case 1:
- return this.precpred(this._ctx, 12);
- case 2:
- return this.precpred(this._ctx, 11);
- case 3:
- return this.precpred(this._ctx, 10);
- case 4:
- return this.precpred(this._ctx, 9);
- case 5:
- return this.precpred(this._ctx, 8);
- case 6:
- return this.precpred(this._ctx, 5);
- case 7:
- return this.precpred(this._ctx, 3);
- case 8:
- return this.precpred(this._ctx, 2);
- case 9:
- return this.precpred(this._ctx, 14);
- case 10:
- return this.precpred(this._ctx, 7);
- default:
- throw 'No predicate with index:' + predIndex;
- }
- }
-
- statements() {
- let localctx = new StatementsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 0, HiveParser.RULE_statements);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 945;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (
- ((_la & ~0x1f) == 0 &&
- ((1 << _la) &
- ((1 << HiveParser.KW_DESC) |
- (1 << HiveParser.KW_FROM) |
- (1 << HiveParser.KW_SELECT) |
- (1 << HiveParser.KW_INSERT))) !==
- 0) ||
- (((_la - 46) & ~0x1f) == 0 &&
- ((1 << (_la - 46)) &
- ((1 << (HiveParser.KW_SHOW - 46)) |
- (1 << (HiveParser.KW_MSCK - 46)) |
- (1 << (HiveParser.KW_LOAD - 46)) |
- (1 << (HiveParser.KW_EXPORT - 46)) |
- (1 << (HiveParser.KW_IMPORT - 46)) |
- (1 << (HiveParser.KW_CREATE - 46)) |
- (1 << (HiveParser.KW_ALTER - 46)) |
- (1 << (HiveParser.KW_DESCRIBE - 46)) |
- (1 << (HiveParser.KW_DROP - 46)))) !==
- 0) ||
- (((_la - 101) & ~0x1f) == 0 &&
- ((1 << (_la - 101)) &
- ((1 << (HiveParser.KW_MAP - 101)) |
- (1 << (HiveParser.KW_REDUCE - 101)) |
- (1 << (HiveParser.KW_KILL - 101)) |
- (1 << (HiveParser.KW_ENABLE - 101)) |
- (1 << (HiveParser.KW_DISABLE - 101)))) !==
- 0) ||
- (((_la - 140) & ~0x1f) == 0 &&
- ((1 << (_la - 140)) &
- ((1 << (HiveParser.KW_REPLACE - 140)) |
- (1 << (HiveParser.KW_EXPLAIN - 140)) |
- (1 << (HiveParser.KW_WITH - 140)) |
- (1 << (HiveParser.KW_SET - 140)))) !==
- 0) ||
- (((_la - 178) & ~0x1f) == 0 &&
- ((1 << (_la - 178)) &
- ((1 << (HiveParser.KW_DELETE - 178)) |
- (1 << (HiveParser.KW_GRANT - 178)) |
- (1 << (HiveParser.KW_REVOKE - 178)) |
- (1 << (HiveParser.KW_LOCK - 178)) |
- (1 << (HiveParser.KW_UNLOCK - 178)) |
- (1 << (HiveParser.KW_ANALYZE - 178)))) !==
- 0) ||
- (((_la - 225) & ~0x1f) == 0 &&
- ((1 << (_la - 225)) &
- ((1 << (HiveParser.KW_USE - 225)) |
- (1 << (HiveParser.KW_UPDATE - 225)) |
- (1 << (HiveParser.KW_TRUNCATE - 225)))) !==
- 0) ||
- (((_la - 271) & ~0x1f) == 0 &&
- ((1 << (_la - 271)) &
- ((1 << (HiveParser.KW_RELOAD - 271)) |
- (1 << (HiveParser.KW_START - 271)) |
- (1 << (HiveParser.KW_COMMIT - 271)) |
- (1 << (HiveParser.KW_ROLLBACK - 271)))) !==
- 0) ||
- (((_la - 305) & ~0x1f) == 0 &&
- ((1 << (_la - 305)) &
- ((1 << (HiveParser.KW_ABORT - 305)) |
- (1 << (HiveParser.KW_MERGE - 305)) |
- (1 << (HiveParser.KW_REPL - 305)))) !==
- 0) ||
- _la === HiveParser.SEMICOLON ||
- _la === HiveParser.LPAREN
- ) {
- this.state = 943;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_DESC:
- case HiveParser.KW_FROM:
- case HiveParser.KW_SELECT:
- case HiveParser.KW_INSERT:
- case HiveParser.KW_SHOW:
- case HiveParser.KW_MSCK:
- case HiveParser.KW_LOAD:
- case HiveParser.KW_EXPORT:
- case HiveParser.KW_IMPORT:
- case HiveParser.KW_CREATE:
- case HiveParser.KW_ALTER:
- case HiveParser.KW_DESCRIBE:
- case HiveParser.KW_DROP:
- case HiveParser.KW_MAP:
- case HiveParser.KW_REDUCE:
- case HiveParser.KW_KILL:
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- case HiveParser.KW_REPLACE:
- case HiveParser.KW_EXPLAIN:
- case HiveParser.KW_WITH:
- case HiveParser.KW_SET:
- case HiveParser.KW_DELETE:
- case HiveParser.KW_GRANT:
- case HiveParser.KW_REVOKE:
- case HiveParser.KW_LOCK:
- case HiveParser.KW_UNLOCK:
- case HiveParser.KW_ANALYZE:
- case HiveParser.KW_USE:
- case HiveParser.KW_UPDATE:
- case HiveParser.KW_TRUNCATE:
- case HiveParser.KW_RELOAD:
- case HiveParser.KW_START:
- case HiveParser.KW_COMMIT:
- case HiveParser.KW_ROLLBACK:
- case HiveParser.KW_ABORT:
- case HiveParser.KW_MERGE:
- case HiveParser.KW_REPL:
- case HiveParser.LPAREN:
- this.state = 938;
- this.statement();
- this.state = 940;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 0, this._ctx);
- if (la_ === 1) {
- this.state = 939;
- this.statementSeparator();
- }
- break;
- case HiveParser.SEMICOLON:
- this.state = 942;
- this.empty();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- this.state = 947;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- this.state = 948;
- this.match(HiveParser.EOF);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- statementSeparator() {
- let localctx = new StatementSeparatorContext(this, this._ctx, this.state);
- this.enterRule(localctx, 2, HiveParser.RULE_statementSeparator);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 950;
- this.match(HiveParser.SEMICOLON);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- empty() {
- let localctx = new EmptyContext(this, this._ctx, this.state);
- this.enterRule(localctx, 4, HiveParser.RULE_empty);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 952;
- this.statementSeparator();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- statement() {
- let localctx = new StatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 6, HiveParser.RULE_statement);
- try {
- this.state = 956;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_EXPLAIN:
- this.enterOuterAlt(localctx, 1);
- this.state = 954;
- this.explainStatement();
- break;
- case HiveParser.KW_DESC:
- case HiveParser.KW_FROM:
- case HiveParser.KW_SELECT:
- case HiveParser.KW_INSERT:
- case HiveParser.KW_SHOW:
- case HiveParser.KW_MSCK:
- case HiveParser.KW_LOAD:
- case HiveParser.KW_EXPORT:
- case HiveParser.KW_IMPORT:
- case HiveParser.KW_CREATE:
- case HiveParser.KW_ALTER:
- case HiveParser.KW_DESCRIBE:
- case HiveParser.KW_DROP:
- case HiveParser.KW_MAP:
- case HiveParser.KW_REDUCE:
- case HiveParser.KW_KILL:
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- case HiveParser.KW_REPLACE:
- case HiveParser.KW_WITH:
- case HiveParser.KW_SET:
- case HiveParser.KW_DELETE:
- case HiveParser.KW_GRANT:
- case HiveParser.KW_REVOKE:
- case HiveParser.KW_LOCK:
- case HiveParser.KW_UNLOCK:
- case HiveParser.KW_ANALYZE:
- case HiveParser.KW_USE:
- case HiveParser.KW_UPDATE:
- case HiveParser.KW_TRUNCATE:
- case HiveParser.KW_RELOAD:
- case HiveParser.KW_START:
- case HiveParser.KW_COMMIT:
- case HiveParser.KW_ROLLBACK:
- case HiveParser.KW_ABORT:
- case HiveParser.KW_MERGE:
- case HiveParser.KW_REPL:
- case HiveParser.LPAREN:
- this.enterOuterAlt(localctx, 2);
- this.state = 955;
- this.execStatement();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- explainStatement() {
- let localctx = new ExplainStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 8, HiveParser.RULE_explainStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 958;
- this.match(HiveParser.KW_EXPLAIN);
- this.state = 968;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_DESC:
- case HiveParser.KW_FROM:
- case HiveParser.KW_SELECT:
- case HiveParser.KW_INSERT:
- case HiveParser.KW_SHOW:
- case HiveParser.KW_MSCK:
- case HiveParser.KW_LOAD:
- case HiveParser.KW_EXPORT:
- case HiveParser.KW_IMPORT:
- case HiveParser.KW_CREATE:
- case HiveParser.KW_ALTER:
- case HiveParser.KW_DESCRIBE:
- case HiveParser.KW_DROP:
- case HiveParser.KW_MAP:
- case HiveParser.KW_REDUCE:
- case HiveParser.KW_KILL:
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- case HiveParser.KW_REPLACE:
- case HiveParser.KW_EXTENDED:
- case HiveParser.KW_FORMATTED:
- case HiveParser.KW_DEPENDENCY:
- case HiveParser.KW_LOGICAL:
- case HiveParser.KW_WITH:
- case HiveParser.KW_SET:
- case HiveParser.KW_DELETE:
- case HiveParser.KW_GRANT:
- case HiveParser.KW_REVOKE:
- case HiveParser.KW_LOCK:
- case HiveParser.KW_UNLOCK:
- case HiveParser.KW_ANALYZE:
- case HiveParser.KW_USE:
- case HiveParser.KW_UPDATE:
- case HiveParser.KW_TRUNCATE:
- case HiveParser.KW_AUTHORIZATION:
- case HiveParser.KW_REOPTIMIZATION:
- case HiveParser.KW_RELOAD:
- case HiveParser.KW_START:
- case HiveParser.KW_COMMIT:
- case HiveParser.KW_ROLLBACK:
- case HiveParser.KW_ABORT:
- case HiveParser.KW_MERGE:
- case HiveParser.KW_REPL:
- case HiveParser.KW_VECTORIZATION:
- case HiveParser.LPAREN:
- this.state = 962;
- this._errHandler.sync(this);
- var _alt = this._interp.adaptivePredict(this._input, 4, this._ctx);
- while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) {
- if (_alt === 1) {
- this.state = 959;
- this.explainOption();
- }
- this.state = 964;
- this._errHandler.sync(this);
- _alt = this._interp.adaptivePredict(this._input, 4, this._ctx);
- }
-
- this.state = 965;
- this.execStatement();
- break;
- case HiveParser.KW_REWRITE:
- this.state = 966;
- this.match(HiveParser.KW_REWRITE);
- this.state = 967;
- this.queryStatementExpression();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- explainOption() {
- let localctx = new ExplainOptionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 10, HiveParser.RULE_explainOption);
- var _la = 0; // Token type
- try {
- this.state = 984;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_EXTENDED:
- this.enterOuterAlt(localctx, 1);
- this.state = 970;
- this.match(HiveParser.KW_EXTENDED);
- break;
- case HiveParser.KW_FORMATTED:
- this.enterOuterAlt(localctx, 2);
- this.state = 971;
- this.match(HiveParser.KW_FORMATTED);
- break;
- case HiveParser.KW_DEPENDENCY:
- this.enterOuterAlt(localctx, 3);
- this.state = 972;
- this.match(HiveParser.KW_DEPENDENCY);
- break;
- case HiveParser.KW_LOGICAL:
- this.enterOuterAlt(localctx, 4);
- this.state = 973;
- this.match(HiveParser.KW_LOGICAL);
- break;
- case HiveParser.KW_AUTHORIZATION:
- this.enterOuterAlt(localctx, 5);
- this.state = 974;
- this.match(HiveParser.KW_AUTHORIZATION);
- break;
- case HiveParser.KW_ANALYZE:
- this.enterOuterAlt(localctx, 6);
- this.state = 975;
- this.match(HiveParser.KW_ANALYZE);
- break;
- case HiveParser.KW_REOPTIMIZATION:
- this.enterOuterAlt(localctx, 7);
- this.state = 976;
- this.match(HiveParser.KW_REOPTIMIZATION);
- break;
- case HiveParser.KW_VECTORIZATION:
- this.enterOuterAlt(localctx, 8);
- this.state = 977;
- this.match(HiveParser.KW_VECTORIZATION);
- this.state = 979;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ONLY) {
- this.state = 978;
- this.vectorizationOnly();
- }
-
- this.state = 982;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (
- ((_la - 314) & ~0x1f) == 0 &&
- ((1 << (_la - 314)) &
- ((1 << (HiveParser.KW_SUMMARY - 314)) |
- (1 << (HiveParser.KW_OPERATOR - 314)) |
- (1 << (HiveParser.KW_EXPRESSION - 314)) |
- (1 << (HiveParser.KW_DETAIL - 314)))) !==
- 0
- ) {
- this.state = 981;
- this.vectorizatonDetail();
- }
-
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- vectorizationOnly() {
- let localctx = new VectorizationOnlyContext(this, this._ctx, this.state);
- this.enterRule(localctx, 12, HiveParser.RULE_vectorizationOnly);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 986;
- this.match(HiveParser.KW_ONLY);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- vectorizatonDetail() {
- let localctx = new VectorizatonDetailContext(this, this._ctx, this.state);
- this.enterRule(localctx, 14, HiveParser.RULE_vectorizatonDetail);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 988;
- _la = this._input.LA(1);
- if (
- !(
- ((_la - 314) & ~0x1f) == 0 &&
- ((1 << (_la - 314)) &
- ((1 << (HiveParser.KW_SUMMARY - 314)) |
- (1 << (HiveParser.KW_OPERATOR - 314)) |
- (1 << (HiveParser.KW_EXPRESSION - 314)) |
- (1 << (HiveParser.KW_DETAIL - 314)))) !==
- 0
- )
- ) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- execStatement() {
- let localctx = new ExecStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 16, HiveParser.RULE_execStatement);
- try {
- this.state = 1002;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 9, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 990;
- this.queryStatementExpression();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 991;
- this.loadStatement();
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 992;
- this.exportStatement();
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 993;
- this.importStatement();
- break;
-
- case 5:
- this.enterOuterAlt(localctx, 5);
- this.state = 994;
- this.replDumpStatement();
- break;
-
- case 6:
- this.enterOuterAlt(localctx, 6);
- this.state = 995;
- this.replLoadStatement();
- break;
-
- case 7:
- this.enterOuterAlt(localctx, 7);
- this.state = 996;
- this.replStatusStatement();
- break;
-
- case 8:
- this.enterOuterAlt(localctx, 8);
- this.state = 997;
- this.ddlStatement();
- break;
-
- case 9:
- this.enterOuterAlt(localctx, 9);
- this.state = 998;
- this.deleteStatement();
- break;
-
- case 10:
- this.enterOuterAlt(localctx, 10);
- this.state = 999;
- this.updateStatement();
- break;
-
- case 11:
- this.enterOuterAlt(localctx, 11);
- this.state = 1000;
- this.sqlTransactionStatement();
- break;
-
- case 12:
- this.enterOuterAlt(localctx, 12);
- this.state = 1001;
- this.mergeStatement();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- loadStatement() {
- let localctx = new LoadStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 18, HiveParser.RULE_loadStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1004;
- this.match(HiveParser.KW_LOAD);
- this.state = 1005;
- this.match(HiveParser.KW_DATA);
- this.state = 1007;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_LOCAL) {
- this.state = 1006;
- this.match(HiveParser.KW_LOCAL);
- }
-
- this.state = 1009;
- this.match(HiveParser.KW_INPATH);
- this.state = 1010;
- this.match(HiveParser.StringLiteral);
- this.state = 1012;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_OVERWRITE) {
- this.state = 1011;
- this.match(HiveParser.KW_OVERWRITE);
- }
-
- this.state = 1014;
- this.match(HiveParser.KW_INTO);
- this.state = 1015;
- this.match(HiveParser.KW_TABLE);
- this.state = 1016;
- this.tableOrPartition();
- this.state = 1018;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_INPUTFORMAT) {
- this.state = 1017;
- this.inputFileFormat();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- replicationClause() {
- let localctx = new ReplicationClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 20, HiveParser.RULE_replicationClause);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1020;
- this.match(HiveParser.KW_FOR);
- this.state = 1022;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_METADATA) {
- this.state = 1021;
- this.match(HiveParser.KW_METADATA);
- }
-
- this.state = 1024;
- this.match(HiveParser.KW_REPLICATION);
- this.state = 1025;
- this.match(HiveParser.LPAREN);
- this.state = 1026;
- this.match(HiveParser.StringLiteral);
- this.state = 1027;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- exportStatement() {
- let localctx = new ExportStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 22, HiveParser.RULE_exportStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1029;
- this.match(HiveParser.KW_EXPORT);
- this.state = 1030;
- this.match(HiveParser.KW_TABLE);
- this.state = 1031;
- this.tableOrPartition();
- this.state = 1032;
- this.match(HiveParser.KW_TO);
- this.state = 1033;
- this.match(HiveParser.StringLiteral);
- this.state = 1035;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_FOR) {
- this.state = 1034;
- this.replicationClause();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- importStatement() {
- let localctx = new ImportStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 24, HiveParser.RULE_importStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1037;
- this.match(HiveParser.KW_IMPORT);
- this.state = 1043;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_TABLE || _la === HiveParser.KW_EXTERNAL) {
- this.state = 1039;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_EXTERNAL) {
- this.state = 1038;
- this.match(HiveParser.KW_EXTERNAL);
- }
-
- this.state = 1041;
- this.match(HiveParser.KW_TABLE);
- this.state = 1042;
- this.tableOrPartition();
- }
-
- this.state = 1045;
- this.match(HiveParser.KW_FROM);
-
- this.state = 1046;
- localctx.path = this.match(HiveParser.StringLiteral);
- this.state = 1048;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_LOCATION) {
- this.state = 1047;
- this.tableLocation();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- replDumpStatement() {
- let localctx = new ReplDumpStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 26, HiveParser.RULE_replDumpStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1050;
- this.match(HiveParser.KW_REPL);
- this.state = 1051;
- this.match(HiveParser.KW_DUMP);
- this.state = 1052;
- this.identifier();
- this.state = 1055;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.DOT) {
- this.state = 1053;
- this.match(HiveParser.DOT);
- this.state = 1054;
- this.identifier();
- }
-
- this.state = 1067;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 21, this._ctx);
- if (la_ === 1) {
- this.state = 1057;
- this.match(HiveParser.KW_FROM);
- this.state = 1058;
- this.match(HiveParser.Number);
- this.state = 1061;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_TO) {
- this.state = 1059;
- this.match(HiveParser.KW_TO);
- this.state = 1060;
- this.match(HiveParser.Number);
- }
-
- this.state = 1065;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_LIMIT) {
- this.state = 1063;
- this.match(HiveParser.KW_LIMIT);
- this.state = 1064;
- this.match(HiveParser.Number);
- }
- }
- this.state = 1071;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 22, this._ctx);
- if (la_ === 1) {
- this.state = 1069;
- this.match(HiveParser.KW_WITH);
- this.state = 1070;
- this.replConfigs();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- replLoadStatement() {
- let localctx = new ReplLoadStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 28, HiveParser.RULE_replLoadStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1073;
- this.match(HiveParser.KW_REPL);
- this.state = 1074;
- this.match(HiveParser.KW_LOAD);
- this.state = 1080;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (
- ((_la & ~0x1f) == 0 &&
- ((1 << _la) &
- ((1 << HiveParser.KW_IF) |
- (1 << HiveParser.KW_ASC) |
- (1 << HiveParser.KW_DESC) |
- (1 << HiveParser.KW_NULLS) |
- (1 << HiveParser.KW_LAST) |
- (1 << HiveParser.KW_OVERWRITE))) !==
- 0) ||
- (((_la - 37) & ~0x1f) == 0 &&
- ((1 << (_la - 37)) &
- ((1 << (HiveParser.KW_PARTITIONS - 37)) |
- (1 << (HiveParser.KW_TABLE - 37)) |
- (1 << (HiveParser.KW_TABLES - 37)) |
- (1 << (HiveParser.KW_COLUMNS - 37)) |
- (1 << (HiveParser.KW_INDEX - 37)) |
- (1 << (HiveParser.KW_INDEXES - 37)) |
- (1 << (HiveParser.KW_REBUILD - 37)) |
- (1 << (HiveParser.KW_FUNCTIONS - 37)) |
- (1 << (HiveParser.KW_SHOW - 37)) |
- (1 << (HiveParser.KW_MSCK - 37)) |
- (1 << (HiveParser.KW_REPAIR - 37)) |
- (1 << (HiveParser.KW_DIRECTORY - 37)) |
- (1 << (HiveParser.KW_CLUSTER - 37)) |
- (1 << (HiveParser.KW_DISTRIBUTE - 37)) |
- (1 << (HiveParser.KW_SORT - 37)) |
- (1 << (HiveParser.KW_LOAD - 37)) |
- (1 << (HiveParser.KW_EXPORT - 37)) |
- (1 << (HiveParser.KW_REPLICATION - 37)) |
- (1 << (HiveParser.KW_METADATA - 37)) |
- (1 << (HiveParser.KW_DATA - 37)) |
- (1 << (HiveParser.KW_INPATH - 37)))) !==
- 0) ||
- (((_la - 70) & ~0x1f) == 0 &&
- ((1 << (_la - 70)) &
- ((1 << (HiveParser.KW_CHANGE - 70)) |
- (1 << (HiveParser.KW_FIRST - 70)) |
- (1 << (HiveParser.KW_AFTER - 70)) |
- (1 << (HiveParser.KW_RENAME - 70)) |
- (1 << (HiveParser.KW_COMMENT - 70)) |
- (1 << (HiveParser.KW_BOOLEAN - 70)) |
- (1 << (HiveParser.KW_TINYINT - 70)) |
- (1 << (HiveParser.KW_SMALLINT - 70)) |
- (1 << (HiveParser.KW_INT - 70)) |
- (1 << (HiveParser.KW_BIGINT - 70)) |
- (1 << (HiveParser.KW_FLOAT - 70)) |
- (1 << (HiveParser.KW_DOUBLE - 70)) |
- (1 << (HiveParser.KW_DATE - 70)) |
- (1 << (HiveParser.KW_DATETIME - 70)) |
- (1 << (HiveParser.KW_TIMESTAMP - 70)) |
- (1 << (HiveParser.KW_TIME - 70)) |
- (1 << (HiveParser.KW_ZONE - 70)) |
- (1 << (HiveParser.KW_STRING - 70)) |
- (1 << (HiveParser.KW_ARRAY - 70)) |
- (1 << (HiveParser.KW_STRUCT - 70)) |
- (1 << (HiveParser.KW_MAP - 70)))) !==
- 0) ||
- (((_la - 104) & ~0x1f) == 0 &&
- ((1 << (_la - 104)) &
- ((1 << (HiveParser.KW_UNIONTYPE - 104)) |
- (1 << (HiveParser.KW_PARTITIONED - 104)) |
- (1 << (HiveParser.KW_CLUSTERED - 104)) |
- (1 << (HiveParser.KW_SORTED - 104)) |
- (1 << (HiveParser.KW_BUCKETS - 104)) |
- (1 << (HiveParser.KW_FORMAT - 104)) |
- (1 << (HiveParser.KW_DELIMITED - 104)) |
- (1 << (HiveParser.KW_FIELDS - 104)) |
- (1 << (HiveParser.KW_TERMINATED - 104)) |
- (1 << (HiveParser.KW_ESCAPED - 104)) |
- (1 << (HiveParser.KW_COLLECTION - 104)) |
- (1 << (HiveParser.KW_ITEMS - 104)) |
- (1 << (HiveParser.KW_KEYS - 104)) |
- (1 << (HiveParser.KW_KEY_TYPE - 104)) |
- (1 << (HiveParser.KW_KILL - 104)) |
- (1 << (HiveParser.KW_LINES - 104)) |
- (1 << (HiveParser.KW_STORED - 104)) |
- (1 << (HiveParser.KW_FILEFORMAT - 104)) |
- (1 << (HiveParser.KW_INPUTFORMAT - 104)) |
- (1 << (HiveParser.KW_OUTPUTFORMAT - 104)) |
- (1 << (HiveParser.KW_INPUTDRIVER - 104)) |
- (1 << (HiveParser.KW_OUTPUTDRIVER - 104)) |
- (1 << (HiveParser.KW_ENABLE - 104)) |
- (1 << (HiveParser.KW_DISABLE - 104)) |
- (1 << (HiveParser.KW_LOCATION - 104)) |
- (1 << (HiveParser.KW_BUCKET - 104)))) !==
- 0) ||
- (((_la - 139) & ~0x1f) == 0 &&
- ((1 << (_la - 139)) &
- ((1 << (HiveParser.KW_ADD - 139)) |
- (1 << (HiveParser.KW_REPLACE - 139)) |
- (1 << (HiveParser.KW_TEMPORARY - 139)) |
- (1 << (HiveParser.KW_FILE - 139)) |
- (1 << (HiveParser.KW_JAR - 139)) |
- (1 << (HiveParser.KW_EXPLAIN - 139)) |
- (1 << (HiveParser.KW_FORMATTED - 139)) |
- (1 << (HiveParser.KW_DEPENDENCY - 139)) |
- (1 << (HiveParser.KW_LOGICAL - 139)) |
- (1 << (HiveParser.KW_SERDE - 139)) |
- (1 << (HiveParser.KW_DEFERRED - 139)) |
- (1 << (HiveParser.KW_SERDEPROPERTIES - 139)) |
- (1 << (HiveParser.KW_DBPROPERTIES - 139)) |
- (1 << (HiveParser.KW_LIMIT - 139)) |
- (1 << (HiveParser.KW_OFFSET - 139)) |
- (1 << (HiveParser.KW_UNSET - 139)) |
- (1 << (HiveParser.KW_TBLPROPERTIES - 139)) |
- (1 << (HiveParser.KW_IDXPROPERTIES - 139)) |
- (1 << (HiveParser.KW_VALUE_TYPE - 139)) |
- (1 << (HiveParser.KW_ELEM_TYPE - 139)) |
- (1 << (HiveParser.KW_DEFINED - 139)))) !==
- 0) ||
- (((_la - 172) & ~0x1f) == 0 &&
- ((1 << (_la - 172)) &
- ((1 << (HiveParser.KW_MAPJOIN - 172)) |
- (1 << (HiveParser.KW_STREAMTABLE - 172)) |
- (1 << (HiveParser.KW_CLUSTERSTATUS - 172)) |
- (1 << (HiveParser.KW_UTC - 172)) |
- (1 << (HiveParser.KW_UTCTIMESTAMP - 172)) |
- (1 << (HiveParser.KW_LONG - 172)) |
- (1 << (HiveParser.KW_PLUS - 172)) |
- (1 << (HiveParser.KW_VIEW - 172)) |
- (1 << (HiveParser.KW_VIEWS - 172)) |
- (1 << (HiveParser.KW_DATABASES - 172)) |
- (1 << (HiveParser.KW_MATERIALIZED - 172)) |
- (1 << (HiveParser.KW_SCHEMA - 172)) |
- (1 << (HiveParser.KW_SCHEMAS - 172)) |
- (1 << (HiveParser.KW_SSL - 172)) |
- (1 << (HiveParser.KW_UNDO - 172)) |
- (1 << (HiveParser.KW_LOCK - 172)) |
- (1 << (HiveParser.KW_LOCKS - 172)) |
- (1 << (HiveParser.KW_UNLOCK - 172)) |
- (1 << (HiveParser.KW_SHARED - 172)) |
- (1 << (HiveParser.KW_EXCLUSIVE - 172)) |
- (1 << (HiveParser.KW_UNSIGNED - 172)) |
- (1 << (HiveParser.KW_WHILE - 172)) |
- (1 << (HiveParser.KW_READ - 172)))) !==
- 0) ||
- (((_la - 205) & ~0x1f) == 0 &&
- ((1 << (_la - 205)) &
- ((1 << (HiveParser.KW_PURGE - 205)) |
- (1 << (HiveParser.KW_ANALYZE - 205)) |
- (1 << (HiveParser.KW_BEFORE - 205)) |
- (1 << (HiveParser.KW_BINARY - 205)) |
- (1 << (HiveParser.KW_CONTINUE - 205)) |
- (1 << (HiveParser.KW_RECORDREADER - 205)) |
- (1 << (HiveParser.KW_RECORDWRITER - 205)) |
- (1 << (HiveParser.KW_SEMI - 205)) |
- (1 << (HiveParser.KW_TOUCH - 205)) |
- (1 << (HiveParser.KW_ARCHIVE - 205)) |
- (1 << (HiveParser.KW_UNARCHIVE - 205)) |
- (1 << (HiveParser.KW_COMPUTE - 205)) |
- (1 << (HiveParser.KW_STATISTICS - 205)) |
- (1 << (HiveParser.KW_USE - 205)) |
- (1 << (HiveParser.KW_OPTION - 205)) |
- (1 << (HiveParser.KW_CONCATENATE - 205)) |
- (1 << (HiveParser.KW_CATALOG - 205)) |
- (1 << (HiveParser.KW_SHOW_DATABASE - 205)) |
- (1 << (HiveParser.KW_RESTRICT - 205)) |
- (1 << (HiveParser.KW_CASCADE - 205)) |
- (1 << (HiveParser.KW_SKEWED - 205)))) !==
- 0) ||
- (((_la - 237) & ~0x1f) == 0 &&
- ((1 << (_la - 237)) &
- ((1 << (HiveParser.KW_DIRECTORIES - 237)) |
- (1 << (HiveParser.KW_CURRENT_DATE - 237)) |
- (1 << (HiveParser.KW_CURRENT_TIMESTAMP - 237)) |
- (1 << (HiveParser.KW_GROUPING - 237)) |
- (1 << (HiveParser.KW_SETS - 237)) |
- (1 << (HiveParser.KW_NOSCAN - 237)) |
- (1 << (HiveParser.KW_ROLE - 237)) |
- (1 << (HiveParser.KW_ROLES - 237)) |
- (1 << (HiveParser.KW_URI - 237)) |
- (1 << (HiveParser.KW_SERVER - 237)) |
- (1 << (HiveParser.KW_ADMIN - 237)) |
- (1 << (HiveParser.KW_OWNER - 237)) |
- (1 << (HiveParser.KW_PRINCIPALS - 237)) |
- (1 << (HiveParser.KW_COMPACT - 237)) |
- (1 << (HiveParser.KW_COMPACTIONS - 237)) |
- (1 << (HiveParser.KW_TRANSACTIONS - 237)) |
- (1 << (HiveParser.KW_REWRITE - 237)) |
- (1 << (HiveParser.KW_REOPTIMIZATION - 237)))) !==
- 0) ||
- (((_la - 271) & ~0x1f) == 0 &&
- ((1 << (_la - 271)) &
- ((1 << (HiveParser.KW_RELOAD - 271)) |
- (1 << (HiveParser.KW_YEAR - 271)) |
- (1 << (HiveParser.KW_QUERY - 271)) |
- (1 << (HiveParser.KW_QUARTER - 271)) |
- (1 << (HiveParser.KW_MONTH - 271)) |
- (1 << (HiveParser.KW_WEEK - 271)) |
- (1 << (HiveParser.KW_DAY - 271)) |
- (1 << (HiveParser.KW_DOW - 271)) |
- (1 << (HiveParser.KW_HOUR - 271)) |
- (1 << (HiveParser.KW_MINUTE - 271)) |
- (1 << (HiveParser.KW_SECOND - 271)) |
- (1 << (HiveParser.KW_TRANSACTION - 271)) |
- (1 << (HiveParser.KW_WORK - 271)) |
- (1 << (HiveParser.KW_WRITE - 271)) |
- (1 << (HiveParser.KW_ISOLATION - 271)) |
- (1 << (HiveParser.KW_LEVEL - 271)) |
- (1 << (HiveParser.KW_SNAPSHOT - 271)) |
- (1 << (HiveParser.KW_AUTOCOMMIT - 271)) |
- (1 << (HiveParser.KW_CACHE - 271)) |
- (1 << (HiveParser.KW_ENFORCED - 271)) |
- (1 << (HiveParser.KW_VALIDATE - 271)) |
- (1 << (HiveParser.KW_NOVALIDATE - 271)) |
- (1 << (HiveParser.KW_RELY - 271)) |
- (1 << (HiveParser.KW_NORELY - 271)))) !==
- 0) ||
- (((_la - 304) & ~0x1f) == 0 &&
- ((1 << (_la - 304)) &
- ((1 << (HiveParser.KW_KEY - 304)) |
- (1 << (HiveParser.KW_ABORT - 304)) |
- (1 << (HiveParser.KW_MATCHED - 304)) |
- (1 << (HiveParser.KW_REPL - 304)) |
- (1 << (HiveParser.KW_DUMP - 304)) |
- (1 << (HiveParser.KW_STATUS - 304)) |
- (1 << (HiveParser.KW_VECTORIZATION - 304)) |
- (1 << (HiveParser.KW_SUMMARY - 304)) |
- (1 << (HiveParser.KW_OPERATOR - 304)) |
- (1 << (HiveParser.KW_EXPRESSION - 304)) |
- (1 << (HiveParser.KW_DETAIL - 304)) |
- (1 << (HiveParser.KW_WAIT - 304)) |
- (1 << (HiveParser.KW_RESOURCE - 304)) |
- (1 << (HiveParser.KW_PLAN - 304)) |
- (1 << (HiveParser.KW_QUERY_PARALLELISM - 304)) |
- (1 << (HiveParser.KW_PLANS - 304)) |
- (1 << (HiveParser.KW_ACTIVATE - 304)) |
- (1 << (HiveParser.KW_DEFAULT - 304)) |
- (1 << (HiveParser.KW_CHECK - 304)) |
- (1 << (HiveParser.KW_POOL - 304)) |
- (1 << (HiveParser.KW_MOVE - 304)) |
- (1 << (HiveParser.KW_DO - 304)) |
- (1 << (HiveParser.KW_ALLOC_FRACTION - 304)) |
- (1 << (HiveParser.KW_SCHEDULING_POLICY - 304)) |
- (1 << (HiveParser.KW_PATH - 304)) |
- (1 << (HiveParser.KW_MAPPING - 304)) |
- (1 << (HiveParser.KW_WORKLOAD - 304)) |
- (1 << (HiveParser.KW_MANAGEMENT - 304)) |
- (1 << (HiveParser.KW_ACTIVE - 304)))) !==
- 0) ||
- (((_la - 337) & ~0x1f) == 0 &&
- ((1 << (_la - 337)) &
- ((1 << (HiveParser.KW_UNMANAGED - 337)) |
- (1 << (HiveParser.KW_DELTA - 337)) |
- (1 << (HiveParser.KW_CSV - 337)) |
- (1 << (HiveParser.KW_JSON - 337)) |
- (1 << (HiveParser.KW_BLOOMFILTER - 337)) |
- (1 << (HiveParser.KW_STREAM - 337)))) !==
- 0) ||
- _la === HiveParser.LCURLY ||
- _la === HiveParser.Identifier
- ) {
- this.state = 1075;
- this.identifier();
- this.state = 1078;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.DOT) {
- this.state = 1076;
- this.match(HiveParser.DOT);
- this.state = 1077;
- this.identifier();
- }
- }
-
- this.state = 1082;
- this.match(HiveParser.KW_FROM);
- this.state = 1083;
- this.match(HiveParser.StringLiteral);
- this.state = 1086;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 25, this._ctx);
- if (la_ === 1) {
- this.state = 1084;
- this.match(HiveParser.KW_WITH);
- this.state = 1085;
- this.replConfigs();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- replConfigs() {
- let localctx = new ReplConfigsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 30, HiveParser.RULE_replConfigs);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1088;
- this.match(HiveParser.LPAREN);
- this.state = 1089;
- this.replConfigsList();
- this.state = 1090;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- replConfigsList() {
- let localctx = new ReplConfigsListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 32, HiveParser.RULE_replConfigsList);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1092;
- this.keyValueProperty();
- this.state = 1097;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 1093;
- this.match(HiveParser.COMMA);
- this.state = 1094;
- this.keyValueProperty();
- this.state = 1099;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- replStatusStatement() {
- let localctx = new ReplStatusStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 34, HiveParser.RULE_replStatusStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1100;
- this.match(HiveParser.KW_REPL);
- this.state = 1101;
- this.match(HiveParser.KW_STATUS);
- this.state = 1102;
- this.identifier();
- this.state = 1105;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.DOT) {
- this.state = 1103;
- this.match(HiveParser.DOT);
- this.state = 1104;
- this.identifier();
- }
-
- this.state = 1109;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 28, this._ctx);
- if (la_ === 1) {
- this.state = 1107;
- this.match(HiveParser.KW_WITH);
- this.state = 1108;
- this.replConfigs();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- ddlStatement() {
- let localctx = new DdlStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 36, HiveParser.RULE_ddlStatement);
- try {
- this.state = 1156;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 29, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 1111;
- this.switchCatalogStatement();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 1112;
- this.createDatabaseStatement();
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 1113;
- this.switchDatabaseStatement();
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 1114;
- this.dropDatabaseStatement();
- break;
-
- case 5:
- this.enterOuterAlt(localctx, 5);
- this.state = 1115;
- this.createTableStatement();
- break;
-
- case 6:
- this.enterOuterAlt(localctx, 6);
- this.state = 1116;
- this.dropTableStatement();
- break;
-
- case 7:
- this.enterOuterAlt(localctx, 7);
- this.state = 1117;
- this.truncateTableStatement();
- break;
-
- case 8:
- this.enterOuterAlt(localctx, 8);
- this.state = 1118;
- this.unityTags();
- break;
-
- case 9:
- this.enterOuterAlt(localctx, 9);
- this.state = 1119;
- this.alterStatement();
- break;
-
- case 10:
- this.enterOuterAlt(localctx, 10);
- this.state = 1120;
- this.descStatement();
- break;
-
- case 11:
- this.enterOuterAlt(localctx, 11);
- this.state = 1121;
- this.showStatement();
- break;
-
- case 12:
- this.enterOuterAlt(localctx, 12);
- this.state = 1122;
- this.metastoreCheck();
- break;
-
- case 13:
- this.enterOuterAlt(localctx, 13);
- this.state = 1123;
- this.createViewStatement();
- break;
-
- case 14:
- this.enterOuterAlt(localctx, 14);
- this.state = 1124;
- this.createMaterializedViewStatement();
- break;
-
- case 15:
- this.enterOuterAlt(localctx, 15);
- this.state = 1125;
- this.dropViewStatement();
- break;
-
- case 16:
- this.enterOuterAlt(localctx, 16);
- this.state = 1126;
- this.dropMaterializedViewStatement();
- break;
-
- case 17:
- this.enterOuterAlt(localctx, 17);
- this.state = 1127;
- this.createFunctionStatement();
- break;
-
- case 18:
- this.enterOuterAlt(localctx, 18);
- this.state = 1128;
- this.createMacroStatement();
- break;
-
- case 19:
- this.enterOuterAlt(localctx, 19);
- this.state = 1129;
- this.dropFunctionStatement();
- break;
-
- case 20:
- this.enterOuterAlt(localctx, 20);
- this.state = 1130;
- this.reloadFunctionStatement();
- break;
-
- case 21:
- this.enterOuterAlt(localctx, 21);
- this.state = 1131;
- this.dropMacroStatement();
- break;
-
- case 22:
- this.enterOuterAlt(localctx, 22);
- this.state = 1132;
- this.analyzeStatement();
- break;
-
- case 23:
- this.enterOuterAlt(localctx, 23);
- this.state = 1133;
- this.lockStatement();
- break;
-
- case 24:
- this.enterOuterAlt(localctx, 24);
- this.state = 1134;
- this.unlockStatement();
- break;
-
- case 25:
- this.enterOuterAlt(localctx, 25);
- this.state = 1135;
- this.lockDatabase();
- break;
-
- case 26:
- this.enterOuterAlt(localctx, 26);
- this.state = 1136;
- this.unlockDatabase();
- break;
-
- case 27:
- this.enterOuterAlt(localctx, 27);
- this.state = 1137;
- this.createRoleStatement();
- break;
-
- case 28:
- this.enterOuterAlt(localctx, 28);
- this.state = 1138;
- this.dropRoleStatement();
- break;
-
- case 29:
- this.enterOuterAlt(localctx, 29);
- this.state = 1139;
- this.grantPrivileges();
- break;
-
- case 30:
- this.enterOuterAlt(localctx, 30);
- this.state = 1140;
- this.revokePrivileges();
- break;
-
- case 31:
- this.enterOuterAlt(localctx, 31);
- this.state = 1141;
- this.showGrants();
- break;
-
- case 32:
- this.enterOuterAlt(localctx, 32);
- this.state = 1142;
- this.showRoleGrants();
- break;
-
- case 33:
- this.enterOuterAlt(localctx, 33);
- this.state = 1143;
- this.showRolePrincipals();
- break;
-
- case 34:
- this.enterOuterAlt(localctx, 34);
- this.state = 1144;
- this.showRoles();
- break;
-
- case 35:
- this.enterOuterAlt(localctx, 35);
- this.state = 1145;
- this.grantRole();
- break;
-
- case 36:
- this.enterOuterAlt(localctx, 36);
- this.state = 1146;
- this.revokeRole();
- break;
-
- case 37:
- this.enterOuterAlt(localctx, 37);
- this.state = 1147;
- this.setRole();
- break;
-
- case 38:
- this.enterOuterAlt(localctx, 38);
- this.state = 1148;
- this.showCurrentRole();
- break;
-
- case 39:
- this.enterOuterAlt(localctx, 39);
- this.state = 1149;
- this.abortTransactionStatement();
- break;
-
- case 40:
- this.enterOuterAlt(localctx, 40);
- this.state = 1150;
- this.killQueryStatement();
- break;
-
- case 41:
- this.enterOuterAlt(localctx, 41);
- this.state = 1151;
- this.resourcePlanDdlStatements();
- break;
-
- case 42:
- this.enterOuterAlt(localctx, 42);
- this.state = 1152;
- this.createIndexStatement();
- break;
-
- case 43:
- this.enterOuterAlt(localctx, 43);
- this.state = 1153;
- this.dropIndexStatement();
- break;
-
- case 44:
- this.enterOuterAlt(localctx, 44);
- this.state = 1154;
- this.createBloomfilterIndexStatement();
- break;
-
- case 45:
- this.enterOuterAlt(localctx, 45);
- this.state = 1155;
- this.dropBloomfilterIndexStatement();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- ifExists() {
- let localctx = new IfExistsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 38, HiveParser.RULE_ifExists);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1158;
- this.match(HiveParser.KW_IF);
- this.state = 1159;
- this.match(HiveParser.KW_EXISTS);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- restrictOrCascade() {
- let localctx = new RestrictOrCascadeContext(this, this._ctx, this.state);
- this.enterRule(localctx, 40, HiveParser.RULE_restrictOrCascade);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1161;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_RESTRICT || _la === HiveParser.KW_CASCADE)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- ifNotExists() {
- let localctx = new IfNotExistsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 42, HiveParser.RULE_ifNotExists);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1163;
- this.match(HiveParser.KW_IF);
- this.state = 1164;
- this.match(HiveParser.KW_NOT);
- this.state = 1165;
- this.match(HiveParser.KW_EXISTS);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- rewriteEnabled() {
- let localctx = new RewriteEnabledContext(this, this._ctx, this.state);
- this.enterRule(localctx, 44, HiveParser.RULE_rewriteEnabled);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1167;
- this.match(HiveParser.KW_ENABLE);
- this.state = 1168;
- this.match(HiveParser.KW_REWRITE);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- rewriteDisabled() {
- let localctx = new RewriteDisabledContext(this, this._ctx, this.state);
- this.enterRule(localctx, 46, HiveParser.RULE_rewriteDisabled);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1170;
- this.match(HiveParser.KW_DISABLE);
- this.state = 1171;
- this.match(HiveParser.KW_REWRITE);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- storedAsDirs() {
- let localctx = new StoredAsDirsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 48, HiveParser.RULE_storedAsDirs);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1173;
- this.match(HiveParser.KW_STORED);
- this.state = 1174;
- this.match(HiveParser.KW_AS);
- this.state = 1175;
- this.match(HiveParser.KW_DIRECTORIES);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- orReplace() {
- let localctx = new OrReplaceContext(this, this._ctx, this.state);
- this.enterRule(localctx, 50, HiveParser.RULE_orReplace);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1177;
- this.match(HiveParser.KW_OR);
- this.state = 1178;
- this.match(HiveParser.KW_REPLACE);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- orRefresh() {
- let localctx = new OrRefreshContext(this, this._ctx, this.state);
- this.enterRule(localctx, 52, HiveParser.RULE_orRefresh);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1180;
- this.match(HiveParser.KW_OR);
- this.state = 1181;
- this.match(HiveParser.KW_REFRESH);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- createDatabaseStatement() {
- let localctx = new CreateDatabaseStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 54, HiveParser.RULE_createDatabaseStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1183;
- this.match(HiveParser.KW_CREATE);
- this.state = 1184;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_DATABASE || _la === HiveParser.KW_SCHEMA)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 1186;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 30, this._ctx);
- if (la_ === 1) {
- this.state = 1185;
- this.ifNotExists();
- }
- this.state = 1188;
- this.identifier();
- this.state = 1190;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_COMMENT) {
- this.state = 1189;
- this.databaseComment();
- }
-
- this.state = 1193;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_LOCATION || _la === HiveParser.KW_MANAGED) {
- this.state = 1192;
- this.dbLocation();
- }
-
- this.state = 1198;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 33, this._ctx);
- if (la_ === 1) {
- this.state = 1195;
- this.match(HiveParser.KW_WITH);
- this.state = 1196;
- this.match(HiveParser.KW_DBPROPERTIES);
- this.state = 1197;
- this.dbProperties();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dbLocation() {
- let localctx = new DbLocationContext(this, this._ctx, this.state);
- this.enterRule(localctx, 56, HiveParser.RULE_dbLocation);
- try {
- this.state = 1205;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_MANAGED:
- this.enterOuterAlt(localctx, 1);
- this.state = 1200;
- this.match(HiveParser.KW_MANAGED);
- this.state = 1201;
- this.match(HiveParser.KW_LOCATION);
- this.state = 1202;
- this.match(HiveParser.StringLiteral);
- break;
- case HiveParser.KW_LOCATION:
- this.enterOuterAlt(localctx, 2);
- this.state = 1203;
- this.match(HiveParser.KW_LOCATION);
- this.state = 1204;
- this.match(HiveParser.StringLiteral);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dbProperties() {
- let localctx = new DbPropertiesContext(this, this._ctx, this.state);
- this.enterRule(localctx, 58, HiveParser.RULE_dbProperties);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1207;
- this.match(HiveParser.LPAREN);
- this.state = 1208;
- this.dbPropertiesList();
- this.state = 1209;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dbPropertiesList() {
- let localctx = new DbPropertiesListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 60, HiveParser.RULE_dbPropertiesList);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1211;
- this.keyValueProperty();
- this.state = 1216;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 1212;
- this.match(HiveParser.COMMA);
- this.state = 1213;
- this.keyValueProperty();
- this.state = 1218;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- switchCatalogStatement() {
- let localctx = new SwitchCatalogStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 62, HiveParser.RULE_switchCatalogStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1219;
- this.match(HiveParser.KW_USE);
- this.state = 1220;
- this.match(HiveParser.KW_CATALOG);
- this.state = 1221;
- this.identifier();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- switchDatabaseStatement() {
- let localctx = new SwitchDatabaseStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 64, HiveParser.RULE_switchDatabaseStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1223;
- this.match(HiveParser.KW_USE);
- this.state = 1224;
- this.identifier();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dropDatabaseStatement() {
- let localctx = new DropDatabaseStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 66, HiveParser.RULE_dropDatabaseStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1226;
- this.match(HiveParser.KW_DROP);
- this.state = 1227;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_DATABASE || _la === HiveParser.KW_SCHEMA)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 1229;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 36, this._ctx);
- if (la_ === 1) {
- this.state = 1228;
- this.ifExists();
- }
- this.state = 1231;
- this.identifier();
- this.state = 1233;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_RESTRICT || _la === HiveParser.KW_CASCADE) {
- this.state = 1232;
- this.restrictOrCascade();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- databaseComment() {
- let localctx = new DatabaseCommentContext(this, this._ctx, this.state);
- this.enterRule(localctx, 68, HiveParser.RULE_databaseComment);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1235;
- this.match(HiveParser.KW_COMMENT);
- this.state = 1236;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- createTableStatement() {
- let localctx = new CreateTableStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 70, HiveParser.RULE_createTableStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1238;
- this.match(HiveParser.KW_CREATE);
- this.state = 1240;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_OR) {
- this.state = 1239;
- this.orRefresh();
- }
-
- this.state = 1243;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_TEMPORARY) {
- this.state = 1242;
- this.match(HiveParser.KW_TEMPORARY);
- }
-
- this.state = 1246;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_EXTERNAL) {
- this.state = 1245;
- this.match(HiveParser.KW_EXTERNAL);
- }
-
- this.state = 1249;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_STREAMING) {
- this.state = 1248;
- this.match(HiveParser.KW_STREAMING);
- }
-
- this.state = 1251;
- this.match(HiveParser.KW_TABLE);
- this.state = 1253;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 42, this._ctx);
- if (la_ === 1) {
- this.state = 1252;
- this.ifNotExists();
- }
- this.state = 1255;
- this.tableName();
- this.state = 1305;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_LIKE:
- this.state = 1256;
- this.match(HiveParser.KW_LIKE);
- this.state = 1257;
- this.tableName();
- this.state = 1259;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ROW) {
- this.state = 1258;
- this.tableRowFormat();
- }
-
- this.state = 1262;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_STORED) {
- this.state = 1261;
- this.tableFileFormat();
- }
-
- this.state = 1265;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_USING) {
- this.state = 1264;
- this.tableUsingDataSource();
- }
-
- this.state = 1268;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_LOCATION) {
- this.state = 1267;
- this.tableLocation();
- }
-
- this.state = 1271;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_TBLPROPERTIES) {
- this.state = 1270;
- this.tablePropertiesPrefixed();
- }
-
- this.state = 1274;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_OPTIONS) {
- this.state = 1273;
- this.tableOptions();
- }
-
- break;
- case HiveParser.EOF:
- case HiveParser.KW_DESC:
- case HiveParser.KW_FROM:
- case HiveParser.KW_AS:
- case HiveParser.KW_SELECT:
- case HiveParser.KW_INSERT:
- case HiveParser.KW_SHOW:
- case HiveParser.KW_MSCK:
- case HiveParser.KW_USING:
- case HiveParser.KW_CLUSTER:
- case HiveParser.KW_LOAD:
- case HiveParser.KW_EXPORT:
- case HiveParser.KW_IMPORT:
- case HiveParser.KW_CREATE:
- case HiveParser.KW_ALTER:
- case HiveParser.KW_DESCRIBE:
- case HiveParser.KW_DROP:
- case HiveParser.KW_COMMENT:
- case HiveParser.KW_MAP:
- case HiveParser.KW_REDUCE:
- case HiveParser.KW_PARTITIONED:
- case HiveParser.KW_CLUSTERED:
- case HiveParser.KW_ROW:
- case HiveParser.KW_KILL:
- case HiveParser.KW_STORED:
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- case HiveParser.KW_LOCATION:
- case HiveParser.KW_REPLACE:
- case HiveParser.KW_EXPLAIN:
- case HiveParser.KW_WITH:
- case HiveParser.KW_SET:
- case HiveParser.KW_TBLPROPERTIES:
- case HiveParser.KW_DELETE:
- case HiveParser.KW_GRANT:
- case HiveParser.KW_REVOKE:
- case HiveParser.KW_LOCK:
- case HiveParser.KW_UNLOCK:
- case HiveParser.KW_ANALYZE:
- case HiveParser.KW_TRIGGER:
- case HiveParser.KW_USE:
- case HiveParser.KW_OPTIONS:
- case HiveParser.KW_UPDATE:
- case HiveParser.KW_SKEWED:
- case HiveParser.KW_TRUNCATE:
- case HiveParser.KW_RELOAD:
- case HiveParser.KW_START:
- case HiveParser.KW_COMMIT:
- case HiveParser.KW_ROLLBACK:
- case HiveParser.KW_ABORT:
- case HiveParser.KW_MERGE:
- case HiveParser.KW_REPL:
- case HiveParser.KW_SCHEDULE:
- case HiveParser.SEMICOLON:
- case HiveParser.LPAREN:
- this.state = 1280;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 49, this._ctx);
- if (la_ === 1) {
- this.state = 1276;
- this.match(HiveParser.LPAREN);
- this.state = 1277;
- this.columnNameTypeOrConstraintList();
- this.state = 1278;
- this.match(HiveParser.RPAREN);
- }
- this.state = 1298;
- this._errHandler.sync(this);
- var _alt = this._interp.adaptivePredict(this._input, 51, this._ctx);
- while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) {
- if (_alt === 1) {
- this.state = 1296;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 50, this._ctx);
- switch (la_) {
- case 1:
- this.state = 1282;
- this.tableUsingDataSource();
- break;
-
- case 2:
- this.state = 1283;
- this.tableBuckets();
- break;
-
- case 3:
- this.state = 1284;
- this.tableSkewed();
- break;
-
- case 4:
- this.state = 1285;
- this.tableRowFormat();
- break;
-
- case 5:
- this.state = 1286;
- this.tableFileFormat();
- break;
-
- case 6:
- this.state = 1287;
- this.tablePartition();
- break;
-
- case 7:
- this.state = 1288;
- this.tableLocation();
- break;
-
- case 8:
- this.state = 1289;
- this.tablePropertiesPrefixed();
- break;
-
- case 9:
- this.state = 1290;
- this.tableOptions();
- break;
-
- case 10:
- this.state = 1291;
- this.tableComment();
- break;
-
- case 11:
- this.state = 1292;
- this.clusterByClause();
- break;
-
- case 12:
- this.state = 1293;
- this.scheduleClause();
- break;
-
- case 13:
- this.state = 1294;
- this.rowClause();
- break;
-
- case 14:
- this.state = 1295;
- this.triggerOnUpdateClause();
- break;
- }
- }
- this.state = 1300;
- this._errHandler.sync(this);
- _alt = this._interp.adaptivePredict(this._input, 51, this._ctx);
- }
-
- this.state = 1303;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_AS) {
- this.state = 1301;
- this.match(HiveParser.KW_AS);
- this.state = 1302;
- this.selectStatementWithCTE();
- }
-
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- truncateTableStatement() {
- let localctx = new TruncateTableStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 72, HiveParser.RULE_truncateTableStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1307;
- this.match(HiveParser.KW_TRUNCATE);
- this.state = 1308;
- this.match(HiveParser.KW_TABLE);
- this.state = 1309;
- this.tablePartitionPrefix();
- this.state = 1315;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_COLUMNS) {
- this.state = 1310;
- this.match(HiveParser.KW_COLUMNS);
- this.state = 1311;
- this.match(HiveParser.LPAREN);
- this.state = 1312;
- this.columnNameList();
- this.state = 1313;
- this.match(HiveParser.RPAREN);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dropTableStatement() {
- let localctx = new DropTableStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 74, HiveParser.RULE_dropTableStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1317;
- this.match(HiveParser.KW_DROP);
- this.state = 1318;
- this.match(HiveParser.KW_TABLE);
- this.state = 1320;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 55, this._ctx);
- if (la_ === 1) {
- this.state = 1319;
- this.ifExists();
- }
- this.state = 1322;
- this.tableName();
- this.state = 1324;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_PURGE) {
- this.state = 1323;
- this.match(HiveParser.KW_PURGE);
- }
-
- this.state = 1327;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_FOR) {
- this.state = 1326;
- this.replicationClause();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tagValue() {
- let localctx = new TagValueContext(this, this._ctx, this.state);
- this.enterRule(localctx, 76, HiveParser.RULE_tagValue);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1329;
- this.match(HiveParser.EQUAL);
- this.state = 1330;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tagsPair() {
- let localctx = new TagsPairContext(this, this._ctx, this.state);
- this.enterRule(localctx, 78, HiveParser.RULE_tagsPair);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1332;
- this.match(HiveParser.StringLiteral);
- this.state = 1334;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.EQUAL) {
- this.state = 1333;
- this.tagValue();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- unityTags() {
- let localctx = new UnityTagsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 80, HiveParser.RULE_unityTags);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1336;
- this.match(HiveParser.KW_ALTER);
- this.state = 1337;
- _la = this._input.LA(1);
- if (
- !(
- _la === HiveParser.KW_TABLE ||
- _la === HiveParser.KW_VIEW ||
- _la === HiveParser.KW_SCHEMA ||
- _la === HiveParser.KW_CATALOG
- )
- ) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 1338;
- this.tableName();
- this.state = 1340;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_AS) {
- this.state = 1339;
- this.match(HiveParser.KW_AS);
- }
-
- this.state = 1345;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ALTER) {
- this.state = 1342;
- this.match(HiveParser.KW_ALTER);
- this.state = 1343;
- this.match(HiveParser.KW_COLUMN);
- this.state = 1344;
- this.identifier();
- }
-
- this.state = 1347;
- this.match(HiveParser.KW_SET);
- this.state = 1348;
- this.match(HiveParser.KW_TAGS);
- this.state = 1349;
- this.match(HiveParser.LPAREN);
- this.state = 1350;
- this.tagsPair();
- this.state = 1355;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 1351;
- this.match(HiveParser.COMMA);
- this.state = 1352;
- this.tagsPair();
- this.state = 1357;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- this.state = 1358;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatement() {
- let localctx = new AlterStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 82, HiveParser.RULE_alterStatement);
- var _la = 0; // Token type
- try {
- this.state = 1385;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 63, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 1360;
- this.match(HiveParser.KW_ALTER);
- this.state = 1361;
- this.match(HiveParser.KW_TABLE);
- this.state = 1362;
- this.tableName();
- this.state = 1363;
- this.alterTableStatementSuffix();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 1365;
- this.match(HiveParser.KW_ALTER);
- this.state = 1366;
- this.match(HiveParser.KW_VIEW);
- this.state = 1367;
- this.tableName();
- this.state = 1369;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_AS) {
- this.state = 1368;
- this.match(HiveParser.KW_AS);
- }
-
- this.state = 1371;
- this.alterViewStatementSuffix();
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 1373;
- this.match(HiveParser.KW_ALTER);
- this.state = 1374;
- this.match(HiveParser.KW_MATERIALIZED);
- this.state = 1375;
- this.match(HiveParser.KW_VIEW);
- this.state = 1376;
- this.tableName();
- this.state = 1377;
- this.alterMaterializedViewStatementSuffix();
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 1379;
- this.match(HiveParser.KW_ALTER);
- this.state = 1380;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_DATABASE || _la === HiveParser.KW_SCHEMA)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 1381;
- this.alterDatabaseStatementSuffix();
- break;
-
- case 5:
- this.enterOuterAlt(localctx, 5);
- this.state = 1382;
- this.match(HiveParser.KW_ALTER);
- this.state = 1383;
- this.match(HiveParser.KW_INDEX);
- this.state = 1384;
- this.alterIndexStatementSuffix();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterTableStatementSuffix() {
- let localctx = new AlterTableStatementSuffixContext(this, this._ctx, this.state);
- this.enterRule(localctx, 84, HiveParser.RULE_alterTableStatementSuffix);
- var _la = 0; // Token type
- try {
- this.state = 1404;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 65, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 1387;
- this.alterStatementSuffixRename();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 1388;
- this.alterStatementSuffixDropPartitions();
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 1389;
- this.alterStatementSuffixAddPartitions();
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 1390;
- this.alterStatementSuffixTouch();
- break;
-
- case 5:
- this.enterOuterAlt(localctx, 5);
- this.state = 1391;
- this.alterStatementSuffixArchive();
- break;
-
- case 6:
- this.enterOuterAlt(localctx, 6);
- this.state = 1392;
- this.alterStatementSuffixUnArchive();
- break;
-
- case 7:
- this.enterOuterAlt(localctx, 7);
- this.state = 1393;
- this.alterStatementSuffixProperties();
- break;
-
- case 8:
- this.enterOuterAlt(localctx, 8);
- this.state = 1394;
- this.alterStatementSuffixSkewedby();
- break;
-
- case 9:
- this.enterOuterAlt(localctx, 9);
- this.state = 1395;
- this.alterStatementSuffixExchangePartition();
- break;
-
- case 10:
- this.enterOuterAlt(localctx, 10);
- this.state = 1396;
- this.alterStatementPartitionKeyType();
- break;
-
- case 11:
- this.enterOuterAlt(localctx, 11);
- this.state = 1397;
- this.alterStatementSuffixDropConstraint();
- break;
-
- case 12:
- this.enterOuterAlt(localctx, 12);
- this.state = 1398;
- this.alterStatementSuffixAddConstraint();
- break;
-
- case 13:
- this.enterOuterAlt(localctx, 13);
- this.state = 1400;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_PARTITION) {
- this.state = 1399;
- this.partitionSpec();
- }
-
- this.state = 1402;
- this.alterTblPartitionStatementSuffix();
- break;
-
- case 14:
- this.enterOuterAlt(localctx, 14);
- this.state = 1403;
- this.alterStatementSuffixSetOwner();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterTblPartitionStatementSuffix() {
- let localctx = new AlterTblPartitionStatementSuffixContext(this, this._ctx, this.state);
- this.enterRule(localctx, 86, HiveParser.RULE_alterTblPartitionStatementSuffix);
- try {
- this.state = 1421;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 66, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 1406;
- this.alterStatementSuffixFileFormat();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 1407;
- this.alterStatementSuffixLocation();
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 1408;
- this.alterStatementSuffixMergeFiles();
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 1409;
- this.alterStatementSuffixSerdeProperties();
- break;
-
- case 5:
- this.enterOuterAlt(localctx, 5);
- this.state = 1410;
- this.alterStatementSuffixRenamePart();
- break;
-
- case 6:
- this.enterOuterAlt(localctx, 6);
- this.state = 1411;
- this.alterStatementSuffixBucketNum();
- break;
-
- case 7:
- this.enterOuterAlt(localctx, 7);
- this.state = 1412;
- this.alterTblPartitionStatementSuffixSkewedLocation();
- break;
-
- case 8:
- this.enterOuterAlt(localctx, 8);
- this.state = 1413;
- this.alterStatementSuffixClusterbySortby();
- break;
-
- case 9:
- this.enterOuterAlt(localctx, 9);
- this.state = 1414;
- this.alterStatementSuffixCompact();
- break;
-
- case 10:
- this.enterOuterAlt(localctx, 10);
- this.state = 1415;
- this.alterStatementSuffixUpdateStatsCol();
- break;
-
- case 11:
- this.enterOuterAlt(localctx, 11);
- this.state = 1416;
- this.alterStatementSuffixUpdateStats();
- break;
-
- case 12:
- this.enterOuterAlt(localctx, 12);
- this.state = 1417;
- this.alterStatementSuffixRenameCol();
- break;
-
- case 13:
- this.enterOuterAlt(localctx, 13);
- this.state = 1418;
- this.alterStatementSuffixAddCol();
- break;
-
- case 14:
- this.enterOuterAlt(localctx, 14);
- this.state = 1419;
- this.alterStatementSuffixUpdateColumns();
- break;
-
- case 15:
- this.enterOuterAlt(localctx, 15);
- this.state = 1420;
- this.alterStatementSuffixClusterBy();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementPartitionKeyType() {
- let localctx = new AlterStatementPartitionKeyTypeContext(this, this._ctx, this.state);
- this.enterRule(localctx, 88, HiveParser.RULE_alterStatementPartitionKeyType);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1423;
- this.match(HiveParser.KW_PARTITION);
- this.state = 1424;
- this.match(HiveParser.KW_COLUMN);
- this.state = 1425;
- this.match(HiveParser.LPAREN);
- this.state = 1426;
- this.columnNameType();
- this.state = 1427;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterViewStatementSuffix() {
- let localctx = new AlterViewStatementSuffixContext(this, this._ctx, this.state);
- this.enterRule(localctx, 90, HiveParser.RULE_alterViewStatementSuffix);
- try {
- this.state = 1434;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_SET:
- case HiveParser.KW_UNSET:
- this.enterOuterAlt(localctx, 1);
- this.state = 1429;
- this.alterViewSuffixProperties();
- break;
- case HiveParser.KW_RENAME:
- this.enterOuterAlt(localctx, 2);
- this.state = 1430;
- this.alterStatementSuffixRename();
- break;
- case HiveParser.KW_ADD:
- this.enterOuterAlt(localctx, 3);
- this.state = 1431;
- this.alterStatementSuffixAddPartitions();
- break;
- case HiveParser.KW_DROP:
- this.enterOuterAlt(localctx, 4);
- this.state = 1432;
- this.alterStatementSuffixDropPartitions();
- break;
- case HiveParser.KW_SELECT:
- case HiveParser.KW_MAP:
- case HiveParser.KW_REDUCE:
- case HiveParser.KW_WITH:
- case HiveParser.LPAREN:
- this.enterOuterAlt(localctx, 5);
- this.state = 1433;
- this.selectStatementWithCTE();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterMaterializedViewStatementSuffix() {
- let localctx = new AlterMaterializedViewStatementSuffixContext(this, this._ctx, this.state);
- this.enterRule(localctx, 92, HiveParser.RULE_alterMaterializedViewStatementSuffix);
- try {
- this.state = 1438;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- this.enterOuterAlt(localctx, 1);
- this.state = 1436;
- this.alterMaterializedViewSuffixRewrite();
- break;
- case HiveParser.KW_REBUILD:
- this.enterOuterAlt(localctx, 2);
- this.state = 1437;
- this.alterMaterializedViewSuffixRebuild();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterDatabaseStatementSuffix() {
- let localctx = new AlterDatabaseStatementSuffixContext(this, this._ctx, this.state);
- this.enterRule(localctx, 94, HiveParser.RULE_alterDatabaseStatementSuffix);
- try {
- this.state = 1443;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 69, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 1440;
- this.alterDatabaseSuffixProperties();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 1441;
- this.alterDatabaseSuffixSetOwner();
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 1442;
- this.alterDatabaseSuffixSetLocation();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterDatabaseSuffixProperties() {
- let localctx = new AlterDatabaseSuffixPropertiesContext(this, this._ctx, this.state);
- this.enterRule(localctx, 96, HiveParser.RULE_alterDatabaseSuffixProperties);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1445;
- this.identifier();
- this.state = 1446;
- this.match(HiveParser.KW_SET);
- this.state = 1447;
- this.match(HiveParser.KW_DBPROPERTIES);
- this.state = 1448;
- this.dbProperties();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterDatabaseSuffixSetOwner() {
- let localctx = new AlterDatabaseSuffixSetOwnerContext(this, this._ctx, this.state);
- this.enterRule(localctx, 98, HiveParser.RULE_alterDatabaseSuffixSetOwner);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1450;
- this.identifier();
- this.state = 1451;
- this.match(HiveParser.KW_SET);
- this.state = 1452;
- this.match(HiveParser.KW_OWNER);
- this.state = 1453;
- this.principalName();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterDatabaseSuffixSetLocation() {
- let localctx = new AlterDatabaseSuffixSetLocationContext(this, this._ctx, this.state);
- this.enterRule(localctx, 100, HiveParser.RULE_alterDatabaseSuffixSetLocation);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1455;
- this.identifier();
- this.state = 1456;
- this.match(HiveParser.KW_SET);
- this.state = 1457;
- this.match(HiveParser.KW_LOCATION);
- this.state = 1458;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixRename() {
- let localctx = new AlterStatementSuffixRenameContext(this, this._ctx, this.state);
- this.enterRule(localctx, 102, HiveParser.RULE_alterStatementSuffixRename);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1460;
- this.match(HiveParser.KW_RENAME);
- this.state = 1461;
- this.match(HiveParser.KW_TO);
- this.state = 1462;
- this.tableName();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixAddCol() {
- let localctx = new AlterStatementSuffixAddColContext(this, this._ctx, this.state);
- this.enterRule(localctx, 104, HiveParser.RULE_alterStatementSuffixAddCol);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1464;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_ADD || _la === HiveParser.KW_REPLACE)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 1465;
- this.match(HiveParser.KW_COLUMNS);
- this.state = 1466;
- this.match(HiveParser.LPAREN);
- this.state = 1467;
- this.columnNameTypeList();
- this.state = 1468;
- this.match(HiveParser.RPAREN);
- this.state = 1470;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_RESTRICT || _la === HiveParser.KW_CASCADE) {
- this.state = 1469;
- this.restrictOrCascade();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixAddConstraint() {
- let localctx = new AlterStatementSuffixAddConstraintContext(this, this._ctx, this.state);
- this.enterRule(localctx, 106, HiveParser.RULE_alterStatementSuffixAddConstraint);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1472;
- this.match(HiveParser.KW_ADD);
- this.state = 1475;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 71, this._ctx);
- switch (la_) {
- case 1:
- this.state = 1473;
- this.alterForeignKeyWithName();
- break;
-
- case 2:
- this.state = 1474;
- this.alterConstraintWithName();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixUpdateColumns() {
- let localctx = new AlterStatementSuffixUpdateColumnsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 108, HiveParser.RULE_alterStatementSuffixUpdateColumns);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1477;
- this.match(HiveParser.KW_UPDATE);
- this.state = 1478;
- this.match(HiveParser.KW_COLUMNS);
- this.state = 1480;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_RESTRICT || _la === HiveParser.KW_CASCADE) {
- this.state = 1479;
- this.restrictOrCascade();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixDropConstraint() {
- let localctx = new AlterStatementSuffixDropConstraintContext(this, this._ctx, this.state);
- this.enterRule(localctx, 110, HiveParser.RULE_alterStatementSuffixDropConstraint);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1482;
- this.match(HiveParser.KW_DROP);
- this.state = 1483;
- this.match(HiveParser.KW_CONSTRAINT);
- this.state = 1484;
- this.identifier();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixRenameCol() {
- let localctx = new AlterStatementSuffixRenameColContext(this, this._ctx, this.state);
- this.enterRule(localctx, 112, HiveParser.RULE_alterStatementSuffixRenameCol);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1486;
- this.match(HiveParser.KW_CHANGE);
- this.state = 1488;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_COLUMN) {
- this.state = 1487;
- this.match(HiveParser.KW_COLUMN);
- }
-
- this.state = 1490;
- this.identifier();
- this.state = 1491;
- this.identifier();
- this.state = 1492;
- this.colType();
- this.state = 1494;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 74, this._ctx);
- if (la_ === 1) {
- this.state = 1493;
- this.alterColumnConstraint();
- }
- this.state = 1498;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_COMMENT) {
- this.state = 1496;
- this.match(HiveParser.KW_COMMENT);
- this.state = 1497;
- this.match(HiveParser.StringLiteral);
- }
-
- this.state = 1501;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_FIRST || _la === HiveParser.KW_AFTER) {
- this.state = 1500;
- this.alterStatementChangeColPosition();
- }
-
- this.state = 1504;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_RESTRICT || _la === HiveParser.KW_CASCADE) {
- this.state = 1503;
- this.restrictOrCascade();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixUpdateStatsCol() {
- let localctx = new AlterStatementSuffixUpdateStatsColContext(this, this._ctx, this.state);
- this.enterRule(localctx, 114, HiveParser.RULE_alterStatementSuffixUpdateStatsCol);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1506;
- this.match(HiveParser.KW_UPDATE);
- this.state = 1507;
- this.match(HiveParser.KW_STATISTICS);
- this.state = 1508;
- this.match(HiveParser.KW_FOR);
- this.state = 1510;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_COLUMN) {
- this.state = 1509;
- this.match(HiveParser.KW_COLUMN);
- }
-
- this.state = 1512;
- this.identifier();
- this.state = 1513;
- this.match(HiveParser.KW_SET);
- this.state = 1514;
- this.tableProperties();
- this.state = 1517;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_COMMENT) {
- this.state = 1515;
- this.match(HiveParser.KW_COMMENT);
- this.state = 1516;
- this.match(HiveParser.StringLiteral);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixUpdateStats() {
- let localctx = new AlterStatementSuffixUpdateStatsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 116, HiveParser.RULE_alterStatementSuffixUpdateStats);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1519;
- this.match(HiveParser.KW_UPDATE);
- this.state = 1520;
- this.match(HiveParser.KW_STATISTICS);
- this.state = 1521;
- this.match(HiveParser.KW_SET);
- this.state = 1522;
- this.tableProperties();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementChangeColPosition() {
- let localctx = new AlterStatementChangeColPositionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 118, HiveParser.RULE_alterStatementChangeColPosition);
- try {
- this.state = 1527;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_FIRST:
- this.enterOuterAlt(localctx, 1);
- this.state = 1524;
- localctx.first = this.match(HiveParser.KW_FIRST);
- break;
- case HiveParser.KW_AFTER:
- this.enterOuterAlt(localctx, 2);
- this.state = 1525;
- this.match(HiveParser.KW_AFTER);
- this.state = 1526;
- this.identifier();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixAddPartitions() {
- let localctx = new AlterStatementSuffixAddPartitionsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 120, HiveParser.RULE_alterStatementSuffixAddPartitions);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1529;
- this.match(HiveParser.KW_ADD);
- this.state = 1531;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_IF) {
- this.state = 1530;
- this.ifNotExists();
- }
-
- this.state = 1534;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- do {
- this.state = 1533;
- this.alterStatementSuffixAddPartitionsElement();
- this.state = 1536;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- } while (_la === HiveParser.KW_PARTITION);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixAddPartitionsElement() {
- let localctx = new AlterStatementSuffixAddPartitionsElementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 122, HiveParser.RULE_alterStatementSuffixAddPartitionsElement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1538;
- this.partitionSpec();
- this.state = 1540;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_LOCATION) {
- this.state = 1539;
- this.partitionLocation();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixTouch() {
- let localctx = new AlterStatementSuffixTouchContext(this, this._ctx, this.state);
- this.enterRule(localctx, 124, HiveParser.RULE_alterStatementSuffixTouch);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1542;
- this.match(HiveParser.KW_TOUCH);
- this.state = 1546;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.KW_PARTITION) {
- this.state = 1543;
- this.partitionSpec();
- this.state = 1548;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixArchive() {
- let localctx = new AlterStatementSuffixArchiveContext(this, this._ctx, this.state);
- this.enterRule(localctx, 126, HiveParser.RULE_alterStatementSuffixArchive);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1549;
- this.match(HiveParser.KW_ARCHIVE);
- this.state = 1553;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.KW_PARTITION) {
- this.state = 1550;
- this.partitionSpec();
- this.state = 1555;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixUnArchive() {
- let localctx = new AlterStatementSuffixUnArchiveContext(this, this._ctx, this.state);
- this.enterRule(localctx, 128, HiveParser.RULE_alterStatementSuffixUnArchive);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1556;
- this.match(HiveParser.KW_UNARCHIVE);
- this.state = 1560;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.KW_PARTITION) {
- this.state = 1557;
- this.partitionSpec();
- this.state = 1562;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- partitionLocation() {
- let localctx = new PartitionLocationContext(this, this._ctx, this.state);
- this.enterRule(localctx, 130, HiveParser.RULE_partitionLocation);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1563;
- this.match(HiveParser.KW_LOCATION);
- this.state = 1564;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixDropPartitions() {
- let localctx = new AlterStatementSuffixDropPartitionsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 132, HiveParser.RULE_alterStatementSuffixDropPartitions);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1566;
- this.match(HiveParser.KW_DROP);
- this.state = 1568;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_IF) {
- this.state = 1567;
- this.ifExists();
- }
-
- this.state = 1570;
- this.dropPartitionSpec();
- this.state = 1575;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 1571;
- this.match(HiveParser.COMMA);
- this.state = 1572;
- this.dropPartitionSpec();
- this.state = 1577;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- this.state = 1579;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_PURGE) {
- this.state = 1578;
- this.match(HiveParser.KW_PURGE);
- }
-
- this.state = 1582;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_FOR) {
- this.state = 1581;
- this.replicationClause();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixProperties() {
- let localctx = new AlterStatementSuffixPropertiesContext(this, this._ctx, this.state);
- this.enterRule(localctx, 134, HiveParser.RULE_alterStatementSuffixProperties);
- var _la = 0; // Token type
- try {
- this.state = 1593;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_SET:
- this.enterOuterAlt(localctx, 1);
- this.state = 1584;
- this.match(HiveParser.KW_SET);
- this.state = 1585;
- this.match(HiveParser.KW_TBLPROPERTIES);
- this.state = 1586;
- this.tableProperties();
- break;
- case HiveParser.KW_UNSET:
- this.enterOuterAlt(localctx, 2);
- this.state = 1587;
- this.match(HiveParser.KW_UNSET);
- this.state = 1588;
- this.match(HiveParser.KW_TBLPROPERTIES);
- this.state = 1590;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_IF) {
- this.state = 1589;
- this.ifExists();
- }
-
- this.state = 1592;
- this.tableProperties();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterViewSuffixProperties() {
- let localctx = new AlterViewSuffixPropertiesContext(this, this._ctx, this.state);
- this.enterRule(localctx, 136, HiveParser.RULE_alterViewSuffixProperties);
- var _la = 0; // Token type
- try {
- this.state = 1604;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_SET:
- this.enterOuterAlt(localctx, 1);
- this.state = 1595;
- this.match(HiveParser.KW_SET);
- this.state = 1596;
- this.match(HiveParser.KW_TBLPROPERTIES);
- this.state = 1597;
- this.tableProperties();
- break;
- case HiveParser.KW_UNSET:
- this.enterOuterAlt(localctx, 2);
- this.state = 1598;
- this.match(HiveParser.KW_UNSET);
- this.state = 1599;
- this.match(HiveParser.KW_TBLPROPERTIES);
- this.state = 1601;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_IF) {
- this.state = 1600;
- this.ifExists();
- }
-
- this.state = 1603;
- this.tableProperties();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterMaterializedViewSuffixRewrite() {
- let localctx = new AlterMaterializedViewSuffixRewriteContext(this, this._ctx, this.state);
- this.enterRule(localctx, 138, HiveParser.RULE_alterMaterializedViewSuffixRewrite);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1608;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_ENABLE:
- this.state = 1606;
- this.rewriteEnabled();
- break;
- case HiveParser.KW_DISABLE:
- this.state = 1607;
- this.rewriteDisabled();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterMaterializedViewSuffixRebuild() {
- let localctx = new AlterMaterializedViewSuffixRebuildContext(this, this._ctx, this.state);
- this.enterRule(localctx, 140, HiveParser.RULE_alterMaterializedViewSuffixRebuild);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1610;
- this.match(HiveParser.KW_REBUILD);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixSerdeProperties() {
- let localctx = new AlterStatementSuffixSerdePropertiesContext(this, this._ctx, this.state);
- this.enterRule(localctx, 142, HiveParser.RULE_alterStatementSuffixSerdeProperties);
- try {
- this.state = 1623;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 97, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 1612;
- this.match(HiveParser.KW_SET);
- this.state = 1613;
- this.match(HiveParser.KW_SERDE);
- this.state = 1614;
- this.match(HiveParser.StringLiteral);
- this.state = 1618;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 96, this._ctx);
- if (la_ === 1) {
- this.state = 1615;
- this.match(HiveParser.KW_WITH);
- this.state = 1616;
- this.match(HiveParser.KW_SERDEPROPERTIES);
- this.state = 1617;
- this.tableProperties();
- }
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 1620;
- this.match(HiveParser.KW_SET);
- this.state = 1621;
- this.match(HiveParser.KW_SERDEPROPERTIES);
- this.state = 1622;
- this.tableProperties();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterIndexStatementSuffix() {
- let localctx = new AlterIndexStatementSuffixContext(this, this._ctx, this.state);
- this.enterRule(localctx, 144, HiveParser.RULE_alterIndexStatementSuffix);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1625;
- this.identifier();
- this.state = 1626;
- this.match(HiveParser.KW_ON);
- this.state = 1627;
- this.tableName();
- this.state = 1629;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_PARTITION) {
- this.state = 1628;
- this.partitionSpec();
- }
-
- this.state = 1631;
- this.match(HiveParser.KW_REBUILD);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixFileFormat() {
- let localctx = new AlterStatementSuffixFileFormatContext(this, this._ctx, this.state);
- this.enterRule(localctx, 146, HiveParser.RULE_alterStatementSuffixFileFormat);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1633;
- this.match(HiveParser.KW_SET);
- this.state = 1634;
- this.match(HiveParser.KW_FILEFORMAT);
- this.state = 1635;
- this.fileFormat();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixClusterbySortby() {
- let localctx = new AlterStatementSuffixClusterbySortbyContext(this, this._ctx, this.state);
- this.enterRule(localctx, 148, HiveParser.RULE_alterStatementSuffixClusterbySortby);
- try {
- this.state = 1642;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 99, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 1637;
- this.match(HiveParser.KW_NOT);
- this.state = 1638;
- this.match(HiveParser.KW_CLUSTERED);
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 1639;
- this.match(HiveParser.KW_NOT);
- this.state = 1640;
- this.match(HiveParser.KW_SORTED);
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 1641;
- this.tableBuckets();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixClusterBy() {
- let localctx = new AlterStatementSuffixClusterByContext(this, this._ctx, this.state);
- this.enterRule(localctx, 150, HiveParser.RULE_alterStatementSuffixClusterBy);
- try {
- this.state = 1648;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 100, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 1644;
- this.clusterByClause();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 1645;
- this.match(HiveParser.KW_CLUSTER);
- this.state = 1646;
- this.match(HiveParser.KW_BY);
- this.state = 1647;
- this.match(HiveParser.KW_NONE);
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterTblPartitionStatementSuffixSkewedLocation() {
- let localctx = new AlterTblPartitionStatementSuffixSkewedLocationContext(this, this._ctx, this.state);
- this.enterRule(localctx, 152, HiveParser.RULE_alterTblPartitionStatementSuffixSkewedLocation);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1650;
- this.match(HiveParser.KW_SET);
- this.state = 1651;
- this.match(HiveParser.KW_SKEWED);
- this.state = 1652;
- this.match(HiveParser.KW_LOCATION);
- this.state = 1653;
- this.skewedLocations();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- skewedLocations() {
- let localctx = new SkewedLocationsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 154, HiveParser.RULE_skewedLocations);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1655;
- this.match(HiveParser.LPAREN);
- this.state = 1656;
- this.skewedLocationsList();
- this.state = 1657;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- skewedLocationsList() {
- let localctx = new SkewedLocationsListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 156, HiveParser.RULE_skewedLocationsList);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1659;
- this.skewedLocationMap();
- this.state = 1664;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 1660;
- this.match(HiveParser.COMMA);
- this.state = 1661;
- this.skewedLocationMap();
- this.state = 1666;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- skewedLocationMap() {
- let localctx = new SkewedLocationMapContext(this, this._ctx, this.state);
- this.enterRule(localctx, 158, HiveParser.RULE_skewedLocationMap);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1667;
- this.skewedValueLocationElement();
- this.state = 1668;
- this.match(HiveParser.EQUAL);
- this.state = 1669;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixLocation() {
- let localctx = new AlterStatementSuffixLocationContext(this, this._ctx, this.state);
- this.enterRule(localctx, 160, HiveParser.RULE_alterStatementSuffixLocation);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1671;
- this.match(HiveParser.KW_SET);
- this.state = 1672;
- this.match(HiveParser.KW_LOCATION);
- this.state = 1673;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixSkewedby() {
- let localctx = new AlterStatementSuffixSkewedbyContext(this, this._ctx, this.state);
- this.enterRule(localctx, 162, HiveParser.RULE_alterStatementSuffixSkewedby);
- try {
- this.state = 1680;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 102, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 1675;
- this.tableSkewed();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 1676;
- this.match(HiveParser.KW_NOT);
- this.state = 1677;
- this.match(HiveParser.KW_SKEWED);
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 1678;
- this.match(HiveParser.KW_NOT);
- this.state = 1679;
- this.storedAsDirs();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixExchangePartition() {
- let localctx = new AlterStatementSuffixExchangePartitionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 164, HiveParser.RULE_alterStatementSuffixExchangePartition);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1682;
- this.match(HiveParser.KW_EXCHANGE);
- this.state = 1683;
- this.partitionSpec();
- this.state = 1684;
- this.match(HiveParser.KW_WITH);
- this.state = 1685;
- this.match(HiveParser.KW_TABLE);
- this.state = 1686;
- this.tableName();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixRenamePart() {
- let localctx = new AlterStatementSuffixRenamePartContext(this, this._ctx, this.state);
- this.enterRule(localctx, 166, HiveParser.RULE_alterStatementSuffixRenamePart);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1688;
- this.match(HiveParser.KW_RENAME);
- this.state = 1689;
- this.match(HiveParser.KW_TO);
- this.state = 1690;
- this.partitionSpec();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixStatsPart() {
- let localctx = new AlterStatementSuffixStatsPartContext(this, this._ctx, this.state);
- this.enterRule(localctx, 168, HiveParser.RULE_alterStatementSuffixStatsPart);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1692;
- this.match(HiveParser.KW_UPDATE);
- this.state = 1693;
- this.match(HiveParser.KW_STATISTICS);
- this.state = 1694;
- this.match(HiveParser.KW_FOR);
- this.state = 1696;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_COLUMN) {
- this.state = 1695;
- this.match(HiveParser.KW_COLUMN);
- }
-
- this.state = 1698;
- this.identifier();
- this.state = 1699;
- this.match(HiveParser.KW_SET);
- this.state = 1700;
- this.tableProperties();
- this.state = 1703;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_COMMENT) {
- this.state = 1701;
- this.match(HiveParser.KW_COMMENT);
- this.state = 1702;
- this.match(HiveParser.StringLiteral);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixMergeFiles() {
- let localctx = new AlterStatementSuffixMergeFilesContext(this, this._ctx, this.state);
- this.enterRule(localctx, 170, HiveParser.RULE_alterStatementSuffixMergeFiles);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1705;
- this.match(HiveParser.KW_CONCATENATE);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixBucketNum() {
- let localctx = new AlterStatementSuffixBucketNumContext(this, this._ctx, this.state);
- this.enterRule(localctx, 172, HiveParser.RULE_alterStatementSuffixBucketNum);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1707;
- this.match(HiveParser.KW_INTO);
- this.state = 1708;
- this.match(HiveParser.Number);
- this.state = 1709;
- this.match(HiveParser.KW_BUCKETS);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- createIndexStatement() {
- let localctx = new CreateIndexStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 174, HiveParser.RULE_createIndexStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1711;
- this.createIndexMainStatement();
- this.state = 1715;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 105, this._ctx);
- if (la_ === 1) {
- this.state = 1712;
- this.match(HiveParser.KW_WITH);
- this.state = 1713;
- this.match(HiveParser.KW_DEFERRED);
- this.state = 1714;
- this.match(HiveParser.KW_REBUILD);
- }
- this.state = 1719;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_IDXPROPERTIES) {
- this.state = 1717;
- this.match(HiveParser.KW_IDXPROPERTIES);
- this.state = 1718;
- this.tableProperties();
- }
-
- this.state = 1724;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_IN) {
- this.state = 1721;
- this.match(HiveParser.KW_IN);
- this.state = 1722;
- this.match(HiveParser.KW_TABLE);
- this.state = 1723;
- this.tableName();
- }
-
- this.state = 1729;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_PARTITIONED) {
- this.state = 1726;
- this.match(HiveParser.KW_PARTITIONED);
- this.state = 1727;
- this.match(HiveParser.KW_BY);
- this.state = 1728;
- this.columnParenthesesList();
- }
-
- this.state = 1735;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ROW || _la === HiveParser.KW_STORED) {
- this.state = 1732;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ROW) {
- this.state = 1731;
- this.tableRowFormat();
- }
-
- this.state = 1734;
- this.tableFileFormat();
- }
-
- this.state = 1739;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_LOCATION) {
- this.state = 1737;
- this.match(HiveParser.KW_LOCATION);
- this.state = 1738;
- this.poolPath();
- }
-
- this.state = 1742;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_TBLPROPERTIES) {
- this.state = 1741;
- this.tablePropertiesPrefixed();
- }
-
- this.state = 1745;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_COMMENT) {
- this.state = 1744;
- this.tableComment();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- createIndexMainStatement() {
- let localctx = new CreateIndexMainStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 176, HiveParser.RULE_createIndexMainStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1747;
- this.match(HiveParser.KW_CREATE);
- this.state = 1748;
- this.match(HiveParser.KW_INDEX);
- this.state = 1749;
- this.identifier();
- this.state = 1750;
- this.match(HiveParser.KW_ON);
- this.state = 1751;
- this.match(HiveParser.KW_TABLE);
- this.state = 1752;
- this.tableName();
- this.state = 1753;
- this.columnParenthesesList();
- this.state = 1754;
- this.match(HiveParser.KW_AS);
- this.state = 1755;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dropIndexStatement() {
- let localctx = new DropIndexStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 178, HiveParser.RULE_dropIndexStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1757;
- this.match(HiveParser.KW_DROP);
- this.state = 1758;
- this.match(HiveParser.KW_INDEX);
- this.state = 1759;
- this.identifier();
- this.state = 1760;
- this.match(HiveParser.KW_ON);
- this.state = 1761;
- this.tableName();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- createBloomfilterIndexStatement() {
- let localctx = new CreateBloomfilterIndexStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 180, HiveParser.RULE_createBloomfilterIndexStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1763;
- this.createBloomfilterIndexMainStatement();
- this.state = 1767;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_FOR) {
- this.state = 1764;
- this.match(HiveParser.KW_FOR);
- this.state = 1765;
- this.match(HiveParser.KW_COLUMNS);
- this.state = 1766;
- this.bloomfilterColumnParenthesesList();
- }
-
- this.state = 1770;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_OPTIONS) {
- this.state = 1769;
- this.bloomfilterIndexOptions();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- createBloomfilterIndexMainStatement() {
- let localctx = new CreateBloomfilterIndexMainStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 182, HiveParser.RULE_createBloomfilterIndexMainStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1772;
- this.match(HiveParser.KW_CREATE);
- this.state = 1773;
- this.match(HiveParser.KW_BLOOMFILTER);
- this.state = 1774;
- this.match(HiveParser.KW_INDEX);
- this.state = 1775;
- this.match(HiveParser.KW_ON);
- this.state = 1777;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 116, this._ctx);
- if (la_ === 1) {
- this.state = 1776;
- this.match(HiveParser.KW_TABLE);
- }
- this.state = 1779;
- this.tableName();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- bloomfilterColumnParenthesesList() {
- let localctx = new BloomfilterColumnParenthesesListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 184, HiveParser.RULE_bloomfilterColumnParenthesesList);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1781;
- this.match(HiveParser.LPAREN);
- this.state = 1782;
- this.bloomfilterColumnNameList();
- this.state = 1783;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- bloomfilterColumnNameList() {
- let localctx = new BloomfilterColumnNameListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 186, HiveParser.RULE_bloomfilterColumnNameList);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1785;
- this.bloomfilterColumnName();
- this.state = 1790;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 1786;
- this.match(HiveParser.COMMA);
- this.state = 1787;
- this.bloomfilterColumnName();
- this.state = 1792;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- bloomfilterColumnName() {
- let localctx = new BloomfilterColumnNameContext(this, this._ctx, this.state);
- this.enterRule(localctx, 188, HiveParser.RULE_bloomfilterColumnName);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1793;
- this.identifier();
- this.state = 1795;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_OPTIONS) {
- this.state = 1794;
- this.bloomfilterIndexOptions();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- bloomfilterIndexOptions() {
- let localctx = new BloomfilterIndexOptionsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 190, HiveParser.RULE_bloomfilterIndexOptions);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1797;
- this.match(HiveParser.KW_OPTIONS);
- this.state = 1798;
- this.tableProperties();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dropBloomfilterIndexStatement() {
- let localctx = new DropBloomfilterIndexStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 192, HiveParser.RULE_dropBloomfilterIndexStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1800;
- this.dropBloomfilterIndexMainStatement();
- this.state = 1804;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_FOR) {
- this.state = 1801;
- this.match(HiveParser.KW_FOR);
- this.state = 1802;
- this.match(HiveParser.KW_COLUMNS);
- this.state = 1803;
- this.bloomfilterColumnParenthesesList();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dropBloomfilterIndexMainStatement() {
- let localctx = new DropBloomfilterIndexMainStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 194, HiveParser.RULE_dropBloomfilterIndexMainStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1806;
- this.match(HiveParser.KW_DROP);
- this.state = 1807;
- this.match(HiveParser.KW_BLOOMFILTER);
- this.state = 1808;
- this.match(HiveParser.KW_INDEX);
- this.state = 1809;
- this.match(HiveParser.KW_ON);
- this.state = 1811;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 120, this._ctx);
- if (la_ === 1) {
- this.state = 1810;
- this.match(HiveParser.KW_TABLE);
- }
- this.state = 1813;
- this.tableName();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tablePartitionPrefix() {
- let localctx = new TablePartitionPrefixContext(this, this._ctx, this.state);
- this.enterRule(localctx, 196, HiveParser.RULE_tablePartitionPrefix);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1815;
- this.tableName();
- this.state = 1817;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_PARTITION) {
- this.state = 1816;
- this.partitionSpec();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- blocking() {
- let localctx = new BlockingContext(this, this._ctx, this.state);
- this.enterRule(localctx, 198, HiveParser.RULE_blocking);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1819;
- this.match(HiveParser.KW_AND);
- this.state = 1820;
- this.match(HiveParser.KW_WAIT);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixCompact() {
- let localctx = new AlterStatementSuffixCompactContext(this, this._ctx, this.state);
- this.enterRule(localctx, 200, HiveParser.RULE_alterStatementSuffixCompact);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1822;
- this.match(HiveParser.KW_COMPACT);
- this.state = 1823;
- this.match(HiveParser.StringLiteral);
- this.state = 1825;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_AND) {
- this.state = 1824;
- this.blocking();
- }
-
- this.state = 1831;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 123, this._ctx);
- if (la_ === 1) {
- this.state = 1827;
- this.match(HiveParser.KW_WITH);
- this.state = 1828;
- this.match(HiveParser.KW_OVERWRITE);
- this.state = 1829;
- this.match(HiveParser.KW_TBLPROPERTIES);
- this.state = 1830;
- this.tableProperties();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterStatementSuffixSetOwner() {
- let localctx = new AlterStatementSuffixSetOwnerContext(this, this._ctx, this.state);
- this.enterRule(localctx, 202, HiveParser.RULE_alterStatementSuffixSetOwner);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1833;
- this.match(HiveParser.KW_SET);
- this.state = 1834;
- this.match(HiveParser.KW_OWNER);
- this.state = 1835;
- this.principalName();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- fileFormat() {
- let localctx = new FileFormatContext(this, this._ctx, this.state);
- this.enterRule(localctx, 204, HiveParser.RULE_fileFormat);
- var _la = 0; // Token type
- try {
- this.state = 1850;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_INPUTFORMAT:
- this.enterOuterAlt(localctx, 1);
- this.state = 1837;
- this.match(HiveParser.KW_INPUTFORMAT);
- this.state = 1838;
- this.match(HiveParser.StringLiteral);
- this.state = 1839;
- this.match(HiveParser.KW_OUTPUTFORMAT);
- this.state = 1840;
- this.match(HiveParser.StringLiteral);
- this.state = 1841;
- this.match(HiveParser.KW_SERDE);
- this.state = 1842;
- this.match(HiveParser.StringLiteral);
- this.state = 1847;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_INPUTDRIVER) {
- this.state = 1843;
- this.match(HiveParser.KW_INPUTDRIVER);
- this.state = 1844;
- this.match(HiveParser.StringLiteral);
- this.state = 1845;
- this.match(HiveParser.KW_OUTPUTDRIVER);
- this.state = 1846;
- this.match(HiveParser.StringLiteral);
- }
-
- break;
- case HiveParser.KW_SEQUENCEFILE:
- case HiveParser.KW_TEXTFILE:
- case HiveParser.KW_RCFILE:
- case HiveParser.KW_ORC:
- case HiveParser.KW_PARQUET:
- case HiveParser.KW_AVRO:
- case HiveParser.KW_JSONFILE:
- this.enterOuterAlt(localctx, 2);
- this.state = 1849;
- this.tableFileFormatStoredAsFormat();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- inputFileFormat() {
- let localctx = new InputFileFormatContext(this, this._ctx, this.state);
- this.enterRule(localctx, 206, HiveParser.RULE_inputFileFormat);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1852;
- this.match(HiveParser.KW_INPUTFORMAT);
- this.state = 1853;
- this.match(HiveParser.StringLiteral);
- this.state = 1854;
- this.match(HiveParser.KW_SERDE);
- this.state = 1855;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tabTypeExpr() {
- let localctx = new TabTypeExprContext(this, this._ctx, this.state);
- this.enterRule(localctx, 208, HiveParser.RULE_tabTypeExpr);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1857;
- this.identifier();
- this.state = 1860;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.DOT) {
- this.state = 1858;
- this.match(HiveParser.DOT);
- this.state = 1859;
- this.identifier();
- }
-
- this.state = 1875;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 129, this._ctx);
- if (la_ === 1) {
- this.state = 1862;
- this.identifier();
- this.state = 1872;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.DOT) {
- this.state = 1863;
- this.match(HiveParser.DOT);
- this.state = 1868;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 127, this._ctx);
- switch (la_) {
- case 1:
- this.state = 1864;
- this.match(HiveParser.KW_ELEM_TYPE);
- break;
-
- case 2:
- this.state = 1865;
- this.match(HiveParser.KW_KEY_TYPE);
- break;
-
- case 3:
- this.state = 1866;
- this.match(HiveParser.KW_VALUE_TYPE);
- break;
-
- case 4:
- this.state = 1867;
- this.identifier();
- break;
- }
- this.state = 1874;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- partTypeExpr() {
- let localctx = new PartTypeExprContext(this, this._ctx, this.state);
- this.enterRule(localctx, 210, HiveParser.RULE_partTypeExpr);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1877;
- this.tabTypeExpr();
- this.state = 1879;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_PARTITION) {
- this.state = 1878;
- this.partitionSpec();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tabPartColTypeExpr() {
- let localctx = new TabPartColTypeExprContext(this, this._ctx, this.state);
- this.enterRule(localctx, 212, HiveParser.RULE_tabPartColTypeExpr);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1881;
- this.tableName();
- this.state = 1883;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_PARTITION) {
- this.state = 1882;
- this.partitionSpec();
- }
-
- this.state = 1886;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 132, this._ctx);
- if (la_ === 1) {
- this.state = 1885;
- this.extColumnName();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- descStatement() {
- let localctx = new DescStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 214, HiveParser.RULE_descStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1888;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_DESC || _la === HiveParser.KW_DESCRIBE)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 1902;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 135, this._ctx);
- switch (la_) {
- case 1:
- this.state = 1889;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_DATABASE || _la === HiveParser.KW_SCHEMA)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 1891;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_EXTENDED) {
- this.state = 1890;
- this.match(HiveParser.KW_EXTENDED);
- }
-
- this.state = 1893;
- this.identifier();
- break;
-
- case 2:
- this.state = 1894;
- this.match(HiveParser.KW_FUNCTION);
- this.state = 1896;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_EXTENDED) {
- this.state = 1895;
- this.match(HiveParser.KW_EXTENDED);
- }
-
- this.state = 1898;
- this.descFuncNames();
- break;
-
- case 3:
- this.state = 1899;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_EXTENDED || _la === HiveParser.KW_FORMATTED)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 1900;
- this.tabPartColTypeExpr();
- break;
-
- case 4:
- this.state = 1901;
- this.tabPartColTypeExpr();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- analyzeStatement() {
- let localctx = new AnalyzeStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 216, HiveParser.RULE_analyzeStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 1904;
- this.match(HiveParser.KW_ANALYZE);
- this.state = 1905;
- this.match(HiveParser.KW_TABLE);
-
- this.state = 1906;
- this.tableOrPartition();
- this.state = 1919;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_COMPUTE:
- this.state = 1907;
- this.match(HiveParser.KW_COMPUTE);
- this.state = 1908;
- this.match(HiveParser.KW_STATISTICS);
- this.state = 1915;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_NOSCAN:
- this.state = 1909;
- this.match(HiveParser.KW_NOSCAN);
- break;
- case HiveParser.KW_FOR:
- this.state = 1910;
- this.match(HiveParser.KW_FOR);
- this.state = 1911;
- this.match(HiveParser.KW_COLUMNS);
- this.state = 1913;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 136, this._ctx);
- if (la_ === 1) {
- this.state = 1912;
- this.columnNameList();
- }
- break;
- case HiveParser.EOF:
- case HiveParser.KW_DESC:
- case HiveParser.KW_FROM:
- case HiveParser.KW_SELECT:
- case HiveParser.KW_INSERT:
- case HiveParser.KW_SHOW:
- case HiveParser.KW_MSCK:
- case HiveParser.KW_LOAD:
- case HiveParser.KW_EXPORT:
- case HiveParser.KW_IMPORT:
- case HiveParser.KW_CREATE:
- case HiveParser.KW_ALTER:
- case HiveParser.KW_DESCRIBE:
- case HiveParser.KW_DROP:
- case HiveParser.KW_MAP:
- case HiveParser.KW_REDUCE:
- case HiveParser.KW_KILL:
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- case HiveParser.KW_REPLACE:
- case HiveParser.KW_EXPLAIN:
- case HiveParser.KW_WITH:
- case HiveParser.KW_SET:
- case HiveParser.KW_DELETE:
- case HiveParser.KW_GRANT:
- case HiveParser.KW_REVOKE:
- case HiveParser.KW_LOCK:
- case HiveParser.KW_UNLOCK:
- case HiveParser.KW_ANALYZE:
- case HiveParser.KW_USE:
- case HiveParser.KW_UPDATE:
- case HiveParser.KW_TRUNCATE:
- case HiveParser.KW_RELOAD:
- case HiveParser.KW_START:
- case HiveParser.KW_COMMIT:
- case HiveParser.KW_ROLLBACK:
- case HiveParser.KW_ABORT:
- case HiveParser.KW_MERGE:
- case HiveParser.KW_REPL:
- case HiveParser.SEMICOLON:
- case HiveParser.LPAREN:
- break;
- default:
- break;
- }
- break;
- case HiveParser.KW_CACHE:
- this.state = 1917;
- this.match(HiveParser.KW_CACHE);
- this.state = 1918;
- this.match(HiveParser.KW_METADATA);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- showStatement() {
- let localctx = new ShowStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 218, HiveParser.RULE_showStatement);
- var _la = 0; // Token type
- try {
- this.state = 2044;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 159, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 1921;
- this.match(HiveParser.KW_SHOW);
- this.state = 1922;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_DATABASES || _la === HiveParser.KW_SCHEMAS)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 1925;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_LIKE) {
- this.state = 1923;
- this.match(HiveParser.KW_LIKE);
- this.state = 1924;
- this.showStmtIdentifier();
- }
-
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 1927;
- this.match(HiveParser.KW_SHOW);
- this.state = 1928;
- this.match(HiveParser.KW_TABLES);
- this.state = 1931;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 140, this._ctx);
- if (la_ === 1) {
- this.state = 1929;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_FROM || _la === HiveParser.KW_IN)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 1930;
- this.identifier();
- }
- this.state = 1936;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 141, this._ctx);
- if (la_ === 1) {
- this.state = 1933;
- this.match(HiveParser.KW_LIKE);
- this.state = 1934;
- this.showStmtIdentifier();
- } else if (la_ === 2) {
- this.state = 1935;
- this.showStmtIdentifier();
- }
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 1938;
- this.match(HiveParser.KW_SHOW);
- this.state = 1939;
- this.match(HiveParser.KW_VIEWS);
- this.state = 1942;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 142, this._ctx);
- if (la_ === 1) {
- this.state = 1940;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_FROM || _la === HiveParser.KW_IN)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 1941;
- this.identifier();
- }
- this.state = 1947;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 143, this._ctx);
- if (la_ === 1) {
- this.state = 1944;
- this.match(HiveParser.KW_LIKE);
- this.state = 1945;
- this.showStmtIdentifier();
- } else if (la_ === 2) {
- this.state = 1946;
- this.showStmtIdentifier();
- }
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 1949;
- this.match(HiveParser.KW_SHOW);
- this.state = 1950;
- this.match(HiveParser.KW_MATERIALIZED);
- this.state = 1951;
- this.match(HiveParser.KW_VIEWS);
- this.state = 1954;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 144, this._ctx);
- if (la_ === 1) {
- this.state = 1952;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_FROM || _la === HiveParser.KW_IN)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 1953;
- this.identifier();
- }
- this.state = 1959;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 145, this._ctx);
- if (la_ === 1) {
- this.state = 1956;
- this.match(HiveParser.KW_LIKE);
- this.state = 1957;
- this.showStmtIdentifier();
- } else if (la_ === 2) {
- this.state = 1958;
- this.showStmtIdentifier();
- }
- break;
-
- case 5:
- this.enterOuterAlt(localctx, 5);
- this.state = 1961;
- this.match(HiveParser.KW_SHOW);
- this.state = 1962;
- this.match(HiveParser.KW_COLUMNS);
- this.state = 1963;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_FROM || _la === HiveParser.KW_IN)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 1964;
- this.tableName();
- this.state = 1967;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 146, this._ctx);
- if (la_ === 1) {
- this.state = 1965;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_FROM || _la === HiveParser.KW_IN)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 1966;
- this.identifier();
- }
- this.state = 1972;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 147, this._ctx);
- if (la_ === 1) {
- this.state = 1969;
- this.match(HiveParser.KW_LIKE);
- this.state = 1970;
- this.showStmtIdentifier();
- } else if (la_ === 2) {
- this.state = 1971;
- this.showStmtIdentifier();
- }
- break;
-
- case 6:
- this.enterOuterAlt(localctx, 6);
- this.state = 1974;
- this.match(HiveParser.KW_SHOW);
- this.state = 1975;
- this.match(HiveParser.KW_FUNCTIONS);
- this.state = 1979;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 148, this._ctx);
- if (la_ === 1) {
- this.state = 1976;
- this.match(HiveParser.KW_LIKE);
- this.state = 1977;
- this.showFunctionIdentifier();
- } else if (la_ === 2) {
- this.state = 1978;
- this.showFunctionIdentifier();
- }
- break;
-
- case 7:
- this.enterOuterAlt(localctx, 7);
- this.state = 1981;
- this.match(HiveParser.KW_SHOW);
- this.state = 1982;
- this.match(HiveParser.KW_PARTITIONS);
- this.state = 1983;
- this.tableName();
- this.state = 1985;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_PARTITION) {
- this.state = 1984;
- this.partitionSpec();
- }
-
- break;
-
- case 8:
- this.enterOuterAlt(localctx, 8);
- this.state = 1987;
- this.match(HiveParser.KW_SHOW);
- this.state = 1988;
- this.match(HiveParser.KW_CREATE);
- this.state = 1993;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_DATABASE:
- case HiveParser.KW_SCHEMA:
- this.state = 1989;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_DATABASE || _la === HiveParser.KW_SCHEMA)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 1990;
- this.identifier();
- break;
- case HiveParser.KW_TABLE:
- this.state = 1991;
- this.match(HiveParser.KW_TABLE);
- this.state = 1992;
- this.tableName();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- break;
-
- case 9:
- this.enterOuterAlt(localctx, 9);
- this.state = 1995;
- this.match(HiveParser.KW_SHOW);
- this.state = 1996;
- this.match(HiveParser.KW_TABLE);
- this.state = 1997;
- this.match(HiveParser.KW_EXTENDED);
- this.state = 2000;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_FROM || _la === HiveParser.KW_IN) {
- this.state = 1998;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_FROM || _la === HiveParser.KW_IN)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 1999;
- this.identifier();
- }
-
- this.state = 2002;
- this.match(HiveParser.KW_LIKE);
- this.state = 2003;
- this.showStmtIdentifier();
- this.state = 2005;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_PARTITION) {
- this.state = 2004;
- this.partitionSpec();
- }
-
- break;
-
- case 10:
- this.enterOuterAlt(localctx, 10);
- this.state = 2007;
- this.match(HiveParser.KW_SHOW);
- this.state = 2008;
- this.match(HiveParser.KW_TBLPROPERTIES);
- this.state = 2009;
- this.tableName();
- this.state = 2013;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 153, this._ctx);
- if (la_ === 1) {
- this.state = 2010;
- this.match(HiveParser.LPAREN);
- this.state = 2011;
- this.match(HiveParser.StringLiteral);
- this.state = 2012;
- this.match(HiveParser.RPAREN);
- }
- break;
-
- case 11:
- this.enterOuterAlt(localctx, 11);
- this.state = 2015;
- this.match(HiveParser.KW_SHOW);
- this.state = 2016;
- this.match(HiveParser.KW_LOCKS);
- this.state = 2028;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 157, this._ctx);
- switch (la_) {
- case 1:
- this.state = 2017;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_DATABASE || _la === HiveParser.KW_SCHEMA)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 2018;
- this.identifier();
- this.state = 2020;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_EXTENDED) {
- this.state = 2019;
- this.match(HiveParser.KW_EXTENDED);
- }
-
- break;
-
- case 2:
- this.state = 2023;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 155, this._ctx);
- if (la_ === 1) {
- this.state = 2022;
- this.partTypeExpr();
- }
- this.state = 2026;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_EXTENDED) {
- this.state = 2025;
- this.match(HiveParser.KW_EXTENDED);
- }
-
- break;
- }
- break;
-
- case 12:
- this.enterOuterAlt(localctx, 12);
- this.state = 2030;
- this.match(HiveParser.KW_SHOW);
- this.state = 2031;
- this.match(HiveParser.KW_COMPACTIONS);
- break;
-
- case 13:
- this.enterOuterAlt(localctx, 13);
- this.state = 2032;
- this.match(HiveParser.KW_SHOW);
- this.state = 2033;
- this.match(HiveParser.KW_TRANSACTIONS);
- break;
-
- case 14:
- this.enterOuterAlt(localctx, 14);
- this.state = 2034;
- this.match(HiveParser.KW_SHOW);
- this.state = 2035;
- this.match(HiveParser.KW_CONF);
- this.state = 2036;
- this.match(HiveParser.StringLiteral);
- break;
-
- case 15:
- this.enterOuterAlt(localctx, 15);
- this.state = 2037;
- this.match(HiveParser.KW_SHOW);
- this.state = 2038;
- this.match(HiveParser.KW_RESOURCE);
- this.state = 2042;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_PLAN:
- this.state = 2039;
- this.match(HiveParser.KW_PLAN);
- this.state = 2040;
- this.identifier();
- break;
- case HiveParser.KW_PLANS:
- this.state = 2041;
- this.match(HiveParser.KW_PLANS);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- lockStatement() {
- let localctx = new LockStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 220, HiveParser.RULE_lockStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2046;
- this.match(HiveParser.KW_LOCK);
- this.state = 2047;
- this.match(HiveParser.KW_TABLE);
- this.state = 2048;
- this.tableName();
- this.state = 2050;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_PARTITION) {
- this.state = 2049;
- this.partitionSpec();
- }
-
- this.state = 2052;
- this.lockMode();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- lockDatabase() {
- let localctx = new LockDatabaseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 222, HiveParser.RULE_lockDatabase);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2054;
- this.match(HiveParser.KW_LOCK);
- this.state = 2055;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_DATABASE || _la === HiveParser.KW_SCHEMA)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 2056;
- this.identifier();
- this.state = 2057;
- this.lockMode();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- lockMode() {
- let localctx = new LockModeContext(this, this._ctx, this.state);
- this.enterRule(localctx, 224, HiveParser.RULE_lockMode);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2059;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_SHARED || _la === HiveParser.KW_EXCLUSIVE)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- unlockStatement() {
- let localctx = new UnlockStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 226, HiveParser.RULE_unlockStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2061;
- this.match(HiveParser.KW_UNLOCK);
- this.state = 2062;
- this.match(HiveParser.KW_TABLE);
- this.state = 2063;
- this.tableName();
- this.state = 2065;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_PARTITION) {
- this.state = 2064;
- this.partitionSpec();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- unlockDatabase() {
- let localctx = new UnlockDatabaseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 228, HiveParser.RULE_unlockDatabase);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2067;
- this.match(HiveParser.KW_UNLOCK);
- this.state = 2068;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_DATABASE || _la === HiveParser.KW_SCHEMA)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 2069;
- this.identifier();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- createRoleStatement() {
- let localctx = new CreateRoleStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 230, HiveParser.RULE_createRoleStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2071;
- this.match(HiveParser.KW_CREATE);
- this.state = 2072;
- this.match(HiveParser.KW_ROLE);
- this.state = 2073;
- this.identifier();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dropRoleStatement() {
- let localctx = new DropRoleStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 232, HiveParser.RULE_dropRoleStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2075;
- this.match(HiveParser.KW_DROP);
- this.state = 2076;
- this.match(HiveParser.KW_ROLE);
- this.state = 2077;
- this.identifier();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- grantPrivileges() {
- let localctx = new GrantPrivilegesContext(this, this._ctx, this.state);
- this.enterRule(localctx, 234, HiveParser.RULE_grantPrivileges);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2079;
- this.match(HiveParser.KW_GRANT);
- this.state = 2080;
- this.privilegeList();
- this.state = 2082;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ON) {
- this.state = 2081;
- this.privilegeObject();
- }
-
- this.state = 2084;
- this.match(HiveParser.KW_TO);
- this.state = 2085;
- this.principalSpecification();
- this.state = 2087;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 163, this._ctx);
- if (la_ === 1) {
- this.state = 2086;
- this.withGrantOption();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- revokePrivileges() {
- let localctx = new RevokePrivilegesContext(this, this._ctx, this.state);
- this.enterRule(localctx, 236, HiveParser.RULE_revokePrivileges);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2089;
- this.match(HiveParser.KW_REVOKE);
- this.state = 2091;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_GRANT) {
- this.state = 2090;
- this.grantOptionFor();
- }
-
- this.state = 2093;
- this.privilegeList();
- this.state = 2095;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ON) {
- this.state = 2094;
- this.privilegeObject();
- }
-
- this.state = 2097;
- this.match(HiveParser.KW_FROM);
- this.state = 2098;
- this.principalSpecification();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- grantRole() {
- let localctx = new GrantRoleContext(this, this._ctx, this.state);
- this.enterRule(localctx, 238, HiveParser.RULE_grantRole);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2100;
- this.match(HiveParser.KW_GRANT);
- this.state = 2102;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 166, this._ctx);
- if (la_ === 1) {
- this.state = 2101;
- this.match(HiveParser.KW_ROLE);
- }
- this.state = 2104;
- this.identifier();
- this.state = 2109;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 2105;
- this.match(HiveParser.COMMA);
- this.state = 2106;
- this.identifier();
- this.state = 2111;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- this.state = 2112;
- this.match(HiveParser.KW_TO);
- this.state = 2113;
- this.principalSpecification();
- this.state = 2115;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 168, this._ctx);
- if (la_ === 1) {
- this.state = 2114;
- this.withAdminOption();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- revokeRole() {
- let localctx = new RevokeRoleContext(this, this._ctx, this.state);
- this.enterRule(localctx, 240, HiveParser.RULE_revokeRole);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2117;
- this.match(HiveParser.KW_REVOKE);
- this.state = 2119;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 169, this._ctx);
- if (la_ === 1) {
- this.state = 2118;
- this.adminOptionFor();
- }
- this.state = 2122;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 170, this._ctx);
- if (la_ === 1) {
- this.state = 2121;
- this.match(HiveParser.KW_ROLE);
- }
- this.state = 2124;
- this.identifier();
- this.state = 2129;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 2125;
- this.match(HiveParser.COMMA);
- this.state = 2126;
- this.identifier();
- this.state = 2131;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- this.state = 2132;
- this.match(HiveParser.KW_FROM);
- this.state = 2133;
- this.principalSpecification();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- showRoleGrants() {
- let localctx = new ShowRoleGrantsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 242, HiveParser.RULE_showRoleGrants);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2135;
- this.match(HiveParser.KW_SHOW);
- this.state = 2136;
- this.match(HiveParser.KW_ROLE);
- this.state = 2137;
- this.match(HiveParser.KW_GRANT);
- this.state = 2138;
- this.principalName();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- showRoles() {
- let localctx = new ShowRolesContext(this, this._ctx, this.state);
- this.enterRule(localctx, 244, HiveParser.RULE_showRoles);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2140;
- this.match(HiveParser.KW_SHOW);
- this.state = 2141;
- this.match(HiveParser.KW_ROLES);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- showCurrentRole() {
- let localctx = new ShowCurrentRoleContext(this, this._ctx, this.state);
- this.enterRule(localctx, 246, HiveParser.RULE_showCurrentRole);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2143;
- this.match(HiveParser.KW_SHOW);
- this.state = 2144;
- this.match(HiveParser.KW_CURRENT);
- this.state = 2145;
- this.match(HiveParser.KW_ROLES);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- setRole() {
- let localctx = new SetRoleContext(this, this._ctx, this.state);
- this.enterRule(localctx, 248, HiveParser.RULE_setRole);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2147;
- this.match(HiveParser.KW_SET);
- this.state = 2148;
- this.match(HiveParser.KW_ROLE);
- this.state = 2152;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_ALL:
- this.state = 2149;
- this.match(HiveParser.KW_ALL);
- break;
- case HiveParser.KW_NONE:
- this.state = 2150;
- this.match(HiveParser.KW_NONE);
- break;
- case HiveParser.KW_IF:
- case HiveParser.KW_ASC:
- case HiveParser.KW_DESC:
- case HiveParser.KW_NULLS:
- case HiveParser.KW_LAST:
- case HiveParser.KW_OVERWRITE:
- case HiveParser.KW_PARTITIONS:
- case HiveParser.KW_TABLE:
- case HiveParser.KW_TABLES:
- case HiveParser.KW_COLUMNS:
- case HiveParser.KW_INDEX:
- case HiveParser.KW_INDEXES:
- case HiveParser.KW_REBUILD:
- case HiveParser.KW_FUNCTIONS:
- case HiveParser.KW_SHOW:
- case HiveParser.KW_MSCK:
- case HiveParser.KW_REPAIR:
- case HiveParser.KW_DIRECTORY:
- case HiveParser.KW_CLUSTER:
- case HiveParser.KW_DISTRIBUTE:
- case HiveParser.KW_SORT:
- case HiveParser.KW_LOAD:
- case HiveParser.KW_EXPORT:
- case HiveParser.KW_REPLICATION:
- case HiveParser.KW_METADATA:
- case HiveParser.KW_DATA:
- case HiveParser.KW_INPATH:
- case HiveParser.KW_CHANGE:
- case HiveParser.KW_FIRST:
- case HiveParser.KW_AFTER:
- case HiveParser.KW_RENAME:
- case HiveParser.KW_COMMENT:
- case HiveParser.KW_BOOLEAN:
- case HiveParser.KW_TINYINT:
- case HiveParser.KW_SMALLINT:
- case HiveParser.KW_INT:
- case HiveParser.KW_BIGINT:
- case HiveParser.KW_FLOAT:
- case HiveParser.KW_DOUBLE:
- case HiveParser.KW_DATE:
- case HiveParser.KW_DATETIME:
- case HiveParser.KW_TIMESTAMP:
- case HiveParser.KW_TIME:
- case HiveParser.KW_ZONE:
- case HiveParser.KW_STRING:
- case HiveParser.KW_ARRAY:
- case HiveParser.KW_STRUCT:
- case HiveParser.KW_MAP:
- case HiveParser.KW_UNIONTYPE:
- case HiveParser.KW_PARTITIONED:
- case HiveParser.KW_CLUSTERED:
- case HiveParser.KW_SORTED:
- case HiveParser.KW_BUCKETS:
- case HiveParser.KW_FORMAT:
- case HiveParser.KW_DELIMITED:
- case HiveParser.KW_FIELDS:
- case HiveParser.KW_TERMINATED:
- case HiveParser.KW_ESCAPED:
- case HiveParser.KW_COLLECTION:
- case HiveParser.KW_ITEMS:
- case HiveParser.KW_KEYS:
- case HiveParser.KW_KEY_TYPE:
- case HiveParser.KW_KILL:
- case HiveParser.KW_LINES:
- case HiveParser.KW_STORED:
- case HiveParser.KW_FILEFORMAT:
- case HiveParser.KW_INPUTFORMAT:
- case HiveParser.KW_OUTPUTFORMAT:
- case HiveParser.KW_INPUTDRIVER:
- case HiveParser.KW_OUTPUTDRIVER:
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- case HiveParser.KW_LOCATION:
- case HiveParser.KW_BUCKET:
- case HiveParser.KW_ADD:
- case HiveParser.KW_REPLACE:
- case HiveParser.KW_TEMPORARY:
- case HiveParser.KW_FILE:
- case HiveParser.KW_JAR:
- case HiveParser.KW_EXPLAIN:
- case HiveParser.KW_FORMATTED:
- case HiveParser.KW_DEPENDENCY:
- case HiveParser.KW_LOGICAL:
- case HiveParser.KW_SERDE:
- case HiveParser.KW_DEFERRED:
- case HiveParser.KW_SERDEPROPERTIES:
- case HiveParser.KW_DBPROPERTIES:
- case HiveParser.KW_LIMIT:
- case HiveParser.KW_OFFSET:
- case HiveParser.KW_UNSET:
- case HiveParser.KW_TBLPROPERTIES:
- case HiveParser.KW_IDXPROPERTIES:
- case HiveParser.KW_VALUE_TYPE:
- case HiveParser.KW_ELEM_TYPE:
- case HiveParser.KW_DEFINED:
- case HiveParser.KW_MAPJOIN:
- case HiveParser.KW_STREAMTABLE:
- case HiveParser.KW_CLUSTERSTATUS:
- case HiveParser.KW_UTC:
- case HiveParser.KW_UTCTIMESTAMP:
- case HiveParser.KW_LONG:
- case HiveParser.KW_PLUS:
- case HiveParser.KW_VIEW:
- case HiveParser.KW_VIEWS:
- case HiveParser.KW_DATABASES:
- case HiveParser.KW_MATERIALIZED:
- case HiveParser.KW_SCHEMA:
- case HiveParser.KW_SCHEMAS:
- case HiveParser.KW_SSL:
- case HiveParser.KW_UNDO:
- case HiveParser.KW_LOCK:
- case HiveParser.KW_LOCKS:
- case HiveParser.KW_UNLOCK:
- case HiveParser.KW_SHARED:
- case HiveParser.KW_EXCLUSIVE:
- case HiveParser.KW_UNSIGNED:
- case HiveParser.KW_WHILE:
- case HiveParser.KW_READ:
- case HiveParser.KW_PURGE:
- case HiveParser.KW_ANALYZE:
- case HiveParser.KW_BEFORE:
- case HiveParser.KW_BINARY:
- case HiveParser.KW_CONTINUE:
- case HiveParser.KW_RECORDREADER:
- case HiveParser.KW_RECORDWRITER:
- case HiveParser.KW_SEMI:
- case HiveParser.KW_TOUCH:
- case HiveParser.KW_ARCHIVE:
- case HiveParser.KW_UNARCHIVE:
- case HiveParser.KW_COMPUTE:
- case HiveParser.KW_STATISTICS:
- case HiveParser.KW_USE:
- case HiveParser.KW_OPTION:
- case HiveParser.KW_CONCATENATE:
- case HiveParser.KW_CATALOG:
- case HiveParser.KW_SHOW_DATABASE:
- case HiveParser.KW_RESTRICT:
- case HiveParser.KW_CASCADE:
- case HiveParser.KW_SKEWED:
- case HiveParser.KW_DIRECTORIES:
- case HiveParser.KW_CURRENT_DATE:
- case HiveParser.KW_CURRENT_TIMESTAMP:
- case HiveParser.KW_GROUPING:
- case HiveParser.KW_SETS:
- case HiveParser.KW_NOSCAN:
- case HiveParser.KW_ROLE:
- case HiveParser.KW_ROLES:
- case HiveParser.KW_URI:
- case HiveParser.KW_SERVER:
- case HiveParser.KW_ADMIN:
- case HiveParser.KW_OWNER:
- case HiveParser.KW_PRINCIPALS:
- case HiveParser.KW_COMPACT:
- case HiveParser.KW_COMPACTIONS:
- case HiveParser.KW_TRANSACTIONS:
- case HiveParser.KW_REWRITE:
- case HiveParser.KW_REOPTIMIZATION:
- case HiveParser.KW_RELOAD:
- case HiveParser.KW_YEAR:
- case HiveParser.KW_QUERY:
- case HiveParser.KW_QUARTER:
- case HiveParser.KW_MONTH:
- case HiveParser.KW_WEEK:
- case HiveParser.KW_DAY:
- case HiveParser.KW_DOW:
- case HiveParser.KW_HOUR:
- case HiveParser.KW_MINUTE:
- case HiveParser.KW_SECOND:
- case HiveParser.KW_TRANSACTION:
- case HiveParser.KW_WORK:
- case HiveParser.KW_WRITE:
- case HiveParser.KW_ISOLATION:
- case HiveParser.KW_LEVEL:
- case HiveParser.KW_SNAPSHOT:
- case HiveParser.KW_AUTOCOMMIT:
- case HiveParser.KW_CACHE:
- case HiveParser.KW_ENFORCED:
- case HiveParser.KW_VALIDATE:
- case HiveParser.KW_NOVALIDATE:
- case HiveParser.KW_RELY:
- case HiveParser.KW_NORELY:
- case HiveParser.KW_KEY:
- case HiveParser.KW_ABORT:
- case HiveParser.KW_MATCHED:
- case HiveParser.KW_REPL:
- case HiveParser.KW_DUMP:
- case HiveParser.KW_STATUS:
- case HiveParser.KW_VECTORIZATION:
- case HiveParser.KW_SUMMARY:
- case HiveParser.KW_OPERATOR:
- case HiveParser.KW_EXPRESSION:
- case HiveParser.KW_DETAIL:
- case HiveParser.KW_WAIT:
- case HiveParser.KW_RESOURCE:
- case HiveParser.KW_PLAN:
- case HiveParser.KW_QUERY_PARALLELISM:
- case HiveParser.KW_PLANS:
- case HiveParser.KW_ACTIVATE:
- case HiveParser.KW_DEFAULT:
- case HiveParser.KW_CHECK:
- case HiveParser.KW_POOL:
- case HiveParser.KW_MOVE:
- case HiveParser.KW_DO:
- case HiveParser.KW_ALLOC_FRACTION:
- case HiveParser.KW_SCHEDULING_POLICY:
- case HiveParser.KW_PATH:
- case HiveParser.KW_MAPPING:
- case HiveParser.KW_WORKLOAD:
- case HiveParser.KW_MANAGEMENT:
- case HiveParser.KW_ACTIVE:
- case HiveParser.KW_UNMANAGED:
- case HiveParser.KW_DELTA:
- case HiveParser.KW_CSV:
- case HiveParser.KW_JSON:
- case HiveParser.KW_BLOOMFILTER:
- case HiveParser.KW_STREAM:
- case HiveParser.LCURLY:
- case HiveParser.Identifier:
- this.state = 2151;
- this.identifier();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- showGrants() {
- let localctx = new ShowGrantsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 250, HiveParser.RULE_showGrants);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2154;
- this.match(HiveParser.KW_SHOW);
- this.state = 2155;
- this.match(HiveParser.KW_GRANT);
- this.state = 2157;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_GROUP || _la === HiveParser.KW_USER || _la === HiveParser.KW_ROLE) {
- this.state = 2156;
- this.principalName();
- }
-
- this.state = 2161;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ON) {
- this.state = 2159;
- this.match(HiveParser.KW_ON);
- this.state = 2160;
- this.privilegeIncludeColObject();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- showRolePrincipals() {
- let localctx = new ShowRolePrincipalsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 252, HiveParser.RULE_showRolePrincipals);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2163;
- this.match(HiveParser.KW_SHOW);
- this.state = 2164;
- this.match(HiveParser.KW_PRINCIPALS);
- this.state = 2165;
- this.identifier();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- privilegeIncludeColObject() {
- let localctx = new PrivilegeIncludeColObjectContext(this, this._ctx, this.state);
- this.enterRule(localctx, 254, HiveParser.RULE_privilegeIncludeColObject);
- try {
- this.state = 2169;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_ALL:
- this.enterOuterAlt(localctx, 1);
- this.state = 2167;
- this.match(HiveParser.KW_ALL);
- break;
- case HiveParser.KW_IF:
- case HiveParser.KW_ASC:
- case HiveParser.KW_DESC:
- case HiveParser.KW_NULLS:
- case HiveParser.KW_LAST:
- case HiveParser.KW_OVERWRITE:
- case HiveParser.KW_PARTITIONS:
- case HiveParser.KW_TABLE:
- case HiveParser.KW_TABLES:
- case HiveParser.KW_COLUMNS:
- case HiveParser.KW_INDEX:
- case HiveParser.KW_INDEXES:
- case HiveParser.KW_REBUILD:
- case HiveParser.KW_FUNCTIONS:
- case HiveParser.KW_SHOW:
- case HiveParser.KW_MSCK:
- case HiveParser.KW_REPAIR:
- case HiveParser.KW_DIRECTORY:
- case HiveParser.KW_CLUSTER:
- case HiveParser.KW_DISTRIBUTE:
- case HiveParser.KW_SORT:
- case HiveParser.KW_LOAD:
- case HiveParser.KW_EXPORT:
- case HiveParser.KW_REPLICATION:
- case HiveParser.KW_METADATA:
- case HiveParser.KW_DATA:
- case HiveParser.KW_INPATH:
- case HiveParser.KW_CHANGE:
- case HiveParser.KW_FIRST:
- case HiveParser.KW_AFTER:
- case HiveParser.KW_RENAME:
- case HiveParser.KW_COMMENT:
- case HiveParser.KW_BOOLEAN:
- case HiveParser.KW_TINYINT:
- case HiveParser.KW_SMALLINT:
- case HiveParser.KW_INT:
- case HiveParser.KW_BIGINT:
- case HiveParser.KW_FLOAT:
- case HiveParser.KW_DOUBLE:
- case HiveParser.KW_DATE:
- case HiveParser.KW_DATETIME:
- case HiveParser.KW_TIMESTAMP:
- case HiveParser.KW_TIME:
- case HiveParser.KW_ZONE:
- case HiveParser.KW_STRING:
- case HiveParser.KW_ARRAY:
- case HiveParser.KW_STRUCT:
- case HiveParser.KW_MAP:
- case HiveParser.KW_UNIONTYPE:
- case HiveParser.KW_PARTITIONED:
- case HiveParser.KW_CLUSTERED:
- case HiveParser.KW_SORTED:
- case HiveParser.KW_BUCKETS:
- case HiveParser.KW_FORMAT:
- case HiveParser.KW_DELIMITED:
- case HiveParser.KW_FIELDS:
- case HiveParser.KW_TERMINATED:
- case HiveParser.KW_ESCAPED:
- case HiveParser.KW_COLLECTION:
- case HiveParser.KW_ITEMS:
- case HiveParser.KW_KEYS:
- case HiveParser.KW_KEY_TYPE:
- case HiveParser.KW_KILL:
- case HiveParser.KW_LINES:
- case HiveParser.KW_STORED:
- case HiveParser.KW_FILEFORMAT:
- case HiveParser.KW_INPUTFORMAT:
- case HiveParser.KW_OUTPUTFORMAT:
- case HiveParser.KW_INPUTDRIVER:
- case HiveParser.KW_OUTPUTDRIVER:
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- case HiveParser.KW_LOCATION:
- case HiveParser.KW_BUCKET:
- case HiveParser.KW_ADD:
- case HiveParser.KW_REPLACE:
- case HiveParser.KW_TEMPORARY:
- case HiveParser.KW_FILE:
- case HiveParser.KW_JAR:
- case HiveParser.KW_EXPLAIN:
- case HiveParser.KW_FORMATTED:
- case HiveParser.KW_DEPENDENCY:
- case HiveParser.KW_LOGICAL:
- case HiveParser.KW_SERDE:
- case HiveParser.KW_DEFERRED:
- case HiveParser.KW_SERDEPROPERTIES:
- case HiveParser.KW_DBPROPERTIES:
- case HiveParser.KW_LIMIT:
- case HiveParser.KW_OFFSET:
- case HiveParser.KW_UNSET:
- case HiveParser.KW_TBLPROPERTIES:
- case HiveParser.KW_IDXPROPERTIES:
- case HiveParser.KW_VALUE_TYPE:
- case HiveParser.KW_ELEM_TYPE:
- case HiveParser.KW_DEFINED:
- case HiveParser.KW_MAPJOIN:
- case HiveParser.KW_STREAMTABLE:
- case HiveParser.KW_CLUSTERSTATUS:
- case HiveParser.KW_UTC:
- case HiveParser.KW_UTCTIMESTAMP:
- case HiveParser.KW_LONG:
- case HiveParser.KW_PLUS:
- case HiveParser.KW_VIEW:
- case HiveParser.KW_VIEWS:
- case HiveParser.KW_DATABASE:
- case HiveParser.KW_DATABASES:
- case HiveParser.KW_MATERIALIZED:
- case HiveParser.KW_SCHEMA:
- case HiveParser.KW_SCHEMAS:
- case HiveParser.KW_SSL:
- case HiveParser.KW_UNDO:
- case HiveParser.KW_LOCK:
- case HiveParser.KW_LOCKS:
- case HiveParser.KW_UNLOCK:
- case HiveParser.KW_SHARED:
- case HiveParser.KW_EXCLUSIVE:
- case HiveParser.KW_UNSIGNED:
- case HiveParser.KW_WHILE:
- case HiveParser.KW_READ:
- case HiveParser.KW_PURGE:
- case HiveParser.KW_ANALYZE:
- case HiveParser.KW_BEFORE:
- case HiveParser.KW_BINARY:
- case HiveParser.KW_CONTINUE:
- case HiveParser.KW_RECORDREADER:
- case HiveParser.KW_RECORDWRITER:
- case HiveParser.KW_SEMI:
- case HiveParser.KW_TOUCH:
- case HiveParser.KW_ARCHIVE:
- case HiveParser.KW_UNARCHIVE:
- case HiveParser.KW_COMPUTE:
- case HiveParser.KW_STATISTICS:
- case HiveParser.KW_USE:
- case HiveParser.KW_OPTION:
- case HiveParser.KW_CONCATENATE:
- case HiveParser.KW_CATALOG:
- case HiveParser.KW_SHOW_DATABASE:
- case HiveParser.KW_RESTRICT:
- case HiveParser.KW_CASCADE:
- case HiveParser.KW_SKEWED:
- case HiveParser.KW_DIRECTORIES:
- case HiveParser.KW_CURRENT_DATE:
- case HiveParser.KW_CURRENT_TIMESTAMP:
- case HiveParser.KW_GROUPING:
- case HiveParser.KW_SETS:
- case HiveParser.KW_NOSCAN:
- case HiveParser.KW_ROLE:
- case HiveParser.KW_ROLES:
- case HiveParser.KW_URI:
- case HiveParser.KW_SERVER:
- case HiveParser.KW_ADMIN:
- case HiveParser.KW_OWNER:
- case HiveParser.KW_PRINCIPALS:
- case HiveParser.KW_COMPACT:
- case HiveParser.KW_COMPACTIONS:
- case HiveParser.KW_TRANSACTIONS:
- case HiveParser.KW_REWRITE:
- case HiveParser.KW_REOPTIMIZATION:
- case HiveParser.KW_RELOAD:
- case HiveParser.KW_YEAR:
- case HiveParser.KW_QUERY:
- case HiveParser.KW_QUARTER:
- case HiveParser.KW_MONTH:
- case HiveParser.KW_WEEK:
- case HiveParser.KW_DAY:
- case HiveParser.KW_DOW:
- case HiveParser.KW_HOUR:
- case HiveParser.KW_MINUTE:
- case HiveParser.KW_SECOND:
- case HiveParser.KW_TRANSACTION:
- case HiveParser.KW_WORK:
- case HiveParser.KW_WRITE:
- case HiveParser.KW_ISOLATION:
- case HiveParser.KW_LEVEL:
- case HiveParser.KW_SNAPSHOT:
- case HiveParser.KW_AUTOCOMMIT:
- case HiveParser.KW_CACHE:
- case HiveParser.KW_ENFORCED:
- case HiveParser.KW_VALIDATE:
- case HiveParser.KW_NOVALIDATE:
- case HiveParser.KW_RELY:
- case HiveParser.KW_NORELY:
- case HiveParser.KW_KEY:
- case HiveParser.KW_ABORT:
- case HiveParser.KW_MATCHED:
- case HiveParser.KW_REPL:
- case HiveParser.KW_DUMP:
- case HiveParser.KW_STATUS:
- case HiveParser.KW_VECTORIZATION:
- case HiveParser.KW_SUMMARY:
- case HiveParser.KW_OPERATOR:
- case HiveParser.KW_EXPRESSION:
- case HiveParser.KW_DETAIL:
- case HiveParser.KW_WAIT:
- case HiveParser.KW_RESOURCE:
- case HiveParser.KW_PLAN:
- case HiveParser.KW_QUERY_PARALLELISM:
- case HiveParser.KW_PLANS:
- case HiveParser.KW_ACTIVATE:
- case HiveParser.KW_DEFAULT:
- case HiveParser.KW_CHECK:
- case HiveParser.KW_POOL:
- case HiveParser.KW_MOVE:
- case HiveParser.KW_DO:
- case HiveParser.KW_ALLOC_FRACTION:
- case HiveParser.KW_SCHEDULING_POLICY:
- case HiveParser.KW_PATH:
- case HiveParser.KW_MAPPING:
- case HiveParser.KW_WORKLOAD:
- case HiveParser.KW_MANAGEMENT:
- case HiveParser.KW_ACTIVE:
- case HiveParser.KW_UNMANAGED:
- case HiveParser.KW_DELTA:
- case HiveParser.KW_CSV:
- case HiveParser.KW_JSON:
- case HiveParser.KW_BLOOMFILTER:
- case HiveParser.KW_STREAM:
- case HiveParser.LCURLY:
- case HiveParser.Identifier:
- this.enterOuterAlt(localctx, 2);
- this.state = 2168;
- this.privObjectCols();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- privilegeObject() {
- let localctx = new PrivilegeObjectContext(this, this._ctx, this.state);
- this.enterRule(localctx, 256, HiveParser.RULE_privilegeObject);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2171;
- this.match(HiveParser.KW_ON);
- this.state = 2172;
- this.privObject();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- privObject() {
- let localctx = new PrivObjectContext(this, this._ctx, this.state);
- this.enterRule(localctx, 258, HiveParser.RULE_privObject);
- var _la = 0; // Token type
- try {
- this.state = 2187;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 178, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 2174;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_DATABASE || _la === HiveParser.KW_SCHEMA)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 2175;
- this.identifier();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 2177;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 176, this._ctx);
- if (la_ === 1) {
- this.state = 2176;
- this.match(HiveParser.KW_TABLE);
- }
- this.state = 2179;
- this.tableName();
- this.state = 2181;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_PARTITION) {
- this.state = 2180;
- this.partitionSpec();
- }
-
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 2183;
- this.match(HiveParser.KW_URI);
- this.state = 2184;
- this.match(HiveParser.StringLiteral);
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 2185;
- this.match(HiveParser.KW_SERVER);
- this.state = 2186;
- this.identifier();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- privObjectCols() {
- let localctx = new PrivObjectColsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 260, HiveParser.RULE_privObjectCols);
- var _la = 0; // Token type
- try {
- this.state = 2208;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 182, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 2189;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_DATABASE || _la === HiveParser.KW_SCHEMA)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 2190;
- this.identifier();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 2192;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 179, this._ctx);
- if (la_ === 1) {
- this.state = 2191;
- this.match(HiveParser.KW_TABLE);
- }
- this.state = 2194;
- this.tableName();
- this.state = 2199;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 180, this._ctx);
- if (la_ === 1) {
- this.state = 2195;
- this.match(HiveParser.LPAREN);
- this.state = 2196;
- this.columnNameList();
- this.state = 2197;
- this.match(HiveParser.RPAREN);
- }
- this.state = 2202;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_PARTITION) {
- this.state = 2201;
- this.partitionSpec();
- }
-
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 2204;
- this.match(HiveParser.KW_URI);
- this.state = 2205;
- this.match(HiveParser.StringLiteral);
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 2206;
- this.match(HiveParser.KW_SERVER);
- this.state = 2207;
- this.identifier();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- privilegeList() {
- let localctx = new PrivilegeListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 262, HiveParser.RULE_privilegeList);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2210;
- this.privlegeDef();
- this.state = 2215;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 2211;
- this.match(HiveParser.COMMA);
- this.state = 2212;
- this.privlegeDef();
- this.state = 2217;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- privlegeDef() {
- let localctx = new PrivlegeDefContext(this, this._ctx, this.state);
- this.enterRule(localctx, 264, HiveParser.RULE_privlegeDef);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2218;
- this.privilegeType();
- this.state = 2223;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.LPAREN) {
- this.state = 2219;
- this.match(HiveParser.LPAREN);
- this.state = 2220;
- this.columnNameList();
- this.state = 2221;
- this.match(HiveParser.RPAREN);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- privilegeType() {
- let localctx = new PrivilegeTypeContext(this, this._ctx, this.state);
- this.enterRule(localctx, 266, HiveParser.RULE_privilegeType);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2225;
- _la = this._input.LA(1);
- if (
- !(
- ((_la & ~0x1f) == 0 &&
- ((1 << _la) &
- ((1 << HiveParser.KW_ALL) | (1 << HiveParser.KW_SELECT) | (1 << HiveParser.KW_INSERT))) !==
- 0) ||
- (((_la - 67) & ~0x1f) == 0 &&
- ((1 << (_la - 67)) &
- ((1 << (HiveParser.KW_CREATE - 67)) |
- (1 << (HiveParser.KW_ALTER - 67)) |
- (1 << (HiveParser.KW_DROP - 67)))) !==
- 0) ||
- _la === HiveParser.KW_DELETE ||
- _la === HiveParser.KW_LOCK ||
- _la === HiveParser.KW_SHOW_DATABASE ||
- _la === HiveParser.KW_UPDATE
- )
- ) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- principalSpecification() {
- let localctx = new PrincipalSpecificationContext(this, this._ctx, this.state);
- this.enterRule(localctx, 268, HiveParser.RULE_principalSpecification);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2227;
- this.principalName();
- this.state = 2232;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 2228;
- this.match(HiveParser.COMMA);
- this.state = 2229;
- this.principalName();
- this.state = 2234;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- principalName() {
- let localctx = new PrincipalNameContext(this, this._ctx, this.state);
- this.enterRule(localctx, 270, HiveParser.RULE_principalName);
- try {
- this.state = 2241;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_USER:
- this.enterOuterAlt(localctx, 1);
- this.state = 2235;
- this.match(HiveParser.KW_USER);
- this.state = 2236;
- this.principalIdentifier();
- break;
- case HiveParser.KW_GROUP:
- this.enterOuterAlt(localctx, 2);
- this.state = 2237;
- this.match(HiveParser.KW_GROUP);
- this.state = 2238;
- this.principalIdentifier();
- break;
- case HiveParser.KW_ROLE:
- this.enterOuterAlt(localctx, 3);
- this.state = 2239;
- this.match(HiveParser.KW_ROLE);
- this.state = 2240;
- this.identifier();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- withGrantOption() {
- let localctx = new WithGrantOptionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 272, HiveParser.RULE_withGrantOption);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2243;
- this.match(HiveParser.KW_WITH);
- this.state = 2244;
- this.match(HiveParser.KW_GRANT);
- this.state = 2245;
- this.match(HiveParser.KW_OPTION);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- grantOptionFor() {
- let localctx = new GrantOptionForContext(this, this._ctx, this.state);
- this.enterRule(localctx, 274, HiveParser.RULE_grantOptionFor);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2247;
- this.match(HiveParser.KW_GRANT);
- this.state = 2248;
- this.match(HiveParser.KW_OPTION);
- this.state = 2249;
- this.match(HiveParser.KW_FOR);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- adminOptionFor() {
- let localctx = new AdminOptionForContext(this, this._ctx, this.state);
- this.enterRule(localctx, 276, HiveParser.RULE_adminOptionFor);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2251;
- this.match(HiveParser.KW_ADMIN);
- this.state = 2252;
- this.match(HiveParser.KW_OPTION);
- this.state = 2253;
- this.match(HiveParser.KW_FOR);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- withAdminOption() {
- let localctx = new WithAdminOptionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 278, HiveParser.RULE_withAdminOption);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2255;
- this.match(HiveParser.KW_WITH);
- this.state = 2256;
- this.match(HiveParser.KW_ADMIN);
- this.state = 2257;
- this.match(HiveParser.KW_OPTION);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- metastoreCheck() {
- let localctx = new MetastoreCheckContext(this, this._ctx, this.state);
- this.enterRule(localctx, 280, HiveParser.RULE_metastoreCheck);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2259;
- this.match(HiveParser.KW_MSCK);
- this.state = 2261;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_REPAIR) {
- this.state = 2260;
- this.match(HiveParser.KW_REPAIR);
- }
-
- this.state = 2272;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_TABLE:
- this.state = 2263;
- this.match(HiveParser.KW_TABLE);
- this.state = 2264;
- this.tableName();
- this.state = 2267;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 188, this._ctx);
- if (la_ === 1) {
- this.state = 2265;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_DROP || _la === HiveParser.KW_ADD || _la === HiveParser.KW_SYNC)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 2266;
- this.match(HiveParser.KW_PARTITIONS);
- }
- break;
- case HiveParser.EOF:
- case HiveParser.KW_DESC:
- case HiveParser.KW_FROM:
- case HiveParser.KW_SELECT:
- case HiveParser.KW_INSERT:
- case HiveParser.KW_PARTITION:
- case HiveParser.KW_SHOW:
- case HiveParser.KW_MSCK:
- case HiveParser.KW_LOAD:
- case HiveParser.KW_EXPORT:
- case HiveParser.KW_IMPORT:
- case HiveParser.KW_CREATE:
- case HiveParser.KW_ALTER:
- case HiveParser.KW_DESCRIBE:
- case HiveParser.KW_DROP:
- case HiveParser.KW_MAP:
- case HiveParser.KW_REDUCE:
- case HiveParser.KW_KILL:
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- case HiveParser.KW_REPLACE:
- case HiveParser.KW_EXPLAIN:
- case HiveParser.KW_WITH:
- case HiveParser.KW_SET:
- case HiveParser.KW_DELETE:
- case HiveParser.KW_GRANT:
- case HiveParser.KW_REVOKE:
- case HiveParser.KW_LOCK:
- case HiveParser.KW_UNLOCK:
- case HiveParser.KW_ANALYZE:
- case HiveParser.KW_USE:
- case HiveParser.KW_UPDATE:
- case HiveParser.KW_TRUNCATE:
- case HiveParser.KW_RELOAD:
- case HiveParser.KW_START:
- case HiveParser.KW_COMMIT:
- case HiveParser.KW_ROLLBACK:
- case HiveParser.KW_ABORT:
- case HiveParser.KW_MERGE:
- case HiveParser.KW_REPL:
- case HiveParser.SEMICOLON:
- case HiveParser.LPAREN:
- this.state = 2270;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_PARTITION) {
- this.state = 2269;
- this.partitionSpec();
- }
-
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- resourceList() {
- let localctx = new ResourceListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 282, HiveParser.RULE_resourceList);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2274;
- this.resource();
- this.state = 2279;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 2275;
- this.match(HiveParser.COMMA);
- this.state = 2276;
- this.resource();
- this.state = 2281;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- resource() {
- let localctx = new ResourceContext(this, this._ctx, this.state);
- this.enterRule(localctx, 284, HiveParser.RULE_resource);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2282;
- this.resourceType();
- this.state = 2283;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- resourceType() {
- let localctx = new ResourceTypeContext(this, this._ctx, this.state);
- this.enterRule(localctx, 286, HiveParser.RULE_resourceType);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2285;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_FILE || _la === HiveParser.KW_JAR || _la === HiveParser.KW_ARCHIVE)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- createFunctionStatement() {
- let localctx = new CreateFunctionStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 288, HiveParser.RULE_createFunctionStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2287;
- this.match(HiveParser.KW_CREATE);
- this.state = 2289;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_TEMPORARY) {
- this.state = 2288;
- this.match(HiveParser.KW_TEMPORARY);
- }
-
- this.state = 2291;
- this.match(HiveParser.KW_FUNCTION);
- this.state = 2292;
- this.functionIdentifier();
- this.state = 2293;
- this.match(HiveParser.KW_AS);
- this.state = 2294;
- this.match(HiveParser.StringLiteral);
- this.state = 2297;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_USING) {
- this.state = 2295;
- this.match(HiveParser.KW_USING);
- this.state = 2296;
- this.resourceList();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dropFunctionStatement() {
- let localctx = new DropFunctionStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 290, HiveParser.RULE_dropFunctionStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2299;
- this.match(HiveParser.KW_DROP);
- this.state = 2301;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_TEMPORARY) {
- this.state = 2300;
- this.match(HiveParser.KW_TEMPORARY);
- }
-
- this.state = 2303;
- this.match(HiveParser.KW_FUNCTION);
- this.state = 2305;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 195, this._ctx);
- if (la_ === 1) {
- this.state = 2304;
- this.ifExists();
- }
- this.state = 2307;
- this.functionIdentifier();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- reloadFunctionStatement() {
- let localctx = new ReloadFunctionStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 292, HiveParser.RULE_reloadFunctionStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2309;
- this.match(HiveParser.KW_RELOAD);
- this.state = 2310;
- this.match(HiveParser.KW_FUNCTION);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- createMacroStatement() {
- let localctx = new CreateMacroStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 294, HiveParser.RULE_createMacroStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2312;
- this.match(HiveParser.KW_CREATE);
- this.state = 2313;
- this.match(HiveParser.KW_TEMPORARY);
- this.state = 2314;
- this.match(HiveParser.KW_MACRO);
- this.state = 2315;
- this.match(HiveParser.Identifier);
- this.state = 2316;
- this.match(HiveParser.LPAREN);
- this.state = 2318;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (
- ((_la & ~0x1f) == 0 &&
- ((1 << _la) &
- ((1 << HiveParser.KW_IF) |
- (1 << HiveParser.KW_ASC) |
- (1 << HiveParser.KW_DESC) |
- (1 << HiveParser.KW_NULLS) |
- (1 << HiveParser.KW_LAST) |
- (1 << HiveParser.KW_OVERWRITE))) !==
- 0) ||
- (((_la - 37) & ~0x1f) == 0 &&
- ((1 << (_la - 37)) &
- ((1 << (HiveParser.KW_PARTITIONS - 37)) |
- (1 << (HiveParser.KW_TABLE - 37)) |
- (1 << (HiveParser.KW_TABLES - 37)) |
- (1 << (HiveParser.KW_COLUMNS - 37)) |
- (1 << (HiveParser.KW_INDEX - 37)) |
- (1 << (HiveParser.KW_INDEXES - 37)) |
- (1 << (HiveParser.KW_REBUILD - 37)) |
- (1 << (HiveParser.KW_FUNCTIONS - 37)) |
- (1 << (HiveParser.KW_SHOW - 37)) |
- (1 << (HiveParser.KW_MSCK - 37)) |
- (1 << (HiveParser.KW_REPAIR - 37)) |
- (1 << (HiveParser.KW_DIRECTORY - 37)) |
- (1 << (HiveParser.KW_CLUSTER - 37)) |
- (1 << (HiveParser.KW_DISTRIBUTE - 37)) |
- (1 << (HiveParser.KW_SORT - 37)) |
- (1 << (HiveParser.KW_LOAD - 37)) |
- (1 << (HiveParser.KW_EXPORT - 37)) |
- (1 << (HiveParser.KW_REPLICATION - 37)) |
- (1 << (HiveParser.KW_METADATA - 37)) |
- (1 << (HiveParser.KW_DATA - 37)) |
- (1 << (HiveParser.KW_INPATH - 37)))) !==
- 0) ||
- (((_la - 70) & ~0x1f) == 0 &&
- ((1 << (_la - 70)) &
- ((1 << (HiveParser.KW_CHANGE - 70)) |
- (1 << (HiveParser.KW_FIRST - 70)) |
- (1 << (HiveParser.KW_AFTER - 70)) |
- (1 << (HiveParser.KW_RENAME - 70)) |
- (1 << (HiveParser.KW_COMMENT - 70)) |
- (1 << (HiveParser.KW_BOOLEAN - 70)) |
- (1 << (HiveParser.KW_TINYINT - 70)) |
- (1 << (HiveParser.KW_SMALLINT - 70)) |
- (1 << (HiveParser.KW_INT - 70)) |
- (1 << (HiveParser.KW_BIGINT - 70)) |
- (1 << (HiveParser.KW_FLOAT - 70)) |
- (1 << (HiveParser.KW_DOUBLE - 70)) |
- (1 << (HiveParser.KW_DATE - 70)) |
- (1 << (HiveParser.KW_DATETIME - 70)) |
- (1 << (HiveParser.KW_TIMESTAMP - 70)) |
- (1 << (HiveParser.KW_TIME - 70)) |
- (1 << (HiveParser.KW_ZONE - 70)) |
- (1 << (HiveParser.KW_STRING - 70)) |
- (1 << (HiveParser.KW_ARRAY - 70)) |
- (1 << (HiveParser.KW_STRUCT - 70)) |
- (1 << (HiveParser.KW_MAP - 70)))) !==
- 0) ||
- (((_la - 104) & ~0x1f) == 0 &&
- ((1 << (_la - 104)) &
- ((1 << (HiveParser.KW_UNIONTYPE - 104)) |
- (1 << (HiveParser.KW_PARTITIONED - 104)) |
- (1 << (HiveParser.KW_CLUSTERED - 104)) |
- (1 << (HiveParser.KW_SORTED - 104)) |
- (1 << (HiveParser.KW_BUCKETS - 104)) |
- (1 << (HiveParser.KW_FORMAT - 104)) |
- (1 << (HiveParser.KW_DELIMITED - 104)) |
- (1 << (HiveParser.KW_FIELDS - 104)) |
- (1 << (HiveParser.KW_TERMINATED - 104)) |
- (1 << (HiveParser.KW_ESCAPED - 104)) |
- (1 << (HiveParser.KW_COLLECTION - 104)) |
- (1 << (HiveParser.KW_ITEMS - 104)) |
- (1 << (HiveParser.KW_KEYS - 104)) |
- (1 << (HiveParser.KW_KEY_TYPE - 104)) |
- (1 << (HiveParser.KW_KILL - 104)) |
- (1 << (HiveParser.KW_LINES - 104)) |
- (1 << (HiveParser.KW_STORED - 104)) |
- (1 << (HiveParser.KW_FILEFORMAT - 104)) |
- (1 << (HiveParser.KW_INPUTFORMAT - 104)) |
- (1 << (HiveParser.KW_OUTPUTFORMAT - 104)) |
- (1 << (HiveParser.KW_INPUTDRIVER - 104)) |
- (1 << (HiveParser.KW_OUTPUTDRIVER - 104)) |
- (1 << (HiveParser.KW_ENABLE - 104)) |
- (1 << (HiveParser.KW_DISABLE - 104)) |
- (1 << (HiveParser.KW_LOCATION - 104)) |
- (1 << (HiveParser.KW_BUCKET - 104)))) !==
- 0) ||
- (((_la - 139) & ~0x1f) == 0 &&
- ((1 << (_la - 139)) &
- ((1 << (HiveParser.KW_ADD - 139)) |
- (1 << (HiveParser.KW_REPLACE - 139)) |
- (1 << (HiveParser.KW_TEMPORARY - 139)) |
- (1 << (HiveParser.KW_FILE - 139)) |
- (1 << (HiveParser.KW_JAR - 139)) |
- (1 << (HiveParser.KW_EXPLAIN - 139)) |
- (1 << (HiveParser.KW_FORMATTED - 139)) |
- (1 << (HiveParser.KW_DEPENDENCY - 139)) |
- (1 << (HiveParser.KW_LOGICAL - 139)) |
- (1 << (HiveParser.KW_SERDE - 139)) |
- (1 << (HiveParser.KW_DEFERRED - 139)) |
- (1 << (HiveParser.KW_SERDEPROPERTIES - 139)) |
- (1 << (HiveParser.KW_DBPROPERTIES - 139)) |
- (1 << (HiveParser.KW_LIMIT - 139)) |
- (1 << (HiveParser.KW_OFFSET - 139)) |
- (1 << (HiveParser.KW_UNSET - 139)) |
- (1 << (HiveParser.KW_TBLPROPERTIES - 139)) |
- (1 << (HiveParser.KW_IDXPROPERTIES - 139)) |
- (1 << (HiveParser.KW_VALUE_TYPE - 139)) |
- (1 << (HiveParser.KW_ELEM_TYPE - 139)) |
- (1 << (HiveParser.KW_DEFINED - 139)))) !==
- 0) ||
- (((_la - 172) & ~0x1f) == 0 &&
- ((1 << (_la - 172)) &
- ((1 << (HiveParser.KW_MAPJOIN - 172)) |
- (1 << (HiveParser.KW_STREAMTABLE - 172)) |
- (1 << (HiveParser.KW_CLUSTERSTATUS - 172)) |
- (1 << (HiveParser.KW_UTC - 172)) |
- (1 << (HiveParser.KW_UTCTIMESTAMP - 172)) |
- (1 << (HiveParser.KW_LONG - 172)) |
- (1 << (HiveParser.KW_PLUS - 172)) |
- (1 << (HiveParser.KW_VIEW - 172)) |
- (1 << (HiveParser.KW_VIEWS - 172)) |
- (1 << (HiveParser.KW_DATABASES - 172)) |
- (1 << (HiveParser.KW_MATERIALIZED - 172)) |
- (1 << (HiveParser.KW_SCHEMA - 172)) |
- (1 << (HiveParser.KW_SCHEMAS - 172)) |
- (1 << (HiveParser.KW_SSL - 172)) |
- (1 << (HiveParser.KW_UNDO - 172)) |
- (1 << (HiveParser.KW_LOCK - 172)) |
- (1 << (HiveParser.KW_LOCKS - 172)) |
- (1 << (HiveParser.KW_UNLOCK - 172)) |
- (1 << (HiveParser.KW_SHARED - 172)) |
- (1 << (HiveParser.KW_EXCLUSIVE - 172)) |
- (1 << (HiveParser.KW_UNSIGNED - 172)) |
- (1 << (HiveParser.KW_WHILE - 172)) |
- (1 << (HiveParser.KW_READ - 172)))) !==
- 0) ||
- (((_la - 205) & ~0x1f) == 0 &&
- ((1 << (_la - 205)) &
- ((1 << (HiveParser.KW_PURGE - 205)) |
- (1 << (HiveParser.KW_ANALYZE - 205)) |
- (1 << (HiveParser.KW_BEFORE - 205)) |
- (1 << (HiveParser.KW_BINARY - 205)) |
- (1 << (HiveParser.KW_CONTINUE - 205)) |
- (1 << (HiveParser.KW_RECORDREADER - 205)) |
- (1 << (HiveParser.KW_RECORDWRITER - 205)) |
- (1 << (HiveParser.KW_SEMI - 205)) |
- (1 << (HiveParser.KW_TOUCH - 205)) |
- (1 << (HiveParser.KW_ARCHIVE - 205)) |
- (1 << (HiveParser.KW_UNARCHIVE - 205)) |
- (1 << (HiveParser.KW_COMPUTE - 205)) |
- (1 << (HiveParser.KW_STATISTICS - 205)) |
- (1 << (HiveParser.KW_USE - 205)) |
- (1 << (HiveParser.KW_OPTION - 205)) |
- (1 << (HiveParser.KW_CONCATENATE - 205)) |
- (1 << (HiveParser.KW_CATALOG - 205)) |
- (1 << (HiveParser.KW_SHOW_DATABASE - 205)) |
- (1 << (HiveParser.KW_RESTRICT - 205)) |
- (1 << (HiveParser.KW_CASCADE - 205)) |
- (1 << (HiveParser.KW_SKEWED - 205)))) !==
- 0) ||
- (((_la - 237) & ~0x1f) == 0 &&
- ((1 << (_la - 237)) &
- ((1 << (HiveParser.KW_DIRECTORIES - 237)) |
- (1 << (HiveParser.KW_CURRENT_DATE - 237)) |
- (1 << (HiveParser.KW_CURRENT_TIMESTAMP - 237)) |
- (1 << (HiveParser.KW_GROUPING - 237)) |
- (1 << (HiveParser.KW_SETS - 237)) |
- (1 << (HiveParser.KW_NOSCAN - 237)) |
- (1 << (HiveParser.KW_ROLE - 237)) |
- (1 << (HiveParser.KW_ROLES - 237)) |
- (1 << (HiveParser.KW_URI - 237)) |
- (1 << (HiveParser.KW_SERVER - 237)) |
- (1 << (HiveParser.KW_ADMIN - 237)) |
- (1 << (HiveParser.KW_OWNER - 237)) |
- (1 << (HiveParser.KW_PRINCIPALS - 237)) |
- (1 << (HiveParser.KW_COMPACT - 237)) |
- (1 << (HiveParser.KW_COMPACTIONS - 237)) |
- (1 << (HiveParser.KW_TRANSACTIONS - 237)) |
- (1 << (HiveParser.KW_REWRITE - 237)) |
- (1 << (HiveParser.KW_REOPTIMIZATION - 237)))) !==
- 0) ||
- (((_la - 271) & ~0x1f) == 0 &&
- ((1 << (_la - 271)) &
- ((1 << (HiveParser.KW_RELOAD - 271)) |
- (1 << (HiveParser.KW_YEAR - 271)) |
- (1 << (HiveParser.KW_QUERY - 271)) |
- (1 << (HiveParser.KW_QUARTER - 271)) |
- (1 << (HiveParser.KW_MONTH - 271)) |
- (1 << (HiveParser.KW_WEEK - 271)) |
- (1 << (HiveParser.KW_DAY - 271)) |
- (1 << (HiveParser.KW_DOW - 271)) |
- (1 << (HiveParser.KW_HOUR - 271)) |
- (1 << (HiveParser.KW_MINUTE - 271)) |
- (1 << (HiveParser.KW_SECOND - 271)) |
- (1 << (HiveParser.KW_TRANSACTION - 271)) |
- (1 << (HiveParser.KW_WORK - 271)) |
- (1 << (HiveParser.KW_WRITE - 271)) |
- (1 << (HiveParser.KW_ISOLATION - 271)) |
- (1 << (HiveParser.KW_LEVEL - 271)) |
- (1 << (HiveParser.KW_SNAPSHOT - 271)) |
- (1 << (HiveParser.KW_AUTOCOMMIT - 271)) |
- (1 << (HiveParser.KW_CACHE - 271)) |
- (1 << (HiveParser.KW_ENFORCED - 271)) |
- (1 << (HiveParser.KW_VALIDATE - 271)) |
- (1 << (HiveParser.KW_NOVALIDATE - 271)) |
- (1 << (HiveParser.KW_RELY - 271)) |
- (1 << (HiveParser.KW_NORELY - 271)))) !==
- 0) ||
- (((_la - 304) & ~0x1f) == 0 &&
- ((1 << (_la - 304)) &
- ((1 << (HiveParser.KW_KEY - 304)) |
- (1 << (HiveParser.KW_ABORT - 304)) |
- (1 << (HiveParser.KW_MATCHED - 304)) |
- (1 << (HiveParser.KW_REPL - 304)) |
- (1 << (HiveParser.KW_DUMP - 304)) |
- (1 << (HiveParser.KW_STATUS - 304)) |
- (1 << (HiveParser.KW_VECTORIZATION - 304)) |
- (1 << (HiveParser.KW_SUMMARY - 304)) |
- (1 << (HiveParser.KW_OPERATOR - 304)) |
- (1 << (HiveParser.KW_EXPRESSION - 304)) |
- (1 << (HiveParser.KW_DETAIL - 304)) |
- (1 << (HiveParser.KW_WAIT - 304)) |
- (1 << (HiveParser.KW_RESOURCE - 304)) |
- (1 << (HiveParser.KW_PLAN - 304)) |
- (1 << (HiveParser.KW_QUERY_PARALLELISM - 304)) |
- (1 << (HiveParser.KW_PLANS - 304)) |
- (1 << (HiveParser.KW_ACTIVATE - 304)) |
- (1 << (HiveParser.KW_DEFAULT - 304)) |
- (1 << (HiveParser.KW_CHECK - 304)) |
- (1 << (HiveParser.KW_POOL - 304)) |
- (1 << (HiveParser.KW_MOVE - 304)) |
- (1 << (HiveParser.KW_DO - 304)) |
- (1 << (HiveParser.KW_ALLOC_FRACTION - 304)) |
- (1 << (HiveParser.KW_SCHEDULING_POLICY - 304)) |
- (1 << (HiveParser.KW_PATH - 304)) |
- (1 << (HiveParser.KW_MAPPING - 304)) |
- (1 << (HiveParser.KW_WORKLOAD - 304)) |
- (1 << (HiveParser.KW_MANAGEMENT - 304)) |
- (1 << (HiveParser.KW_ACTIVE - 304)))) !==
- 0) ||
- (((_la - 337) & ~0x1f) == 0 &&
- ((1 << (_la - 337)) &
- ((1 << (HiveParser.KW_UNMANAGED - 337)) |
- (1 << (HiveParser.KW_DELTA - 337)) |
- (1 << (HiveParser.KW_CSV - 337)) |
- (1 << (HiveParser.KW_JSON - 337)) |
- (1 << (HiveParser.KW_BLOOMFILTER - 337)) |
- (1 << (HiveParser.KW_STREAM - 337)))) !==
- 0) ||
- _la === HiveParser.LCURLY ||
- _la === HiveParser.Identifier
- ) {
- this.state = 2317;
- this.columnNameTypeList();
- }
-
- this.state = 2320;
- this.match(HiveParser.RPAREN);
- this.state = 2321;
- this.expression(0);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dropMacroStatement() {
- let localctx = new DropMacroStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 296, HiveParser.RULE_dropMacroStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2323;
- this.match(HiveParser.KW_DROP);
- this.state = 2324;
- this.match(HiveParser.KW_TEMPORARY);
- this.state = 2325;
- this.match(HiveParser.KW_MACRO);
- this.state = 2327;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_IF) {
- this.state = 2326;
- this.ifExists();
- }
-
- this.state = 2329;
- this.match(HiveParser.Identifier);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- createViewStatement() {
- let localctx = new CreateViewStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 298, HiveParser.RULE_createViewStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2331;
- this.match(HiveParser.KW_CREATE);
- this.state = 2333;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_OR) {
- this.state = 2332;
- this.orReplace();
- }
-
- this.state = 2335;
- this.match(HiveParser.KW_VIEW);
- this.state = 2337;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 199, this._ctx);
- if (la_ === 1) {
- this.state = 2336;
- this.ifNotExists();
- }
- this.state = 2339;
- this.tableName();
- this.state = 2344;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.LPAREN) {
- this.state = 2340;
- this.match(HiveParser.LPAREN);
- this.state = 2341;
- this.columnNameCommentList();
- this.state = 2342;
- this.match(HiveParser.RPAREN);
- }
-
- this.state = 2347;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_COMMENT) {
- this.state = 2346;
- this.tableComment();
- }
-
- this.state = 2350;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_PARTITIONED) {
- this.state = 2349;
- this.viewPartition();
- }
-
- this.state = 2353;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_TBLPROPERTIES) {
- this.state = 2352;
- this.tablePropertiesPrefixed();
- }
-
- this.state = 2355;
- this.match(HiveParser.KW_AS);
- this.state = 2356;
- this.selectStatementWithCTE();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- createMaterializedViewStatement() {
- let localctx = new CreateMaterializedViewStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 300, HiveParser.RULE_createMaterializedViewStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2358;
- this.match(HiveParser.KW_CREATE);
- this.state = 2360;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_OR) {
- this.state = 2359;
- this.orReplace();
- }
-
- this.state = 2362;
- this.match(HiveParser.KW_MATERIALIZED);
- this.state = 2363;
- this.match(HiveParser.KW_VIEW);
- this.state = 2365;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 205, this._ctx);
- if (la_ === 1) {
- this.state = 2364;
- this.ifNotExists();
- }
- this.state = 2367;
- this.tableName();
- this.state = 2375;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.LPAREN) {
- this.state = 2368;
- this.match(HiveParser.LPAREN);
- this.state = 2371;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 206, this._ctx);
- switch (la_) {
- case 1:
- this.state = 2369;
- this.columnNameCommentList();
- break;
-
- case 2:
- this.state = 2370;
- this.columnNameTypeOrConstraintList();
- break;
- }
- this.state = 2373;
- this.match(HiveParser.RPAREN);
- }
-
- this.state = 2380;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (
- _la === HiveParser.KW_CLUSTER ||
- _la === HiveParser.KW_COMMENT ||
- (((_la - 106) & ~0x1f) == 0 &&
- ((1 << (_la - 106)) &
- ((1 << (HiveParser.KW_PARTITIONED - 106)) |
- (1 << (HiveParser.KW_ROW - 106)) |
- (1 << (HiveParser.KW_STORED - 106)) |
- (1 << (HiveParser.KW_DISABLE - 106)) |
- (1 << (HiveParser.KW_LOCATION - 106)))) !==
- 0) ||
- _la === HiveParser.KW_WITH ||
- _la === HiveParser.KW_TBLPROPERTIES ||
- _la === HiveParser.KW_SCHEDULE
- ) {
- this.state = 2377;
- this.materializedViewClause();
- this.state = 2382;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- this.state = 2383;
- this.match(HiveParser.KW_AS);
- this.state = 2384;
- this.selectStatementWithCTE();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- materializedViewClause() {
- let localctx = new MaterializedViewClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 302, HiveParser.RULE_materializedViewClause);
- try {
- this.state = 2397;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 209, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 2386;
- this.tableComment();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 2387;
- this.tableRowFormat();
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 2388;
- this.tableFileFormat();
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 2389;
- this.tableLocation();
- break;
-
- case 5:
- this.enterOuterAlt(localctx, 5);
- this.state = 2390;
- this.tablePropertiesPrefixed();
- break;
-
- case 6:
- this.enterOuterAlt(localctx, 6);
- this.state = 2391;
- this.tablePartition();
- break;
-
- case 7:
- this.enterOuterAlt(localctx, 7);
- this.state = 2392;
- this.tableComment();
- break;
-
- case 8:
- this.enterOuterAlt(localctx, 8);
- this.state = 2393;
- this.clusterByClause();
- break;
-
- case 9:
- this.enterOuterAlt(localctx, 9);
- this.state = 2394;
- this.rewriteDisabled();
- break;
-
- case 10:
- this.enterOuterAlt(localctx, 10);
- this.state = 2395;
- this.scheduleClause();
- break;
-
- case 11:
- this.enterOuterAlt(localctx, 11);
- this.state = 2396;
- this.rowClause();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- scheduleClause() {
- let localctx = new ScheduleClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 304, HiveParser.RULE_scheduleClause);
- var _la = 0; // Token type
- try {
- this.state = 2418;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 213, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 2399;
- this.match(HiveParser.KW_SCHEDULE);
- this.state = 2401;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_REFRESH) {
- this.state = 2400;
- this.match(HiveParser.KW_REFRESH);
- }
-
- this.state = 2403;
- this.match(HiveParser.KW_EVERY);
- this.state = 2404;
- this.match(HiveParser.Number);
- this.state = 2405;
- _la = this._input.LA(1);
- if (
- !(
- ((_la - 276) & ~0x1f) == 0 &&
- ((1 << (_la - 276)) &
- ((1 << (HiveParser.KW_WEEK - 276)) |
- (1 << (HiveParser.KW_DAY - 276)) |
- (1 << (HiveParser.KW_HOUR - 276)))) !==
- 0
- )
- ) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 2406;
- this.match(HiveParser.KW_SCHEDULE);
- this.state = 2408;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_REFRESH) {
- this.state = 2407;
- this.match(HiveParser.KW_REFRESH);
- }
-
- this.state = 2410;
- this.match(HiveParser.KW_CRON);
- this.state = 2411;
- this.match(HiveParser.StringLiteral);
- this.state = 2416;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_AT) {
- this.state = 2412;
- this.match(HiveParser.KW_AT);
- this.state = 2413;
- this.match(HiveParser.KW_TIME);
- this.state = 2414;
- this.match(HiveParser.KW_ZONE);
- this.state = 2415;
- this.timeZoneValue();
- }
-
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- timeZoneValue() {
- let localctx = new TimeZoneValueContext(this, this._ctx, this.state);
- this.enterRule(localctx, 306, HiveParser.RULE_timeZoneValue);
- try {
- this.state = 2422;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_IF:
- case HiveParser.KW_ASC:
- case HiveParser.KW_DESC:
- case HiveParser.KW_NULLS:
- case HiveParser.KW_LAST:
- case HiveParser.KW_OVERWRITE:
- case HiveParser.KW_PARTITIONS:
- case HiveParser.KW_TABLE:
- case HiveParser.KW_TABLES:
- case HiveParser.KW_COLUMNS:
- case HiveParser.KW_INDEX:
- case HiveParser.KW_INDEXES:
- case HiveParser.KW_REBUILD:
- case HiveParser.KW_FUNCTIONS:
- case HiveParser.KW_SHOW:
- case HiveParser.KW_MSCK:
- case HiveParser.KW_REPAIR:
- case HiveParser.KW_DIRECTORY:
- case HiveParser.KW_CLUSTER:
- case HiveParser.KW_DISTRIBUTE:
- case HiveParser.KW_SORT:
- case HiveParser.KW_LOAD:
- case HiveParser.KW_EXPORT:
- case HiveParser.KW_REPLICATION:
- case HiveParser.KW_METADATA:
- case HiveParser.KW_DATA:
- case HiveParser.KW_INPATH:
- case HiveParser.KW_CHANGE:
- case HiveParser.KW_FIRST:
- case HiveParser.KW_AFTER:
- case HiveParser.KW_RENAME:
- case HiveParser.KW_COMMENT:
- case HiveParser.KW_BOOLEAN:
- case HiveParser.KW_TINYINT:
- case HiveParser.KW_SMALLINT:
- case HiveParser.KW_INT:
- case HiveParser.KW_BIGINT:
- case HiveParser.KW_FLOAT:
- case HiveParser.KW_DOUBLE:
- case HiveParser.KW_DATE:
- case HiveParser.KW_DATETIME:
- case HiveParser.KW_TIMESTAMP:
- case HiveParser.KW_TIME:
- case HiveParser.KW_ZONE:
- case HiveParser.KW_STRING:
- case HiveParser.KW_ARRAY:
- case HiveParser.KW_STRUCT:
- case HiveParser.KW_MAP:
- case HiveParser.KW_UNIONTYPE:
- case HiveParser.KW_PARTITIONED:
- case HiveParser.KW_CLUSTERED:
- case HiveParser.KW_SORTED:
- case HiveParser.KW_BUCKETS:
- case HiveParser.KW_FORMAT:
- case HiveParser.KW_DELIMITED:
- case HiveParser.KW_FIELDS:
- case HiveParser.KW_TERMINATED:
- case HiveParser.KW_ESCAPED:
- case HiveParser.KW_COLLECTION:
- case HiveParser.KW_ITEMS:
- case HiveParser.KW_KEYS:
- case HiveParser.KW_KEY_TYPE:
- case HiveParser.KW_KILL:
- case HiveParser.KW_LINES:
- case HiveParser.KW_STORED:
- case HiveParser.KW_FILEFORMAT:
- case HiveParser.KW_INPUTFORMAT:
- case HiveParser.KW_OUTPUTFORMAT:
- case HiveParser.KW_INPUTDRIVER:
- case HiveParser.KW_OUTPUTDRIVER:
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- case HiveParser.KW_LOCATION:
- case HiveParser.KW_BUCKET:
- case HiveParser.KW_ADD:
- case HiveParser.KW_REPLACE:
- case HiveParser.KW_TEMPORARY:
- case HiveParser.KW_FILE:
- case HiveParser.KW_JAR:
- case HiveParser.KW_EXPLAIN:
- case HiveParser.KW_FORMATTED:
- case HiveParser.KW_DEPENDENCY:
- case HiveParser.KW_LOGICAL:
- case HiveParser.KW_SERDE:
- case HiveParser.KW_DEFERRED:
- case HiveParser.KW_SERDEPROPERTIES:
- case HiveParser.KW_DBPROPERTIES:
- case HiveParser.KW_LIMIT:
- case HiveParser.KW_OFFSET:
- case HiveParser.KW_UNSET:
- case HiveParser.KW_TBLPROPERTIES:
- case HiveParser.KW_IDXPROPERTIES:
- case HiveParser.KW_VALUE_TYPE:
- case HiveParser.KW_ELEM_TYPE:
- case HiveParser.KW_DEFINED:
- case HiveParser.KW_MAPJOIN:
- case HiveParser.KW_STREAMTABLE:
- case HiveParser.KW_CLUSTERSTATUS:
- case HiveParser.KW_UTC:
- case HiveParser.KW_UTCTIMESTAMP:
- case HiveParser.KW_LONG:
- case HiveParser.KW_PLUS:
- case HiveParser.KW_VIEW:
- case HiveParser.KW_VIEWS:
- case HiveParser.KW_DATABASES:
- case HiveParser.KW_MATERIALIZED:
- case HiveParser.KW_SCHEMA:
- case HiveParser.KW_SCHEMAS:
- case HiveParser.KW_SSL:
- case HiveParser.KW_UNDO:
- case HiveParser.KW_LOCK:
- case HiveParser.KW_LOCKS:
- case HiveParser.KW_UNLOCK:
- case HiveParser.KW_SHARED:
- case HiveParser.KW_EXCLUSIVE:
- case HiveParser.KW_UNSIGNED:
- case HiveParser.KW_WHILE:
- case HiveParser.KW_READ:
- case HiveParser.KW_PURGE:
- case HiveParser.KW_ANALYZE:
- case HiveParser.KW_BEFORE:
- case HiveParser.KW_BINARY:
- case HiveParser.KW_CONTINUE:
- case HiveParser.KW_RECORDREADER:
- case HiveParser.KW_RECORDWRITER:
- case HiveParser.KW_SEMI:
- case HiveParser.KW_TOUCH:
- case HiveParser.KW_ARCHIVE:
- case HiveParser.KW_UNARCHIVE:
- case HiveParser.KW_COMPUTE:
- case HiveParser.KW_STATISTICS:
- case HiveParser.KW_USE:
- case HiveParser.KW_OPTION:
- case HiveParser.KW_CONCATENATE:
- case HiveParser.KW_CATALOG:
- case HiveParser.KW_SHOW_DATABASE:
- case HiveParser.KW_RESTRICT:
- case HiveParser.KW_CASCADE:
- case HiveParser.KW_SKEWED:
- case HiveParser.KW_DIRECTORIES:
- case HiveParser.KW_CURRENT_DATE:
- case HiveParser.KW_CURRENT_TIMESTAMP:
- case HiveParser.KW_GROUPING:
- case HiveParser.KW_SETS:
- case HiveParser.KW_NOSCAN:
- case HiveParser.KW_ROLE:
- case HiveParser.KW_ROLES:
- case HiveParser.KW_URI:
- case HiveParser.KW_SERVER:
- case HiveParser.KW_ADMIN:
- case HiveParser.KW_OWNER:
- case HiveParser.KW_PRINCIPALS:
- case HiveParser.KW_COMPACT:
- case HiveParser.KW_COMPACTIONS:
- case HiveParser.KW_TRANSACTIONS:
- case HiveParser.KW_REWRITE:
- case HiveParser.KW_REOPTIMIZATION:
- case HiveParser.KW_RELOAD:
- case HiveParser.KW_YEAR:
- case HiveParser.KW_QUERY:
- case HiveParser.KW_QUARTER:
- case HiveParser.KW_MONTH:
- case HiveParser.KW_WEEK:
- case HiveParser.KW_DAY:
- case HiveParser.KW_DOW:
- case HiveParser.KW_HOUR:
- case HiveParser.KW_MINUTE:
- case HiveParser.KW_SECOND:
- case HiveParser.KW_TRANSACTION:
- case HiveParser.KW_WORK:
- case HiveParser.KW_WRITE:
- case HiveParser.KW_ISOLATION:
- case HiveParser.KW_LEVEL:
- case HiveParser.KW_SNAPSHOT:
- case HiveParser.KW_AUTOCOMMIT:
- case HiveParser.KW_CACHE:
- case HiveParser.KW_ENFORCED:
- case HiveParser.KW_VALIDATE:
- case HiveParser.KW_NOVALIDATE:
- case HiveParser.KW_RELY:
- case HiveParser.KW_NORELY:
- case HiveParser.KW_KEY:
- case HiveParser.KW_ABORT:
- case HiveParser.KW_MATCHED:
- case HiveParser.KW_REPL:
- case HiveParser.KW_DUMP:
- case HiveParser.KW_STATUS:
- case HiveParser.KW_VECTORIZATION:
- case HiveParser.KW_SUMMARY:
- case HiveParser.KW_OPERATOR:
- case HiveParser.KW_EXPRESSION:
- case HiveParser.KW_DETAIL:
- case HiveParser.KW_WAIT:
- case HiveParser.KW_RESOURCE:
- case HiveParser.KW_PLAN:
- case HiveParser.KW_QUERY_PARALLELISM:
- case HiveParser.KW_PLANS:
- case HiveParser.KW_ACTIVATE:
- case HiveParser.KW_DEFAULT:
- case HiveParser.KW_CHECK:
- case HiveParser.KW_POOL:
- case HiveParser.KW_MOVE:
- case HiveParser.KW_DO:
- case HiveParser.KW_ALLOC_FRACTION:
- case HiveParser.KW_SCHEDULING_POLICY:
- case HiveParser.KW_PATH:
- case HiveParser.KW_MAPPING:
- case HiveParser.KW_WORKLOAD:
- case HiveParser.KW_MANAGEMENT:
- case HiveParser.KW_ACTIVE:
- case HiveParser.KW_UNMANAGED:
- case HiveParser.KW_DELTA:
- case HiveParser.KW_CSV:
- case HiveParser.KW_JSON:
- case HiveParser.KW_BLOOMFILTER:
- case HiveParser.KW_STREAM:
- case HiveParser.LCURLY:
- case HiveParser.Identifier:
- this.enterOuterAlt(localctx, 1);
- this.state = 2420;
- this.identifier();
- break;
- case HiveParser.StringLiteral:
- this.enterOuterAlt(localctx, 2);
- this.state = 2421;
- this.match(HiveParser.StringLiteral);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- rowClause() {
- let localctx = new RowClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 308, HiveParser.RULE_rowClause);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2425;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_WITH) {
- this.state = 2424;
- this.match(HiveParser.KW_WITH);
- }
-
- this.state = 2427;
- this.match(HiveParser.KW_ROW);
- this.state = 2428;
- this.match(HiveParser.KW_FILTER);
- this.state = 2429;
- this.functionIdentifier();
- this.state = 2442;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ON) {
- this.state = 2430;
- this.match(HiveParser.KW_ON);
- this.state = 2431;
- this.match(HiveParser.LPAREN);
- this.state = 2432;
- this.identifier();
- this.state = 2437;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 2433;
- this.match(HiveParser.COMMA);
- this.state = 2434;
- this.identifier();
- this.state = 2439;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- this.state = 2440;
- this.match(HiveParser.RPAREN);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- triggerOnUpdateClause() {
- let localctx = new TriggerOnUpdateClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 310, HiveParser.RULE_triggerOnUpdateClause);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2444;
- this.match(HiveParser.KW_TRIGGER);
- this.state = 2445;
- this.match(HiveParser.KW_ON);
- this.state = 2446;
- this.match(HiveParser.KW_UPDATE);
- this.state = 2451;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_AT) {
- this.state = 2447;
- this.match(HiveParser.KW_AT);
- this.state = 2448;
- this.match(HiveParser.KW_MOST);
- this.state = 2449;
- this.match(HiveParser.KW_EVERY);
- this.state = 2450;
- this.intervalClause();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- intervalClause() {
- let localctx = new IntervalClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 312, HiveParser.RULE_intervalClause);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2453;
- this.match(HiveParser.KW_INTERVAL);
- this.state = 2455;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.Number) {
- this.state = 2454;
- this.match(HiveParser.Number);
- }
-
- this.state = 2457;
- this.intervalQualifier();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- intervalQualifier() {
- let localctx = new IntervalQualifierContext(this, this._ctx, this.state);
- this.enterRule(localctx, 314, HiveParser.RULE_intervalQualifier);
- var _la = 0; // Token type
- try {
- this.state = 2481;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_YEAR:
- this.enterOuterAlt(localctx, 1);
- this.state = 2459;
- this.match(HiveParser.KW_YEAR);
- this.state = 2462;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_TO) {
- this.state = 2460;
- this.match(HiveParser.KW_TO);
- this.state = 2461;
- this.match(HiveParser.KW_MONTH);
- }
-
- break;
- case HiveParser.KW_MONTH:
- this.enterOuterAlt(localctx, 2);
- this.state = 2464;
- this.match(HiveParser.KW_MONTH);
- break;
- case HiveParser.KW_DAY:
- this.enterOuterAlt(localctx, 3);
- this.state = 2465;
- this.match(HiveParser.KW_DAY);
- this.state = 2468;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_TO) {
- this.state = 2466;
- this.match(HiveParser.KW_TO);
- this.state = 2467;
- _la = this._input.LA(1);
- if (
- !(
- ((_la - 279) & ~0x1f) == 0 &&
- ((1 << (_la - 279)) &
- ((1 << (HiveParser.KW_HOUR - 279)) |
- (1 << (HiveParser.KW_MINUTE - 279)) |
- (1 << (HiveParser.KW_SECOND - 279)))) !==
- 0
- )
- ) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- }
-
- break;
- case HiveParser.KW_HOUR:
- this.enterOuterAlt(localctx, 4);
- this.state = 2470;
- this.match(HiveParser.KW_HOUR);
- this.state = 2473;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_TO) {
- this.state = 2471;
- this.match(HiveParser.KW_TO);
- this.state = 2472;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_MINUTE || _la === HiveParser.KW_SECOND)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- }
-
- break;
- case HiveParser.KW_MINUTE:
- this.enterOuterAlt(localctx, 5);
- this.state = 2475;
- this.match(HiveParser.KW_MINUTE);
- this.state = 2478;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_TO) {
- this.state = 2476;
- this.match(HiveParser.KW_TO);
- this.state = 2477;
- this.match(HiveParser.KW_SECOND);
- }
-
- break;
- case HiveParser.KW_SECOND:
- this.enterOuterAlt(localctx, 6);
- this.state = 2480;
- this.match(HiveParser.KW_SECOND);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- viewPartition() {
- let localctx = new ViewPartitionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 316, HiveParser.RULE_viewPartition);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2483;
- this.match(HiveParser.KW_PARTITIONED);
- this.state = 2484;
- this.match(HiveParser.KW_ON);
- this.state = 2485;
- this.match(HiveParser.LPAREN);
- this.state = 2486;
- this.columnNameList();
- this.state = 2487;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dropViewStatement() {
- let localctx = new DropViewStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 318, HiveParser.RULE_dropViewStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2489;
- this.match(HiveParser.KW_DROP);
- this.state = 2490;
- this.match(HiveParser.KW_VIEW);
- this.state = 2492;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 225, this._ctx);
- if (la_ === 1) {
- this.state = 2491;
- this.ifExists();
- }
- this.state = 2494;
- this.viewName();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dropMaterializedViewStatement() {
- let localctx = new DropMaterializedViewStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 320, HiveParser.RULE_dropMaterializedViewStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2496;
- this.match(HiveParser.KW_DROP);
- this.state = 2497;
- this.match(HiveParser.KW_MATERIALIZED);
- this.state = 2498;
- this.match(HiveParser.KW_VIEW);
- this.state = 2500;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 226, this._ctx);
- if (la_ === 1) {
- this.state = 2499;
- this.ifExists();
- }
- this.state = 2502;
- this.viewName();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- showFunctionIdentifier() {
- let localctx = new ShowFunctionIdentifierContext(this, this._ctx, this.state);
- this.enterRule(localctx, 322, HiveParser.RULE_showFunctionIdentifier);
- try {
- this.state = 2506;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_IF:
- case HiveParser.KW_ASC:
- case HiveParser.KW_DESC:
- case HiveParser.KW_NULLS:
- case HiveParser.KW_LAST:
- case HiveParser.KW_OVERWRITE:
- case HiveParser.KW_PARTITIONS:
- case HiveParser.KW_TABLE:
- case HiveParser.KW_TABLES:
- case HiveParser.KW_COLUMNS:
- case HiveParser.KW_INDEX:
- case HiveParser.KW_INDEXES:
- case HiveParser.KW_REBUILD:
- case HiveParser.KW_FUNCTIONS:
- case HiveParser.KW_SHOW:
- case HiveParser.KW_MSCK:
- case HiveParser.KW_REPAIR:
- case HiveParser.KW_DIRECTORY:
- case HiveParser.KW_CLUSTER:
- case HiveParser.KW_DISTRIBUTE:
- case HiveParser.KW_SORT:
- case HiveParser.KW_LOAD:
- case HiveParser.KW_EXPORT:
- case HiveParser.KW_REPLICATION:
- case HiveParser.KW_METADATA:
- case HiveParser.KW_DATA:
- case HiveParser.KW_INPATH:
- case HiveParser.KW_CHANGE:
- case HiveParser.KW_FIRST:
- case HiveParser.KW_AFTER:
- case HiveParser.KW_RENAME:
- case HiveParser.KW_COMMENT:
- case HiveParser.KW_BOOLEAN:
- case HiveParser.KW_TINYINT:
- case HiveParser.KW_SMALLINT:
- case HiveParser.KW_INT:
- case HiveParser.KW_BIGINT:
- case HiveParser.KW_FLOAT:
- case HiveParser.KW_DOUBLE:
- case HiveParser.KW_DATE:
- case HiveParser.KW_DATETIME:
- case HiveParser.KW_TIMESTAMP:
- case HiveParser.KW_TIME:
- case HiveParser.KW_ZONE:
- case HiveParser.KW_STRING:
- case HiveParser.KW_ARRAY:
- case HiveParser.KW_STRUCT:
- case HiveParser.KW_MAP:
- case HiveParser.KW_UNIONTYPE:
- case HiveParser.KW_PARTITIONED:
- case HiveParser.KW_CLUSTERED:
- case HiveParser.KW_SORTED:
- case HiveParser.KW_BUCKETS:
- case HiveParser.KW_FORMAT:
- case HiveParser.KW_DELIMITED:
- case HiveParser.KW_FIELDS:
- case HiveParser.KW_TERMINATED:
- case HiveParser.KW_ESCAPED:
- case HiveParser.KW_COLLECTION:
- case HiveParser.KW_ITEMS:
- case HiveParser.KW_KEYS:
- case HiveParser.KW_KEY_TYPE:
- case HiveParser.KW_KILL:
- case HiveParser.KW_LINES:
- case HiveParser.KW_STORED:
- case HiveParser.KW_FILEFORMAT:
- case HiveParser.KW_INPUTFORMAT:
- case HiveParser.KW_OUTPUTFORMAT:
- case HiveParser.KW_INPUTDRIVER:
- case HiveParser.KW_OUTPUTDRIVER:
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- case HiveParser.KW_LOCATION:
- case HiveParser.KW_BUCKET:
- case HiveParser.KW_ADD:
- case HiveParser.KW_REPLACE:
- case HiveParser.KW_TEMPORARY:
- case HiveParser.KW_FILE:
- case HiveParser.KW_JAR:
- case HiveParser.KW_EXPLAIN:
- case HiveParser.KW_FORMATTED:
- case HiveParser.KW_DEPENDENCY:
- case HiveParser.KW_LOGICAL:
- case HiveParser.KW_SERDE:
- case HiveParser.KW_DEFERRED:
- case HiveParser.KW_SERDEPROPERTIES:
- case HiveParser.KW_DBPROPERTIES:
- case HiveParser.KW_LIMIT:
- case HiveParser.KW_OFFSET:
- case HiveParser.KW_UNSET:
- case HiveParser.KW_TBLPROPERTIES:
- case HiveParser.KW_IDXPROPERTIES:
- case HiveParser.KW_VALUE_TYPE:
- case HiveParser.KW_ELEM_TYPE:
- case HiveParser.KW_DEFINED:
- case HiveParser.KW_MAPJOIN:
- case HiveParser.KW_STREAMTABLE:
- case HiveParser.KW_CLUSTERSTATUS:
- case HiveParser.KW_UTC:
- case HiveParser.KW_UTCTIMESTAMP:
- case HiveParser.KW_LONG:
- case HiveParser.KW_PLUS:
- case HiveParser.KW_VIEW:
- case HiveParser.KW_VIEWS:
- case HiveParser.KW_DATABASES:
- case HiveParser.KW_MATERIALIZED:
- case HiveParser.KW_SCHEMA:
- case HiveParser.KW_SCHEMAS:
- case HiveParser.KW_SSL:
- case HiveParser.KW_UNDO:
- case HiveParser.KW_LOCK:
- case HiveParser.KW_LOCKS:
- case HiveParser.KW_UNLOCK:
- case HiveParser.KW_SHARED:
- case HiveParser.KW_EXCLUSIVE:
- case HiveParser.KW_UNSIGNED:
- case HiveParser.KW_WHILE:
- case HiveParser.KW_READ:
- case HiveParser.KW_PURGE:
- case HiveParser.KW_ANALYZE:
- case HiveParser.KW_BEFORE:
- case HiveParser.KW_BINARY:
- case HiveParser.KW_CONTINUE:
- case HiveParser.KW_RECORDREADER:
- case HiveParser.KW_RECORDWRITER:
- case HiveParser.KW_SEMI:
- case HiveParser.KW_TOUCH:
- case HiveParser.KW_ARCHIVE:
- case HiveParser.KW_UNARCHIVE:
- case HiveParser.KW_COMPUTE:
- case HiveParser.KW_STATISTICS:
- case HiveParser.KW_USE:
- case HiveParser.KW_OPTION:
- case HiveParser.KW_CONCATENATE:
- case HiveParser.KW_CATALOG:
- case HiveParser.KW_SHOW_DATABASE:
- case HiveParser.KW_RESTRICT:
- case HiveParser.KW_CASCADE:
- case HiveParser.KW_SKEWED:
- case HiveParser.KW_DIRECTORIES:
- case HiveParser.KW_CURRENT_DATE:
- case HiveParser.KW_CURRENT_TIMESTAMP:
- case HiveParser.KW_GROUPING:
- case HiveParser.KW_SETS:
- case HiveParser.KW_NOSCAN:
- case HiveParser.KW_ROLE:
- case HiveParser.KW_ROLES:
- case HiveParser.KW_URI:
- case HiveParser.KW_SERVER:
- case HiveParser.KW_ADMIN:
- case HiveParser.KW_OWNER:
- case HiveParser.KW_PRINCIPALS:
- case HiveParser.KW_COMPACT:
- case HiveParser.KW_COMPACTIONS:
- case HiveParser.KW_TRANSACTIONS:
- case HiveParser.KW_REWRITE:
- case HiveParser.KW_REOPTIMIZATION:
- case HiveParser.KW_RELOAD:
- case HiveParser.KW_YEAR:
- case HiveParser.KW_QUERY:
- case HiveParser.KW_QUARTER:
- case HiveParser.KW_MONTH:
- case HiveParser.KW_WEEK:
- case HiveParser.KW_DAY:
- case HiveParser.KW_DOW:
- case HiveParser.KW_HOUR:
- case HiveParser.KW_MINUTE:
- case HiveParser.KW_SECOND:
- case HiveParser.KW_TRANSACTION:
- case HiveParser.KW_WORK:
- case HiveParser.KW_WRITE:
- case HiveParser.KW_ISOLATION:
- case HiveParser.KW_LEVEL:
- case HiveParser.KW_SNAPSHOT:
- case HiveParser.KW_AUTOCOMMIT:
- case HiveParser.KW_CACHE:
- case HiveParser.KW_ENFORCED:
- case HiveParser.KW_VALIDATE:
- case HiveParser.KW_NOVALIDATE:
- case HiveParser.KW_RELY:
- case HiveParser.KW_NORELY:
- case HiveParser.KW_KEY:
- case HiveParser.KW_ABORT:
- case HiveParser.KW_MATCHED:
- case HiveParser.KW_REPL:
- case HiveParser.KW_DUMP:
- case HiveParser.KW_STATUS:
- case HiveParser.KW_VECTORIZATION:
- case HiveParser.KW_SUMMARY:
- case HiveParser.KW_OPERATOR:
- case HiveParser.KW_EXPRESSION:
- case HiveParser.KW_DETAIL:
- case HiveParser.KW_WAIT:
- case HiveParser.KW_RESOURCE:
- case HiveParser.KW_PLAN:
- case HiveParser.KW_QUERY_PARALLELISM:
- case HiveParser.KW_PLANS:
- case HiveParser.KW_ACTIVATE:
- case HiveParser.KW_DEFAULT:
- case HiveParser.KW_CHECK:
- case HiveParser.KW_POOL:
- case HiveParser.KW_MOVE:
- case HiveParser.KW_DO:
- case HiveParser.KW_ALLOC_FRACTION:
- case HiveParser.KW_SCHEDULING_POLICY:
- case HiveParser.KW_PATH:
- case HiveParser.KW_MAPPING:
- case HiveParser.KW_WORKLOAD:
- case HiveParser.KW_MANAGEMENT:
- case HiveParser.KW_ACTIVE:
- case HiveParser.KW_UNMANAGED:
- case HiveParser.KW_DELTA:
- case HiveParser.KW_CSV:
- case HiveParser.KW_JSON:
- case HiveParser.KW_BLOOMFILTER:
- case HiveParser.KW_STREAM:
- case HiveParser.LCURLY:
- case HiveParser.Identifier:
- this.enterOuterAlt(localctx, 1);
- this.state = 2504;
- this.functionIdentifier();
- break;
- case HiveParser.StringLiteral:
- this.enterOuterAlt(localctx, 2);
- this.state = 2505;
- this.match(HiveParser.StringLiteral);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- showStmtIdentifier() {
- let localctx = new ShowStmtIdentifierContext(this, this._ctx, this.state);
- this.enterRule(localctx, 324, HiveParser.RULE_showStmtIdentifier);
- try {
- this.state = 2510;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_IF:
- case HiveParser.KW_ASC:
- case HiveParser.KW_DESC:
- case HiveParser.KW_NULLS:
- case HiveParser.KW_LAST:
- case HiveParser.KW_OVERWRITE:
- case HiveParser.KW_PARTITIONS:
- case HiveParser.KW_TABLE:
- case HiveParser.KW_TABLES:
- case HiveParser.KW_COLUMNS:
- case HiveParser.KW_INDEX:
- case HiveParser.KW_INDEXES:
- case HiveParser.KW_REBUILD:
- case HiveParser.KW_FUNCTIONS:
- case HiveParser.KW_SHOW:
- case HiveParser.KW_MSCK:
- case HiveParser.KW_REPAIR:
- case HiveParser.KW_DIRECTORY:
- case HiveParser.KW_CLUSTER:
- case HiveParser.KW_DISTRIBUTE:
- case HiveParser.KW_SORT:
- case HiveParser.KW_LOAD:
- case HiveParser.KW_EXPORT:
- case HiveParser.KW_REPLICATION:
- case HiveParser.KW_METADATA:
- case HiveParser.KW_DATA:
- case HiveParser.KW_INPATH:
- case HiveParser.KW_CHANGE:
- case HiveParser.KW_FIRST:
- case HiveParser.KW_AFTER:
- case HiveParser.KW_RENAME:
- case HiveParser.KW_COMMENT:
- case HiveParser.KW_BOOLEAN:
- case HiveParser.KW_TINYINT:
- case HiveParser.KW_SMALLINT:
- case HiveParser.KW_INT:
- case HiveParser.KW_BIGINT:
- case HiveParser.KW_FLOAT:
- case HiveParser.KW_DOUBLE:
- case HiveParser.KW_DATE:
- case HiveParser.KW_DATETIME:
- case HiveParser.KW_TIMESTAMP:
- case HiveParser.KW_TIME:
- case HiveParser.KW_ZONE:
- case HiveParser.KW_STRING:
- case HiveParser.KW_ARRAY:
- case HiveParser.KW_STRUCT:
- case HiveParser.KW_MAP:
- case HiveParser.KW_UNIONTYPE:
- case HiveParser.KW_PARTITIONED:
- case HiveParser.KW_CLUSTERED:
- case HiveParser.KW_SORTED:
- case HiveParser.KW_BUCKETS:
- case HiveParser.KW_FORMAT:
- case HiveParser.KW_DELIMITED:
- case HiveParser.KW_FIELDS:
- case HiveParser.KW_TERMINATED:
- case HiveParser.KW_ESCAPED:
- case HiveParser.KW_COLLECTION:
- case HiveParser.KW_ITEMS:
- case HiveParser.KW_KEYS:
- case HiveParser.KW_KEY_TYPE:
- case HiveParser.KW_KILL:
- case HiveParser.KW_LINES:
- case HiveParser.KW_STORED:
- case HiveParser.KW_FILEFORMAT:
- case HiveParser.KW_INPUTFORMAT:
- case HiveParser.KW_OUTPUTFORMAT:
- case HiveParser.KW_INPUTDRIVER:
- case HiveParser.KW_OUTPUTDRIVER:
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- case HiveParser.KW_LOCATION:
- case HiveParser.KW_BUCKET:
- case HiveParser.KW_ADD:
- case HiveParser.KW_REPLACE:
- case HiveParser.KW_TEMPORARY:
- case HiveParser.KW_FILE:
- case HiveParser.KW_JAR:
- case HiveParser.KW_EXPLAIN:
- case HiveParser.KW_FORMATTED:
- case HiveParser.KW_DEPENDENCY:
- case HiveParser.KW_LOGICAL:
- case HiveParser.KW_SERDE:
- case HiveParser.KW_DEFERRED:
- case HiveParser.KW_SERDEPROPERTIES:
- case HiveParser.KW_DBPROPERTIES:
- case HiveParser.KW_LIMIT:
- case HiveParser.KW_OFFSET:
- case HiveParser.KW_UNSET:
- case HiveParser.KW_TBLPROPERTIES:
- case HiveParser.KW_IDXPROPERTIES:
- case HiveParser.KW_VALUE_TYPE:
- case HiveParser.KW_ELEM_TYPE:
- case HiveParser.KW_DEFINED:
- case HiveParser.KW_MAPJOIN:
- case HiveParser.KW_STREAMTABLE:
- case HiveParser.KW_CLUSTERSTATUS:
- case HiveParser.KW_UTC:
- case HiveParser.KW_UTCTIMESTAMP:
- case HiveParser.KW_LONG:
- case HiveParser.KW_PLUS:
- case HiveParser.KW_VIEW:
- case HiveParser.KW_VIEWS:
- case HiveParser.KW_DATABASES:
- case HiveParser.KW_MATERIALIZED:
- case HiveParser.KW_SCHEMA:
- case HiveParser.KW_SCHEMAS:
- case HiveParser.KW_SSL:
- case HiveParser.KW_UNDO:
- case HiveParser.KW_LOCK:
- case HiveParser.KW_LOCKS:
- case HiveParser.KW_UNLOCK:
- case HiveParser.KW_SHARED:
- case HiveParser.KW_EXCLUSIVE:
- case HiveParser.KW_UNSIGNED:
- case HiveParser.KW_WHILE:
- case HiveParser.KW_READ:
- case HiveParser.KW_PURGE:
- case HiveParser.KW_ANALYZE:
- case HiveParser.KW_BEFORE:
- case HiveParser.KW_BINARY:
- case HiveParser.KW_CONTINUE:
- case HiveParser.KW_RECORDREADER:
- case HiveParser.KW_RECORDWRITER:
- case HiveParser.KW_SEMI:
- case HiveParser.KW_TOUCH:
- case HiveParser.KW_ARCHIVE:
- case HiveParser.KW_UNARCHIVE:
- case HiveParser.KW_COMPUTE:
- case HiveParser.KW_STATISTICS:
- case HiveParser.KW_USE:
- case HiveParser.KW_OPTION:
- case HiveParser.KW_CONCATENATE:
- case HiveParser.KW_CATALOG:
- case HiveParser.KW_SHOW_DATABASE:
- case HiveParser.KW_RESTRICT:
- case HiveParser.KW_CASCADE:
- case HiveParser.KW_SKEWED:
- case HiveParser.KW_DIRECTORIES:
- case HiveParser.KW_CURRENT_DATE:
- case HiveParser.KW_CURRENT_TIMESTAMP:
- case HiveParser.KW_GROUPING:
- case HiveParser.KW_SETS:
- case HiveParser.KW_NOSCAN:
- case HiveParser.KW_ROLE:
- case HiveParser.KW_ROLES:
- case HiveParser.KW_URI:
- case HiveParser.KW_SERVER:
- case HiveParser.KW_ADMIN:
- case HiveParser.KW_OWNER:
- case HiveParser.KW_PRINCIPALS:
- case HiveParser.KW_COMPACT:
- case HiveParser.KW_COMPACTIONS:
- case HiveParser.KW_TRANSACTIONS:
- case HiveParser.KW_REWRITE:
- case HiveParser.KW_REOPTIMIZATION:
- case HiveParser.KW_RELOAD:
- case HiveParser.KW_YEAR:
- case HiveParser.KW_QUERY:
- case HiveParser.KW_QUARTER:
- case HiveParser.KW_MONTH:
- case HiveParser.KW_WEEK:
- case HiveParser.KW_DAY:
- case HiveParser.KW_DOW:
- case HiveParser.KW_HOUR:
- case HiveParser.KW_MINUTE:
- case HiveParser.KW_SECOND:
- case HiveParser.KW_TRANSACTION:
- case HiveParser.KW_WORK:
- case HiveParser.KW_WRITE:
- case HiveParser.KW_ISOLATION:
- case HiveParser.KW_LEVEL:
- case HiveParser.KW_SNAPSHOT:
- case HiveParser.KW_AUTOCOMMIT:
- case HiveParser.KW_CACHE:
- case HiveParser.KW_ENFORCED:
- case HiveParser.KW_VALIDATE:
- case HiveParser.KW_NOVALIDATE:
- case HiveParser.KW_RELY:
- case HiveParser.KW_NORELY:
- case HiveParser.KW_KEY:
- case HiveParser.KW_ABORT:
- case HiveParser.KW_MATCHED:
- case HiveParser.KW_REPL:
- case HiveParser.KW_DUMP:
- case HiveParser.KW_STATUS:
- case HiveParser.KW_VECTORIZATION:
- case HiveParser.KW_SUMMARY:
- case HiveParser.KW_OPERATOR:
- case HiveParser.KW_EXPRESSION:
- case HiveParser.KW_DETAIL:
- case HiveParser.KW_WAIT:
- case HiveParser.KW_RESOURCE:
- case HiveParser.KW_PLAN:
- case HiveParser.KW_QUERY_PARALLELISM:
- case HiveParser.KW_PLANS:
- case HiveParser.KW_ACTIVATE:
- case HiveParser.KW_DEFAULT:
- case HiveParser.KW_CHECK:
- case HiveParser.KW_POOL:
- case HiveParser.KW_MOVE:
- case HiveParser.KW_DO:
- case HiveParser.KW_ALLOC_FRACTION:
- case HiveParser.KW_SCHEDULING_POLICY:
- case HiveParser.KW_PATH:
- case HiveParser.KW_MAPPING:
- case HiveParser.KW_WORKLOAD:
- case HiveParser.KW_MANAGEMENT:
- case HiveParser.KW_ACTIVE:
- case HiveParser.KW_UNMANAGED:
- case HiveParser.KW_DELTA:
- case HiveParser.KW_CSV:
- case HiveParser.KW_JSON:
- case HiveParser.KW_BLOOMFILTER:
- case HiveParser.KW_STREAM:
- case HiveParser.LCURLY:
- case HiveParser.Identifier:
- this.enterOuterAlt(localctx, 1);
- this.state = 2508;
- this.identifier();
- break;
- case HiveParser.StringLiteral:
- this.enterOuterAlt(localctx, 2);
- this.state = 2509;
- this.match(HiveParser.StringLiteral);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableComment() {
- let localctx = new TableCommentContext(this, this._ctx, this.state);
- this.enterRule(localctx, 326, HiveParser.RULE_tableComment);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2512;
- this.match(HiveParser.KW_COMMENT);
- this.state = 2513;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableUsingDataSource() {
- let localctx = new TableUsingDataSourceContext(this, this._ctx, this.state);
- this.enterRule(localctx, 328, HiveParser.RULE_tableUsingDataSource);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2515;
- this.match(HiveParser.KW_USING);
- this.state = 2516;
- this.tableDataSource();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableDataSource() {
- let localctx = new TableDataSourceContext(this, this._ctx, this.state);
- this.enterRule(localctx, 330, HiveParser.RULE_tableDataSource);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2518;
- _la = this._input.LA(1);
- if (
- !(
- ((_la - 343) & ~0x1f) == 0 &&
- ((1 << (_la - 343)) &
- ((1 << (HiveParser.KW_ORC - 343)) |
- (1 << (HiveParser.KW_PARQUET - 343)) |
- (1 << (HiveParser.KW_DELTA - 343)) |
- (1 << (HiveParser.KW_AVRO - 343)) |
- (1 << (HiveParser.KW_CSV - 343)) |
- (1 << (HiveParser.KW_JSON - 343)))) !==
- 0
- )
- ) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tablePartition() {
- let localctx = new TablePartitionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 332, HiveParser.RULE_tablePartition);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2520;
- this.match(HiveParser.KW_PARTITIONED);
- this.state = 2521;
- this.match(HiveParser.KW_BY);
- this.state = 2522;
- this.match(HiveParser.LPAREN);
- this.state = 2523;
- this.partitionedColumnNameTypeConstraint();
- this.state = 2528;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 2524;
- this.match(HiveParser.COMMA);
- this.state = 2525;
- this.partitionedColumnNameTypeConstraint();
- this.state = 2530;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- this.state = 2531;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableBuckets() {
- let localctx = new TableBucketsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 334, HiveParser.RULE_tableBuckets);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2533;
- this.match(HiveParser.KW_CLUSTERED);
- this.state = 2534;
- this.match(HiveParser.KW_BY);
- this.state = 2535;
- this.match(HiveParser.LPAREN);
- this.state = 2536;
- this.columnNameList();
- this.state = 2537;
- this.match(HiveParser.RPAREN);
- this.state = 2544;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_SORTED) {
- this.state = 2538;
- this.match(HiveParser.KW_SORTED);
- this.state = 2539;
- this.match(HiveParser.KW_BY);
- this.state = 2540;
- this.match(HiveParser.LPAREN);
- this.state = 2541;
- this.columnNameOrderList();
- this.state = 2542;
- this.match(HiveParser.RPAREN);
- }
-
- this.state = 2546;
- this.match(HiveParser.KW_INTO);
- this.state = 2547;
- this.match(HiveParser.Number);
- this.state = 2548;
- this.match(HiveParser.KW_BUCKETS);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableSkewed() {
- let localctx = new TableSkewedContext(this, this._ctx, this.state);
- this.enterRule(localctx, 336, HiveParser.RULE_tableSkewed);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2550;
- this.match(HiveParser.KW_SKEWED);
- this.state = 2551;
- this.match(HiveParser.KW_BY);
- this.state = 2552;
- this.match(HiveParser.LPAREN);
- this.state = 2553;
- this.columnNameList();
- this.state = 2554;
- this.match(HiveParser.RPAREN);
- this.state = 2555;
- this.match(HiveParser.KW_ON);
- this.state = 2556;
- this.match(HiveParser.LPAREN);
- this.state = 2557;
- this.skewedValueElement();
- this.state = 2558;
- this.match(HiveParser.RPAREN);
- this.state = 2560;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 231, this._ctx);
- if (la_ === 1) {
- this.state = 2559;
- this.storedAsDirs();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- rowFormat() {
- let localctx = new RowFormatContext(this, this._ctx, this.state);
- this.enterRule(localctx, 338, HiveParser.RULE_rowFormat);
- try {
- this.state = 2564;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 232, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 2562;
- this.rowFormatSerde();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 2563;
- this.rowFormatDelimited();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- recordReader() {
- let localctx = new RecordReaderContext(this, this._ctx, this.state);
- this.enterRule(localctx, 340, HiveParser.RULE_recordReader);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2566;
- this.match(HiveParser.KW_RECORDREADER);
- this.state = 2567;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- recordWriter() {
- let localctx = new RecordWriterContext(this, this._ctx, this.state);
- this.enterRule(localctx, 342, HiveParser.RULE_recordWriter);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2569;
- this.match(HiveParser.KW_RECORDWRITER);
- this.state = 2570;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- rowFormatSerde() {
- let localctx = new RowFormatSerdeContext(this, this._ctx, this.state);
- this.enterRule(localctx, 344, HiveParser.RULE_rowFormatSerde);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2572;
- this.match(HiveParser.KW_ROW);
- this.state = 2573;
- this.match(HiveParser.KW_FORMAT);
- this.state = 2574;
- this.match(HiveParser.KW_SERDE);
- this.state = 2575;
- this.match(HiveParser.StringLiteral);
- this.state = 2579;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 233, this._ctx);
- if (la_ === 1) {
- this.state = 2576;
- this.match(HiveParser.KW_WITH);
- this.state = 2577;
- this.match(HiveParser.KW_SERDEPROPERTIES);
- this.state = 2578;
- this.tableProperties();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- rowFormatDelimited() {
- let localctx = new RowFormatDelimitedContext(this, this._ctx, this.state);
- this.enterRule(localctx, 346, HiveParser.RULE_rowFormatDelimited);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2581;
- this.match(HiveParser.KW_ROW);
- this.state = 2582;
- this.match(HiveParser.KW_FORMAT);
- this.state = 2583;
- this.match(HiveParser.KW_DELIMITED);
- this.state = 2585;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_FIELDS) {
- this.state = 2584;
- this.tableRowFormatFieldIdentifier();
- }
-
- this.state = 2588;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_COLLECTION) {
- this.state = 2587;
- this.tableRowFormatCollItemsIdentifier();
- }
-
- this.state = 2591;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 236, this._ctx);
- if (la_ === 1) {
- this.state = 2590;
- this.tableRowFormatMapKeysIdentifier();
- }
- this.state = 2594;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_LINES) {
- this.state = 2593;
- this.tableRowFormatLinesIdentifier();
- }
-
- this.state = 2597;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_NULL) {
- this.state = 2596;
- this.tableRowNullFormat();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableRowFormat() {
- let localctx = new TableRowFormatContext(this, this._ctx, this.state);
- this.enterRule(localctx, 348, HiveParser.RULE_tableRowFormat);
- try {
- this.state = 2601;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 239, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 2599;
- this.rowFormatDelimited();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 2600;
- this.rowFormatSerde();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableOptions() {
- let localctx = new TableOptionsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 350, HiveParser.RULE_tableOptions);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2603;
- this.match(HiveParser.KW_OPTIONS);
- this.state = 2604;
- this.tableProperties();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tablePropertiesPrefixed() {
- let localctx = new TablePropertiesPrefixedContext(this, this._ctx, this.state);
- this.enterRule(localctx, 352, HiveParser.RULE_tablePropertiesPrefixed);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2606;
- this.match(HiveParser.KW_TBLPROPERTIES);
- this.state = 2607;
- this.tableProperties();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableProperties() {
- let localctx = new TablePropertiesContext(this, this._ctx, this.state);
- this.enterRule(localctx, 354, HiveParser.RULE_tableProperties);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2609;
- this.match(HiveParser.LPAREN);
- this.state = 2610;
- this.tablePropertiesList();
- this.state = 2611;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tablePropertiesList() {
- let localctx = new TablePropertiesListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 356, HiveParser.RULE_tablePropertiesList);
- var _la = 0; // Token type
- try {
- this.state = 2629;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 242, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 2613;
- this.keyValueProperty();
- this.state = 2618;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 2614;
- this.match(HiveParser.COMMA);
- this.state = 2615;
- this.keyValueProperty();
- this.state = 2620;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 2621;
- this.keyProperty();
- this.state = 2626;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 2622;
- this.match(HiveParser.COMMA);
- this.state = 2623;
- this.keyProperty();
- this.state = 2628;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- keyValueProperty() {
- let localctx = new KeyValuePropertyContext(this, this._ctx, this.state);
- this.enterRule(localctx, 358, HiveParser.RULE_keyValueProperty);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2631;
- this.keyProperty();
- this.state = 2633;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.EQUAL) {
- this.state = 2632;
- this.match(HiveParser.EQUAL);
- }
-
- this.state = 2635;
- this.keyValue();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- keyValue() {
- let localctx = new KeyValueContext(this, this._ctx, this.state);
- this.enterRule(localctx, 360, HiveParser.RULE_keyValue);
- try {
- this.state = 2640;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.Number:
- this.enterOuterAlt(localctx, 1);
- this.state = 2637;
- this.match(HiveParser.Number);
- break;
- case HiveParser.KW_TRUE:
- case HiveParser.KW_FALSE:
- this.enterOuterAlt(localctx, 2);
- this.state = 2638;
- this.booleanValue();
- break;
- case HiveParser.StringLiteral:
- this.enterOuterAlt(localctx, 3);
- this.state = 2639;
- this.match(HiveParser.StringLiteral);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- keyProperty() {
- let localctx = new KeyPropertyContext(this, this._ctx, this.state);
- this.enterRule(localctx, 362, HiveParser.RULE_keyProperty);
- var _la = 0; // Token type
- try {
- this.state = 2651;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_IF:
- case HiveParser.KW_ASC:
- case HiveParser.KW_DESC:
- case HiveParser.KW_NULLS:
- case HiveParser.KW_LAST:
- case HiveParser.KW_OVERWRITE:
- case HiveParser.KW_PARTITIONS:
- case HiveParser.KW_TABLE:
- case HiveParser.KW_TABLES:
- case HiveParser.KW_COLUMNS:
- case HiveParser.KW_INDEX:
- case HiveParser.KW_INDEXES:
- case HiveParser.KW_REBUILD:
- case HiveParser.KW_FUNCTIONS:
- case HiveParser.KW_SHOW:
- case HiveParser.KW_MSCK:
- case HiveParser.KW_REPAIR:
- case HiveParser.KW_DIRECTORY:
- case HiveParser.KW_CLUSTER:
- case HiveParser.KW_DISTRIBUTE:
- case HiveParser.KW_SORT:
- case HiveParser.KW_LOAD:
- case HiveParser.KW_EXPORT:
- case HiveParser.KW_REPLICATION:
- case HiveParser.KW_METADATA:
- case HiveParser.KW_DATA:
- case HiveParser.KW_INPATH:
- case HiveParser.KW_CHANGE:
- case HiveParser.KW_FIRST:
- case HiveParser.KW_AFTER:
- case HiveParser.KW_RENAME:
- case HiveParser.KW_COMMENT:
- case HiveParser.KW_BOOLEAN:
- case HiveParser.KW_TINYINT:
- case HiveParser.KW_SMALLINT:
- case HiveParser.KW_INT:
- case HiveParser.KW_BIGINT:
- case HiveParser.KW_FLOAT:
- case HiveParser.KW_DOUBLE:
- case HiveParser.KW_DATE:
- case HiveParser.KW_DATETIME:
- case HiveParser.KW_TIMESTAMP:
- case HiveParser.KW_TIME:
- case HiveParser.KW_ZONE:
- case HiveParser.KW_STRING:
- case HiveParser.KW_ARRAY:
- case HiveParser.KW_STRUCT:
- case HiveParser.KW_MAP:
- case HiveParser.KW_UNIONTYPE:
- case HiveParser.KW_PARTITIONED:
- case HiveParser.KW_CLUSTERED:
- case HiveParser.KW_SORTED:
- case HiveParser.KW_BUCKETS:
- case HiveParser.KW_FORMAT:
- case HiveParser.KW_DELIMITED:
- case HiveParser.KW_FIELDS:
- case HiveParser.KW_TERMINATED:
- case HiveParser.KW_ESCAPED:
- case HiveParser.KW_COLLECTION:
- case HiveParser.KW_ITEMS:
- case HiveParser.KW_KEYS:
- case HiveParser.KW_KEY_TYPE:
- case HiveParser.KW_KILL:
- case HiveParser.KW_LINES:
- case HiveParser.KW_STORED:
- case HiveParser.KW_FILEFORMAT:
- case HiveParser.KW_INPUTFORMAT:
- case HiveParser.KW_OUTPUTFORMAT:
- case HiveParser.KW_INPUTDRIVER:
- case HiveParser.KW_OUTPUTDRIVER:
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- case HiveParser.KW_LOCATION:
- case HiveParser.KW_BUCKET:
- case HiveParser.KW_ADD:
- case HiveParser.KW_REPLACE:
- case HiveParser.KW_TEMPORARY:
- case HiveParser.KW_FILE:
- case HiveParser.KW_JAR:
- case HiveParser.KW_EXPLAIN:
- case HiveParser.KW_FORMATTED:
- case HiveParser.KW_DEPENDENCY:
- case HiveParser.KW_LOGICAL:
- case HiveParser.KW_SERDE:
- case HiveParser.KW_DEFERRED:
- case HiveParser.KW_SERDEPROPERTIES:
- case HiveParser.KW_DBPROPERTIES:
- case HiveParser.KW_LIMIT:
- case HiveParser.KW_OFFSET:
- case HiveParser.KW_UNSET:
- case HiveParser.KW_TBLPROPERTIES:
- case HiveParser.KW_IDXPROPERTIES:
- case HiveParser.KW_VALUE_TYPE:
- case HiveParser.KW_ELEM_TYPE:
- case HiveParser.KW_DEFINED:
- case HiveParser.KW_MAPJOIN:
- case HiveParser.KW_STREAMTABLE:
- case HiveParser.KW_CLUSTERSTATUS:
- case HiveParser.KW_UTC:
- case HiveParser.KW_UTCTIMESTAMP:
- case HiveParser.KW_LONG:
- case HiveParser.KW_PLUS:
- case HiveParser.KW_VIEW:
- case HiveParser.KW_VIEWS:
- case HiveParser.KW_DATABASES:
- case HiveParser.KW_MATERIALIZED:
- case HiveParser.KW_SCHEMA:
- case HiveParser.KW_SCHEMAS:
- case HiveParser.KW_SSL:
- case HiveParser.KW_UNDO:
- case HiveParser.KW_LOCK:
- case HiveParser.KW_LOCKS:
- case HiveParser.KW_UNLOCK:
- case HiveParser.KW_SHARED:
- case HiveParser.KW_EXCLUSIVE:
- case HiveParser.KW_UNSIGNED:
- case HiveParser.KW_WHILE:
- case HiveParser.KW_READ:
- case HiveParser.KW_PURGE:
- case HiveParser.KW_ANALYZE:
- case HiveParser.KW_BEFORE:
- case HiveParser.KW_BINARY:
- case HiveParser.KW_CONTINUE:
- case HiveParser.KW_RECORDREADER:
- case HiveParser.KW_RECORDWRITER:
- case HiveParser.KW_SEMI:
- case HiveParser.KW_TOUCH:
- case HiveParser.KW_ARCHIVE:
- case HiveParser.KW_UNARCHIVE:
- case HiveParser.KW_COMPUTE:
- case HiveParser.KW_STATISTICS:
- case HiveParser.KW_USE:
- case HiveParser.KW_OPTION:
- case HiveParser.KW_CONCATENATE:
- case HiveParser.KW_CATALOG:
- case HiveParser.KW_SHOW_DATABASE:
- case HiveParser.KW_RESTRICT:
- case HiveParser.KW_CASCADE:
- case HiveParser.KW_SKEWED:
- case HiveParser.KW_DIRECTORIES:
- case HiveParser.KW_CURRENT_DATE:
- case HiveParser.KW_CURRENT_TIMESTAMP:
- case HiveParser.KW_GROUPING:
- case HiveParser.KW_SETS:
- case HiveParser.KW_NOSCAN:
- case HiveParser.KW_ROLE:
- case HiveParser.KW_ROLES:
- case HiveParser.KW_URI:
- case HiveParser.KW_SERVER:
- case HiveParser.KW_ADMIN:
- case HiveParser.KW_OWNER:
- case HiveParser.KW_PRINCIPALS:
- case HiveParser.KW_COMPACT:
- case HiveParser.KW_COMPACTIONS:
- case HiveParser.KW_TRANSACTIONS:
- case HiveParser.KW_REWRITE:
- case HiveParser.KW_REOPTIMIZATION:
- case HiveParser.KW_RELOAD:
- case HiveParser.KW_YEAR:
- case HiveParser.KW_QUERY:
- case HiveParser.KW_QUARTER:
- case HiveParser.KW_MONTH:
- case HiveParser.KW_WEEK:
- case HiveParser.KW_DAY:
- case HiveParser.KW_DOW:
- case HiveParser.KW_HOUR:
- case HiveParser.KW_MINUTE:
- case HiveParser.KW_SECOND:
- case HiveParser.KW_TRANSACTION:
- case HiveParser.KW_WORK:
- case HiveParser.KW_WRITE:
- case HiveParser.KW_ISOLATION:
- case HiveParser.KW_LEVEL:
- case HiveParser.KW_SNAPSHOT:
- case HiveParser.KW_AUTOCOMMIT:
- case HiveParser.KW_CACHE:
- case HiveParser.KW_ENFORCED:
- case HiveParser.KW_VALIDATE:
- case HiveParser.KW_NOVALIDATE:
- case HiveParser.KW_RELY:
- case HiveParser.KW_NORELY:
- case HiveParser.KW_KEY:
- case HiveParser.KW_ABORT:
- case HiveParser.KW_MATCHED:
- case HiveParser.KW_REPL:
- case HiveParser.KW_DUMP:
- case HiveParser.KW_STATUS:
- case HiveParser.KW_VECTORIZATION:
- case HiveParser.KW_SUMMARY:
- case HiveParser.KW_OPERATOR:
- case HiveParser.KW_EXPRESSION:
- case HiveParser.KW_DETAIL:
- case HiveParser.KW_WAIT:
- case HiveParser.KW_RESOURCE:
- case HiveParser.KW_PLAN:
- case HiveParser.KW_QUERY_PARALLELISM:
- case HiveParser.KW_PLANS:
- case HiveParser.KW_ACTIVATE:
- case HiveParser.KW_DEFAULT:
- case HiveParser.KW_CHECK:
- case HiveParser.KW_POOL:
- case HiveParser.KW_MOVE:
- case HiveParser.KW_DO:
- case HiveParser.KW_ALLOC_FRACTION:
- case HiveParser.KW_SCHEDULING_POLICY:
- case HiveParser.KW_PATH:
- case HiveParser.KW_MAPPING:
- case HiveParser.KW_WORKLOAD:
- case HiveParser.KW_MANAGEMENT:
- case HiveParser.KW_ACTIVE:
- case HiveParser.KW_UNMANAGED:
- case HiveParser.KW_DELTA:
- case HiveParser.KW_CSV:
- case HiveParser.KW_JSON:
- case HiveParser.KW_BLOOMFILTER:
- case HiveParser.KW_STREAM:
- case HiveParser.LCURLY:
- case HiveParser.Identifier:
- this.enterOuterAlt(localctx, 1);
- this.state = 2642;
- this.identifier();
- this.state = 2647;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.DOT) {
- this.state = 2643;
- this.match(HiveParser.DOT);
- this.state = 2644;
- this.identifier();
- this.state = 2649;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- break;
- case HiveParser.StringLiteral:
- this.enterOuterAlt(localctx, 2);
- this.state = 2650;
- this.match(HiveParser.StringLiteral);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableRowFormatFieldIdentifier() {
- let localctx = new TableRowFormatFieldIdentifierContext(this, this._ctx, this.state);
- this.enterRule(localctx, 364, HiveParser.RULE_tableRowFormatFieldIdentifier);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2653;
- this.match(HiveParser.KW_FIELDS);
- this.state = 2654;
- this.match(HiveParser.KW_TERMINATED);
- this.state = 2655;
- this.match(HiveParser.KW_BY);
- this.state = 2656;
- this.match(HiveParser.StringLiteral);
- this.state = 2658;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ESCAPED) {
- this.state = 2657;
- this.tableRowFormatFieldIdentifierEcapedBy();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableRowFormatFieldIdentifierEcapedBy() {
- let localctx = new TableRowFormatFieldIdentifierEcapedByContext(this, this._ctx, this.state);
- this.enterRule(localctx, 366, HiveParser.RULE_tableRowFormatFieldIdentifierEcapedBy);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2660;
- this.match(HiveParser.KW_ESCAPED);
- this.state = 2661;
- this.match(HiveParser.KW_BY);
- this.state = 2662;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableRowFormatCollItemsIdentifier() {
- let localctx = new TableRowFormatCollItemsIdentifierContext(this, this._ctx, this.state);
- this.enterRule(localctx, 368, HiveParser.RULE_tableRowFormatCollItemsIdentifier);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2664;
- this.match(HiveParser.KW_COLLECTION);
- this.state = 2665;
- this.match(HiveParser.KW_ITEMS);
- this.state = 2666;
- this.match(HiveParser.KW_TERMINATED);
- this.state = 2667;
- this.match(HiveParser.KW_BY);
- this.state = 2668;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableRowFormatMapKeysIdentifier() {
- let localctx = new TableRowFormatMapKeysIdentifierContext(this, this._ctx, this.state);
- this.enterRule(localctx, 370, HiveParser.RULE_tableRowFormatMapKeysIdentifier);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2670;
- this.match(HiveParser.KW_MAP);
- this.state = 2671;
- this.match(HiveParser.KW_KEYS);
- this.state = 2672;
- this.match(HiveParser.KW_TERMINATED);
- this.state = 2673;
- this.match(HiveParser.KW_BY);
- this.state = 2674;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableRowFormatLinesIdentifier() {
- let localctx = new TableRowFormatLinesIdentifierContext(this, this._ctx, this.state);
- this.enterRule(localctx, 372, HiveParser.RULE_tableRowFormatLinesIdentifier);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2676;
- this.match(HiveParser.KW_LINES);
- this.state = 2677;
- this.match(HiveParser.KW_TERMINATED);
- this.state = 2678;
- this.match(HiveParser.KW_BY);
- this.state = 2679;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableRowNullFormat() {
- let localctx = new TableRowNullFormatContext(this, this._ctx, this.state);
- this.enterRule(localctx, 374, HiveParser.RULE_tableRowNullFormat);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2681;
- this.match(HiveParser.KW_NULL);
- this.state = 2682;
- this.match(HiveParser.KW_DEFINED);
- this.state = 2683;
- this.match(HiveParser.KW_AS);
- this.state = 2684;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableFileFormat() {
- let localctx = new TableFileFormatContext(this, this._ctx, this.state);
- this.enterRule(localctx, 376, HiveParser.RULE_tableFileFormat);
- try {
- this.state = 2689;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 248, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 2686;
- this.tableInputOutputFileFormat();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 2687;
- this.tableFileFormatStoredBy();
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 2688;
- this.tableFileFormatStoredAs();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableFileFormatStoredBy() {
- let localctx = new TableFileFormatStoredByContext(this, this._ctx, this.state);
- this.enterRule(localctx, 378, HiveParser.RULE_tableFileFormatStoredBy);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2691;
- this.match(HiveParser.KW_STORED);
- this.state = 2692;
- this.match(HiveParser.KW_BY);
- this.state = 2693;
- this.match(HiveParser.StringLiteral);
- this.state = 2697;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 249, this._ctx);
- if (la_ === 1) {
- this.state = 2694;
- this.match(HiveParser.KW_WITH);
- this.state = 2695;
- this.match(HiveParser.KW_SERDEPROPERTIES);
- this.state = 2696;
- this.tableProperties();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableFileFormatStoredAs() {
- let localctx = new TableFileFormatStoredAsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 380, HiveParser.RULE_tableFileFormatStoredAs);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2699;
- this.match(HiveParser.KW_STORED);
- this.state = 2700;
- this.match(HiveParser.KW_AS);
- this.state = 2701;
- this.tableFileFormatStoredAsFormat();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableFileFormatStoredAsFormat() {
- let localctx = new TableFileFormatStoredAsFormatContext(this, this._ctx, this.state);
- this.enterRule(localctx, 382, HiveParser.RULE_tableFileFormatStoredAsFormat);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2703;
- _la = this._input.LA(1);
- if (
- !(
- ((_la - 340) & ~0x1f) == 0 &&
- ((1 << (_la - 340)) &
- ((1 << (HiveParser.KW_SEQUENCEFILE - 340)) |
- (1 << (HiveParser.KW_TEXTFILE - 340)) |
- (1 << (HiveParser.KW_RCFILE - 340)) |
- (1 << (HiveParser.KW_ORC - 340)) |
- (1 << (HiveParser.KW_PARQUET - 340)) |
- (1 << (HiveParser.KW_AVRO - 340)) |
- (1 << (HiveParser.KW_JSONFILE - 340)))) !==
- 0
- )
- ) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableInputOutputFileFormat() {
- let localctx = new TableInputOutputFileFormatContext(this, this._ctx, this.state);
- this.enterRule(localctx, 384, HiveParser.RULE_tableInputOutputFileFormat);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2705;
- this.match(HiveParser.KW_STORED);
- this.state = 2706;
- this.match(HiveParser.KW_AS);
- this.state = 2707;
- this.tableInputLiteral();
- this.state = 2708;
- this.tableOutputLiteral();
- this.state = 2713;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_INPUTDRIVER) {
- this.state = 2709;
- this.match(HiveParser.KW_INPUTDRIVER);
- this.state = 2710;
- this.match(HiveParser.StringLiteral);
- this.state = 2711;
- this.match(HiveParser.KW_OUTPUTDRIVER);
- this.state = 2712;
- this.match(HiveParser.StringLiteral);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableInputLiteral() {
- let localctx = new TableInputLiteralContext(this, this._ctx, this.state);
- this.enterRule(localctx, 386, HiveParser.RULE_tableInputLiteral);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2715;
- this.match(HiveParser.KW_INPUTFORMAT);
- this.state = 2716;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableOutputLiteral() {
- let localctx = new TableOutputLiteralContext(this, this._ctx, this.state);
- this.enterRule(localctx, 388, HiveParser.RULE_tableOutputLiteral);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2718;
- this.match(HiveParser.KW_OUTPUTFORMAT);
- this.state = 2719;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableLocation() {
- let localctx = new TableLocationContext(this, this._ctx, this.state);
- this.enterRule(localctx, 390, HiveParser.RULE_tableLocation);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2721;
- this.match(HiveParser.KW_LOCATION);
- this.state = 2722;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnNameTypeList() {
- let localctx = new ColumnNameTypeListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 392, HiveParser.RULE_columnNameTypeList);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2724;
- this.columnNameType();
- this.state = 2729;
- this._errHandler.sync(this);
- var _alt = this._interp.adaptivePredict(this._input, 251, this._ctx);
- while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) {
- if (_alt === 1) {
- this.state = 2725;
- this.match(HiveParser.COMMA);
- this.state = 2726;
- this.columnNameType();
- }
- this.state = 2731;
- this._errHandler.sync(this);
- _alt = this._interp.adaptivePredict(this._input, 251, this._ctx);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnNameTypeOrConstraintList() {
- let localctx = new ColumnNameTypeOrConstraintListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 394, HiveParser.RULE_columnNameTypeOrConstraintList);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2732;
- this.columnNameTypeOrConstraint();
- this.state = 2737;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 2733;
- this.match(HiveParser.COMMA);
- this.state = 2734;
- this.columnNameTypeOrConstraint();
- this.state = 2739;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnNameColonTypeList() {
- let localctx = new ColumnNameColonTypeListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 396, HiveParser.RULE_columnNameColonTypeList);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2740;
- this.columnNameColonType();
- this.state = 2745;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 2741;
- this.match(HiveParser.COMMA);
- this.state = 2742;
- this.columnNameColonType();
- this.state = 2747;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnNameList() {
- let localctx = new ColumnNameListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 398, HiveParser.RULE_columnNameList);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2748;
- this.columnName();
- this.state = 2753;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 2749;
- this.match(HiveParser.COMMA);
- this.state = 2750;
- this.columnName();
- this.state = 2755;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnName() {
- let localctx = new ColumnNameContext(this, this._ctx, this.state);
- this.enterRule(localctx, 400, HiveParser.RULE_columnName);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2756;
- this.identifier();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- extColumnName() {
- let localctx = new ExtColumnNameContext(this, this._ctx, this.state);
- this.enterRule(localctx, 402, HiveParser.RULE_extColumnName);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2758;
- this.identifier();
- this.state = 2768;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.DOT) {
- this.state = 2759;
- this.match(HiveParser.DOT);
- this.state = 2764;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 255, this._ctx);
- switch (la_) {
- case 1:
- this.state = 2760;
- this.match(HiveParser.KW_ELEM_TYPE);
- break;
-
- case 2:
- this.state = 2761;
- this.match(HiveParser.KW_KEY_TYPE);
- break;
-
- case 3:
- this.state = 2762;
- this.match(HiveParser.KW_VALUE_TYPE);
- break;
-
- case 4:
- this.state = 2763;
- this.identifier();
- break;
- }
- this.state = 2770;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnNameOrderList() {
- let localctx = new ColumnNameOrderListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 404, HiveParser.RULE_columnNameOrderList);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2771;
- this.columnNameOrder();
- this.state = 2776;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 2772;
- this.match(HiveParser.COMMA);
- this.state = 2773;
- this.columnNameOrder();
- this.state = 2778;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnParenthesesList() {
- let localctx = new ColumnParenthesesListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 406, HiveParser.RULE_columnParenthesesList);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2779;
- this.match(HiveParser.LPAREN);
- this.state = 2780;
- this.columnNameList();
- this.state = 2781;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- enableValidateSpecification() {
- let localctx = new EnableValidateSpecificationContext(this, this._ctx, this.state);
- this.enterRule(localctx, 408, HiveParser.RULE_enableValidateSpecification);
- var _la = 0; // Token type
- try {
- this.state = 2788;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- this.enterOuterAlt(localctx, 1);
- this.state = 2783;
- this.enableSpecification();
- this.state = 2785;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_VALIDATE || _la === HiveParser.KW_NOVALIDATE) {
- this.state = 2784;
- this.validateSpecification();
- }
-
- break;
- case HiveParser.KW_NOT:
- case HiveParser.KW_ENFORCED:
- this.enterOuterAlt(localctx, 2);
- this.state = 2787;
- this.enforcedSpecification();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- enableSpecification() {
- let localctx = new EnableSpecificationContext(this, this._ctx, this.state);
- this.enterRule(localctx, 410, HiveParser.RULE_enableSpecification);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2790;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_ENABLE || _la === HiveParser.KW_DISABLE)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- validateSpecification() {
- let localctx = new ValidateSpecificationContext(this, this._ctx, this.state);
- this.enterRule(localctx, 412, HiveParser.RULE_validateSpecification);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2792;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_VALIDATE || _la === HiveParser.KW_NOVALIDATE)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- enforcedSpecification() {
- let localctx = new EnforcedSpecificationContext(this, this._ctx, this.state);
- this.enterRule(localctx, 414, HiveParser.RULE_enforcedSpecification);
- try {
- this.state = 2797;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_ENFORCED:
- this.enterOuterAlt(localctx, 1);
- this.state = 2794;
- this.match(HiveParser.KW_ENFORCED);
- break;
- case HiveParser.KW_NOT:
- this.enterOuterAlt(localctx, 2);
- this.state = 2795;
- this.match(HiveParser.KW_NOT);
- this.state = 2796;
- this.match(HiveParser.KW_ENFORCED);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- relySpecification() {
- let localctx = new RelySpecificationContext(this, this._ctx, this.state);
- this.enterRule(localctx, 416, HiveParser.RULE_relySpecification);
- try {
- this.state = 2803;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 262, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 2799;
- this.match(HiveParser.KW_RELY);
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 2801;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 261, this._ctx);
- if (la_ === 1) {
- this.state = 2800;
- this.match(HiveParser.KW_NORELY);
- }
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- createConstraint() {
- let localctx = new CreateConstraintContext(this, this._ctx, this.state);
- this.enterRule(localctx, 418, HiveParser.RULE_createConstraint);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2807;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 263, this._ctx);
- if (la_ === 1) {
- this.state = 2805;
- this.match(HiveParser.KW_CONSTRAINT);
- this.state = 2806;
- this.identifier();
- }
- this.state = 2809;
- this.tableLevelConstraint();
- this.state = 2811;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 264, this._ctx);
- if (la_ === 1) {
- this.state = 2810;
- this.constraintOptsCreate();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterConstraintWithName() {
- let localctx = new AlterConstraintWithNameContext(this, this._ctx, this.state);
- this.enterRule(localctx, 420, HiveParser.RULE_alterConstraintWithName);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2813;
- this.match(HiveParser.KW_CONSTRAINT);
- this.state = 2814;
- this.identifier();
- this.state = 2815;
- this.tableLevelConstraint();
- this.state = 2817;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 265, this._ctx);
- if (la_ === 1) {
- this.state = 2816;
- this.constraintOptsAlter();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableLevelConstraint() {
- let localctx = new TableLevelConstraintContext(this, this._ctx, this.state);
- this.enterRule(localctx, 422, HiveParser.RULE_tableLevelConstraint);
- try {
- this.state = 2823;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_PRIMARY:
- case HiveParser.KW_UNIQUE:
- this.enterOuterAlt(localctx, 1);
- this.state = 2819;
- this.pkUkConstraint();
- break;
- case HiveParser.KW_CHECK:
- this.enterOuterAlt(localctx, 2);
- this.state = 2820;
- this.checkConstraint();
- break;
- case HiveParser.KW_EXPECT:
- this.enterOuterAlt(localctx, 3);
- this.state = 2821;
- this.expectConstraint();
- break;
- case HiveParser.KW_FOREIGN:
- case HiveParser.KW_CONSTRAINT:
- this.enterOuterAlt(localctx, 4);
- this.state = 2822;
- this.createForeignKey();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- pkUkConstraint() {
- let localctx = new PkUkConstraintContext(this, this._ctx, this.state);
- this.enterRule(localctx, 424, HiveParser.RULE_pkUkConstraint);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2825;
- this.tableConstraintType();
- this.state = 2826;
- localctx.pkCols = this.columnParenthesesList();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- checkConstraint() {
- let localctx = new CheckConstraintContext(this, this._ctx, this.state);
- this.enterRule(localctx, 426, HiveParser.RULE_checkConstraint);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2828;
- this.match(HiveParser.KW_CHECK);
- this.state = 2829;
- this.expression(0);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- expectConstraint() {
- let localctx = new ExpectConstraintContext(this, this._ctx, this.state);
- this.enterRule(localctx, 428, HiveParser.RULE_expectConstraint);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2831;
- this.match(HiveParser.KW_EXPECT);
- this.state = 2832;
- this.match(HiveParser.LPAREN);
- this.state = 2833;
- this.expression(0);
- this.state = 2834;
- this.match(HiveParser.RPAREN);
- this.state = 2843;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ON) {
- this.state = 2835;
- this.match(HiveParser.KW_ON);
- this.state = 2836;
- this.match(HiveParser.KW_VIOLATION);
- this.state = 2841;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_FAIL:
- this.state = 2837;
- this.match(HiveParser.KW_FAIL);
- this.state = 2838;
- this.match(HiveParser.KW_UPDATE);
- break;
- case HiveParser.KW_DROP:
- this.state = 2839;
- this.match(HiveParser.KW_DROP);
- this.state = 2840;
- this.match(HiveParser.KW_ROW);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- createForeignKey() {
- let localctx = new CreateForeignKeyContext(this, this._ctx, this.state);
- this.enterRule(localctx, 430, HiveParser.RULE_createForeignKey);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2847;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_CONSTRAINT) {
- this.state = 2845;
- this.match(HiveParser.KW_CONSTRAINT);
- this.state = 2846;
- this.identifier();
- }
-
- this.state = 2849;
- this.match(HiveParser.KW_FOREIGN);
- this.state = 2850;
- this.match(HiveParser.KW_KEY);
- this.state = 2851;
- this.columnParenthesesList();
- this.state = 2852;
- this.match(HiveParser.KW_REFERENCES);
- this.state = 2853;
- this.tableName();
- this.state = 2854;
- this.columnParenthesesList();
- this.state = 2856;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 270, this._ctx);
- if (la_ === 1) {
- this.state = 2855;
- this.constraintOptsCreate();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterForeignKeyWithName() {
- let localctx = new AlterForeignKeyWithNameContext(this, this._ctx, this.state);
- this.enterRule(localctx, 432, HiveParser.RULE_alterForeignKeyWithName);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2858;
- this.match(HiveParser.KW_CONSTRAINT);
- this.state = 2859;
- this.identifier();
- this.state = 2860;
- this.match(HiveParser.KW_FOREIGN);
- this.state = 2861;
- this.match(HiveParser.KW_KEY);
- this.state = 2862;
- this.columnParenthesesList();
- this.state = 2863;
- this.match(HiveParser.KW_REFERENCES);
- this.state = 2864;
- this.tableName();
- this.state = 2865;
- this.columnParenthesesList();
- this.state = 2867;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 271, this._ctx);
- if (la_ === 1) {
- this.state = 2866;
- this.constraintOptsAlter();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- skewedValueElement() {
- let localctx = new SkewedValueElementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 434, HiveParser.RULE_skewedValueElement);
- try {
- this.state = 2871;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_TRUE:
- case HiveParser.KW_FALSE:
- case HiveParser.KW_NULL:
- case HiveParser.KW_DATE:
- case HiveParser.KW_TIMESTAMP:
- case HiveParser.KW_TIMESTAMPLOCALTZ:
- case HiveParser.KW_CURRENT_DATE:
- case HiveParser.KW_CURRENT_TIMESTAMP:
- case HiveParser.StringLiteral:
- case HiveParser.IntegralLiteral:
- case HiveParser.NumberLiteral:
- case HiveParser.Number:
- case HiveParser.CharSetName:
- this.enterOuterAlt(localctx, 1);
- this.state = 2869;
- this.skewedColumnValues();
- break;
- case HiveParser.LPAREN:
- this.enterOuterAlt(localctx, 2);
- this.state = 2870;
- this.skewedColumnValuePairList();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- skewedColumnValuePairList() {
- let localctx = new SkewedColumnValuePairListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 436, HiveParser.RULE_skewedColumnValuePairList);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2873;
- this.skewedColumnValuePair();
- this.state = 2878;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 2874;
- this.match(HiveParser.COMMA);
- this.state = 2875;
- this.skewedColumnValuePair();
- this.state = 2880;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- skewedColumnValuePair() {
- let localctx = new SkewedColumnValuePairContext(this, this._ctx, this.state);
- this.enterRule(localctx, 438, HiveParser.RULE_skewedColumnValuePair);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2881;
- this.match(HiveParser.LPAREN);
- this.state = 2882;
- this.skewedColumnValues();
- this.state = 2883;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- skewedColumnValues() {
- let localctx = new SkewedColumnValuesContext(this, this._ctx, this.state);
- this.enterRule(localctx, 440, HiveParser.RULE_skewedColumnValues);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2885;
- this.skewedColumnValue();
- this.state = 2890;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 2886;
- this.match(HiveParser.COMMA);
- this.state = 2887;
- this.skewedColumnValue();
- this.state = 2892;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- skewedColumnValue() {
- let localctx = new SkewedColumnValueContext(this, this._ctx, this.state);
- this.enterRule(localctx, 442, HiveParser.RULE_skewedColumnValue);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2893;
- this.constant();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- skewedValueLocationElement() {
- let localctx = new SkewedValueLocationElementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 444, HiveParser.RULE_skewedValueLocationElement);
- try {
- this.state = 2897;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_TRUE:
- case HiveParser.KW_FALSE:
- case HiveParser.KW_NULL:
- case HiveParser.KW_DATE:
- case HiveParser.KW_TIMESTAMP:
- case HiveParser.KW_TIMESTAMPLOCALTZ:
- case HiveParser.KW_CURRENT_DATE:
- case HiveParser.KW_CURRENT_TIMESTAMP:
- case HiveParser.StringLiteral:
- case HiveParser.IntegralLiteral:
- case HiveParser.NumberLiteral:
- case HiveParser.Number:
- case HiveParser.CharSetName:
- this.enterOuterAlt(localctx, 1);
- this.state = 2895;
- this.skewedColumnValue();
- break;
- case HiveParser.LPAREN:
- this.enterOuterAlt(localctx, 2);
- this.state = 2896;
- this.skewedColumnValuePair();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- orderSpecification() {
- let localctx = new OrderSpecificationContext(this, this._ctx, this.state);
- this.enterRule(localctx, 446, HiveParser.RULE_orderSpecification);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2899;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_ASC || _la === HiveParser.KW_DESC)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- nullOrdering() {
- let localctx = new NullOrderingContext(this, this._ctx, this.state);
- this.enterRule(localctx, 448, HiveParser.RULE_nullOrdering);
- try {
- this.state = 2905;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 276, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 2901;
- this.match(HiveParser.KW_NULLS);
- this.state = 2902;
- this.match(HiveParser.KW_FIRST);
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 2903;
- this.match(HiveParser.KW_NULLS);
- this.state = 2904;
- this.match(HiveParser.KW_LAST);
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnNameOrder() {
- let localctx = new ColumnNameOrderContext(this, this._ctx, this.state);
- this.enterRule(localctx, 450, HiveParser.RULE_columnNameOrder);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2907;
- this.identifier();
- this.state = 2909;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ASC || _la === HiveParser.KW_DESC) {
- this.state = 2908;
- this.orderSpecification();
- }
-
- this.state = 2912;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_NULLS) {
- this.state = 2911;
- this.nullOrdering();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnNameCommentList() {
- let localctx = new ColumnNameCommentListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 452, HiveParser.RULE_columnNameCommentList);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2914;
- this.columnNameComment();
- this.state = 2919;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 2915;
- this.match(HiveParser.COMMA);
- this.state = 2916;
- this.columnNameComment();
- this.state = 2921;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnNameComment() {
- let localctx = new ColumnNameCommentContext(this, this._ctx, this.state);
- this.enterRule(localctx, 454, HiveParser.RULE_columnNameComment);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2922;
- this.identifier();
- this.state = 2925;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_COMMENT) {
- this.state = 2923;
- this.match(HiveParser.KW_COMMENT);
- this.state = 2924;
- this.match(HiveParser.StringLiteral);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnRefOrder() {
- let localctx = new ColumnRefOrderContext(this, this._ctx, this.state);
- this.enterRule(localctx, 456, HiveParser.RULE_columnRefOrder);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2927;
- this.expression(0);
- this.state = 2929;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 281, this._ctx);
- if (la_ === 1) {
- this.state = 2928;
- this.orderSpecification();
- }
- this.state = 2932;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_NULLS) {
- this.state = 2931;
- this.nullOrdering();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnNameType() {
- let localctx = new ColumnNameTypeContext(this, this._ctx, this.state);
- this.enterRule(localctx, 458, HiveParser.RULE_columnNameType);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2934;
- this.identifier();
- this.state = 2935;
- this.colType();
- this.state = 2938;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_COMMENT) {
- this.state = 2936;
- this.match(HiveParser.KW_COMMENT);
- this.state = 2937;
- this.match(HiveParser.StringLiteral);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnNameTypeOrConstraint() {
- let localctx = new ColumnNameTypeOrConstraintContext(this, this._ctx, this.state);
- this.enterRule(localctx, 460, HiveParser.RULE_columnNameTypeOrConstraint);
- try {
- this.state = 2942;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 284, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 2940;
- this.tableConstraint();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 2941;
- this.columnNameTypeConstraint();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableConstraint() {
- let localctx = new TableConstraintContext(this, this._ctx, this.state);
- this.enterRule(localctx, 462, HiveParser.RULE_tableConstraint);
- try {
- this.state = 2946;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 285, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 2944;
- this.createForeignKey();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 2945;
- this.createConstraint();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnNameTypeConstraint() {
- let localctx = new ColumnNameTypeConstraintContext(this, this._ctx, this.state);
- this.enterRule(localctx, 464, HiveParser.RULE_columnNameTypeConstraint);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2948;
- this.identifier();
- this.state = 2949;
- this.colType();
- this.state = 2953;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (
- _la === HiveParser.KW_NOT ||
- _la === HiveParser.KW_COMMENT ||
- _la === HiveParser.KW_MASK ||
- (((_la - 294) & ~0x1f) == 0 &&
- ((1 << (_la - 294)) &
- ((1 << (HiveParser.KW_PRIMARY - 294)) |
- (1 << (HiveParser.KW_REFERENCES - 294)) |
- (1 << (HiveParser.KW_CONSTRAINT - 294)) |
- (1 << (HiveParser.KW_UNIQUE - 294)) |
- (1 << (HiveParser.KW_DEFAULT - 294)) |
- (1 << (HiveParser.KW_CHECK - 294)))) !==
- 0) ||
- _la === HiveParser.KW_GENERATED
- ) {
- this.state = 2950;
- this.columnConstraint();
- this.state = 2955;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnGeneratedAs() {
- let localctx = new ColumnGeneratedAsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 466, HiveParser.RULE_columnGeneratedAs);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2956;
- this.match(HiveParser.KW_GENERATED);
- this.state = 2959;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 287, this._ctx);
- switch (la_) {
- case 1:
- this.state = 2957;
- this.generatedAsExpression();
- break;
-
- case 2:
- this.state = 2958;
- this.generatedAsIdentity();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- generatedAsExpression() {
- let localctx = new GeneratedAsExpressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 468, HiveParser.RULE_generatedAsExpression);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2961;
- this.match(HiveParser.KW_ALWAYS);
- this.state = 2962;
- this.match(HiveParser.KW_AS);
- this.state = 2963;
- this.match(HiveParser.LPAREN);
- this.state = 2964;
- this.expression(0);
- this.state = 2965;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- generatedAsIdentity() {
- let localctx = new GeneratedAsIdentityContext(this, this._ctx, this.state);
- this.enterRule(localctx, 470, HiveParser.RULE_generatedAsIdentity);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2970;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_ALWAYS:
- this.state = 2967;
- this.match(HiveParser.KW_ALWAYS);
- break;
- case HiveParser.KW_BY:
- this.state = 2968;
- this.match(HiveParser.KW_BY);
- this.state = 2969;
- this.match(HiveParser.KW_DEFAULT);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- this.state = 2972;
- this.match(HiveParser.KW_AS);
- this.state = 2973;
- this.match(HiveParser.KW_IDENTITY);
- this.state = 2978;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 289, this._ctx);
- if (la_ === 1) {
- this.state = 2974;
- this.match(HiveParser.LPAREN);
- this.state = 2975;
- this.identityOptions();
- this.state = 2976;
- this.match(HiveParser.RPAREN);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- identityOptions() {
- let localctx = new IdentityOptionsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 472, HiveParser.RULE_identityOptions);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2981;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_START) {
- this.state = 2980;
- this.startWith();
- }
-
- this.state = 2984;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_INCREMENT) {
- this.state = 2983;
- this.incrementBy();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- startWith() {
- let localctx = new StartWithContext(this, this._ctx, this.state);
- this.enterRule(localctx, 474, HiveParser.RULE_startWith);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2986;
- this.match(HiveParser.KW_START);
- this.state = 2987;
- this.match(HiveParser.KW_WITH);
- this.state = 2988;
- this.match(HiveParser.Number);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- incrementBy() {
- let localctx = new IncrementByContext(this, this._ctx, this.state);
- this.enterRule(localctx, 476, HiveParser.RULE_incrementBy);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2990;
- this.match(HiveParser.KW_INCREMENT);
- this.state = 2991;
- this.match(HiveParser.KW_BY);
- this.state = 2992;
- this.match(HiveParser.Number);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- partitionedColumnNameTypeConstraint() {
- let localctx = new PartitionedColumnNameTypeConstraintContext(this, this._ctx, this.state);
- this.enterRule(localctx, 478, HiveParser.RULE_partitionedColumnNameTypeConstraint);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 2994;
- this.identifier();
- this.state = 2996;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (
- (((_la - 79) & ~0x1f) == 0 &&
- ((1 << (_la - 79)) &
- ((1 << (HiveParser.KW_BOOLEAN - 79)) |
- (1 << (HiveParser.KW_TINYINT - 79)) |
- (1 << (HiveParser.KW_SMALLINT - 79)) |
- (1 << (HiveParser.KW_INT - 79)) |
- (1 << (HiveParser.KW_BIGINT - 79)) |
- (1 << (HiveParser.KW_FLOAT - 79)) |
- (1 << (HiveParser.KW_DOUBLE - 79)) |
- (1 << (HiveParser.KW_DATE - 79)) |
- (1 << (HiveParser.KW_DATETIME - 79)) |
- (1 << (HiveParser.KW_TIMESTAMP - 79)) |
- (1 << (HiveParser.KW_TIMESTAMP_NTZ - 79)) |
- (1 << (HiveParser.KW_TIMESTAMPLOCALTZ - 79)) |
- (1 << (HiveParser.KW_DECIMAL - 79)) |
- (1 << (HiveParser.KW_STRING - 79)) |
- (1 << (HiveParser.KW_CHAR - 79)) |
- (1 << (HiveParser.KW_VARCHAR - 79)) |
- (1 << (HiveParser.KW_ARRAY - 79)) |
- (1 << (HiveParser.KW_STRUCT - 79)) |
- (1 << (HiveParser.KW_MAP - 79)) |
- (1 << (HiveParser.KW_VARIANT - 79)) |
- (1 << (HiveParser.KW_UNIONTYPE - 79)))) !==
- 0) ||
- _la === HiveParser.KW_BINARY
- ) {
- this.state = 2995;
- this.colType();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnConstraint() {
- let localctx = new ColumnConstraintContext(this, this._ctx, this.state);
- this.enterRule(localctx, 480, HiveParser.RULE_columnConstraint);
- try {
- this.state = 3000;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 293, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 2998;
- this.foreignKeyConstraint();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 2999;
- this.colConstraint();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- foreignKeyConstraint() {
- let localctx = new ForeignKeyConstraintContext(this, this._ctx, this.state);
- this.enterRule(localctx, 482, HiveParser.RULE_foreignKeyConstraint);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3004;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_CONSTRAINT) {
- this.state = 3002;
- this.match(HiveParser.KW_CONSTRAINT);
- this.state = 3003;
- this.identifier();
- }
-
- this.state = 3006;
- this.match(HiveParser.KW_REFERENCES);
- this.state = 3007;
- this.tableName();
- this.state = 3008;
- this.match(HiveParser.LPAREN);
- this.state = 3009;
- this.columnName();
- this.state = 3010;
- this.match(HiveParser.RPAREN);
- this.state = 3012;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 295, this._ctx);
- if (la_ === 1) {
- this.state = 3011;
- this.constraintOptsCreate();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- colConstraint() {
- let localctx = new ColConstraintContext(this, this._ctx, this.state);
- this.enterRule(localctx, 484, HiveParser.RULE_colConstraint);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3016;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_CONSTRAINT) {
- this.state = 3014;
- this.match(HiveParser.KW_CONSTRAINT);
- this.state = 3015;
- this.identifier();
- }
-
- this.state = 3018;
- this.columnConstraintType();
- this.state = 3022;
- this._errHandler.sync(this);
- var _alt = this._interp.adaptivePredict(this._input, 297, this._ctx);
- while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) {
- if (_alt === 1) {
- this.state = 3019;
- this.columnConstraintType();
- }
- this.state = 3024;
- this._errHandler.sync(this);
- _alt = this._interp.adaptivePredict(this._input, 297, this._ctx);
- }
-
- this.state = 3026;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 298, this._ctx);
- if (la_ === 1) {
- this.state = 3025;
- this.constraintOptsCreate();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterColumnConstraint() {
- let localctx = new AlterColumnConstraintContext(this, this._ctx, this.state);
- this.enterRule(localctx, 486, HiveParser.RULE_alterColumnConstraint);
- try {
- this.state = 3030;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 299, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 3028;
- this.alterForeignKeyConstraint();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 3029;
- this.alterColConstraint();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterForeignKeyConstraint() {
- let localctx = new AlterForeignKeyConstraintContext(this, this._ctx, this.state);
- this.enterRule(localctx, 488, HiveParser.RULE_alterForeignKeyConstraint);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3034;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_CONSTRAINT) {
- this.state = 3032;
- this.match(HiveParser.KW_CONSTRAINT);
- this.state = 3033;
- this.identifier();
- }
-
- this.state = 3036;
- this.match(HiveParser.KW_REFERENCES);
- this.state = 3037;
- this.tableName();
- this.state = 3038;
- this.match(HiveParser.LPAREN);
- this.state = 3039;
- this.columnName();
- this.state = 3040;
- this.match(HiveParser.RPAREN);
- this.state = 3042;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 301, this._ctx);
- if (la_ === 1) {
- this.state = 3041;
- this.constraintOptsAlter();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterColConstraint() {
- let localctx = new AlterColConstraintContext(this, this._ctx, this.state);
- this.enterRule(localctx, 490, HiveParser.RULE_alterColConstraint);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3046;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_CONSTRAINT) {
- this.state = 3044;
- this.match(HiveParser.KW_CONSTRAINT);
- this.state = 3045;
- this.identifier();
- }
-
- this.state = 3048;
- this.columnConstraintType();
- this.state = 3050;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 303, this._ctx);
- if (la_ === 1) {
- this.state = 3049;
- this.constraintOptsAlter();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnConstraintType() {
- let localctx = new ColumnConstraintTypeContext(this, this._ctx, this.state);
- this.enterRule(localctx, 492, HiveParser.RULE_columnConstraintType);
- try {
- this.state = 3063;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_NOT:
- this.enterOuterAlt(localctx, 1);
- this.state = 3052;
- this.match(HiveParser.KW_NOT);
- this.state = 3053;
- this.match(HiveParser.KW_NULL);
- break;
- case HiveParser.KW_DEFAULT:
- this.enterOuterAlt(localctx, 2);
- this.state = 3054;
- this.match(HiveParser.KW_DEFAULT);
- this.state = 3055;
- this.defaultVal();
- break;
- case HiveParser.KW_GENERATED:
- this.enterOuterAlt(localctx, 3);
- this.state = 3056;
- this.columnGeneratedAs();
- break;
- case HiveParser.KW_CHECK:
- this.enterOuterAlt(localctx, 4);
- this.state = 3057;
- this.checkConstraint();
- break;
- case HiveParser.KW_PRIMARY:
- case HiveParser.KW_UNIQUE:
- this.enterOuterAlt(localctx, 5);
- this.state = 3058;
- this.tableConstraintType();
- break;
- case HiveParser.KW_COMMENT:
- this.enterOuterAlt(localctx, 6);
- this.state = 3059;
- this.match(HiveParser.KW_COMMENT);
- this.state = 3060;
- this.match(HiveParser.StringLiteral);
- break;
- case HiveParser.KW_MASK:
- this.enterOuterAlt(localctx, 7);
- this.state = 3061;
- this.match(HiveParser.KW_MASK);
- this.state = 3062;
- this.functionIdentifier();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- defaultVal() {
- let localctx = new DefaultValContext(this, this._ctx, this.state);
- this.enterRule(localctx, 494, HiveParser.RULE_defaultVal);
- try {
- this.state = 3069;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 305, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 3065;
- this.constant();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 3066;
- this.functionStatement();
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 3067;
- this.castExpression();
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 3068;
- this.identifier();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableConstraintType() {
- let localctx = new TableConstraintTypeContext(this, this._ctx, this.state);
- this.enterRule(localctx, 496, HiveParser.RULE_tableConstraintType);
- try {
- this.state = 3074;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_PRIMARY:
- this.enterOuterAlt(localctx, 1);
- this.state = 3071;
- this.match(HiveParser.KW_PRIMARY);
- this.state = 3072;
- this.match(HiveParser.KW_KEY);
- break;
- case HiveParser.KW_UNIQUE:
- this.enterOuterAlt(localctx, 2);
- this.state = 3073;
- this.match(HiveParser.KW_UNIQUE);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- constraintOptsCreate() {
- let localctx = new ConstraintOptsCreateContext(this, this._ctx, this.state);
- this.enterRule(localctx, 498, HiveParser.RULE_constraintOptsCreate);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3077;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 307, this._ctx);
- if (la_ === 1) {
- this.state = 3076;
- this.enableValidateSpecification();
- }
- this.state = 3079;
- this.relySpecification();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- constraintOptsAlter() {
- let localctx = new ConstraintOptsAlterContext(this, this._ctx, this.state);
- this.enterRule(localctx, 500, HiveParser.RULE_constraintOptsAlter);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3082;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 308, this._ctx);
- if (la_ === 1) {
- this.state = 3081;
- this.enableValidateSpecification();
- }
- this.state = 3084;
- this.relySpecification();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnNameColonType() {
- let localctx = new ColumnNameColonTypeContext(this, this._ctx, this.state);
- this.enterRule(localctx, 502, HiveParser.RULE_columnNameColonType);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3086;
- this.identifier();
- this.state = 3087;
- this.match(HiveParser.COLON);
- this.state = 3088;
- this.colType();
- this.state = 3091;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_COMMENT) {
- this.state = 3089;
- this.match(HiveParser.KW_COMMENT);
- this.state = 3090;
- this.match(HiveParser.StringLiteral);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- colType() {
- let localctx = new ColTypeContext(this, this._ctx, this.state);
- this.enterRule(localctx, 504, HiveParser.RULE_colType);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3093;
- this.type_db_col();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- colTypeList() {
- let localctx = new ColTypeListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 506, HiveParser.RULE_colTypeList);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3095;
- this.colType();
- this.state = 3100;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 3096;
- this.match(HiveParser.COMMA);
- this.state = 3097;
- this.colType();
- this.state = 3102;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- type_db_col() {
- let localctx = new Type_db_colContext(this, this._ctx, this.state);
- this.enterRule(localctx, 508, HiveParser.RULE_type_db_col);
- try {
- this.state = 3108;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_BOOLEAN:
- case HiveParser.KW_TINYINT:
- case HiveParser.KW_SMALLINT:
- case HiveParser.KW_INT:
- case HiveParser.KW_BIGINT:
- case HiveParser.KW_FLOAT:
- case HiveParser.KW_DOUBLE:
- case HiveParser.KW_DATE:
- case HiveParser.KW_DATETIME:
- case HiveParser.KW_TIMESTAMP:
- case HiveParser.KW_TIMESTAMP_NTZ:
- case HiveParser.KW_TIMESTAMPLOCALTZ:
- case HiveParser.KW_DECIMAL:
- case HiveParser.KW_STRING:
- case HiveParser.KW_CHAR:
- case HiveParser.KW_VARCHAR:
- case HiveParser.KW_VARIANT:
- case HiveParser.KW_BINARY:
- this.enterOuterAlt(localctx, 1);
- this.state = 3103;
- this.primitiveType();
- break;
- case HiveParser.KW_ARRAY:
- this.enterOuterAlt(localctx, 2);
- this.state = 3104;
- this.listType();
- break;
- case HiveParser.KW_STRUCT:
- this.enterOuterAlt(localctx, 3);
- this.state = 3105;
- this.structType();
- break;
- case HiveParser.KW_MAP:
- this.enterOuterAlt(localctx, 4);
- this.state = 3106;
- this.mapType();
- break;
- case HiveParser.KW_UNIONTYPE:
- this.enterOuterAlt(localctx, 5);
- this.state = 3107;
- this.unionType();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- primitiveType() {
- let localctx = new PrimitiveTypeContext(this, this._ctx, this.state);
- this.enterRule(localctx, 510, HiveParser.RULE_primitiveType);
- var _la = 0; // Token type
- try {
- this.state = 3151;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 315, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 3110;
- this.match(HiveParser.KW_TINYINT);
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 3111;
- this.match(HiveParser.KW_SMALLINT);
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 3112;
- this.match(HiveParser.KW_INT);
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 3113;
- this.match(HiveParser.KW_BIGINT);
- break;
-
- case 5:
- this.enterOuterAlt(localctx, 5);
- this.state = 3114;
- this.match(HiveParser.KW_BOOLEAN);
- break;
-
- case 6:
- this.enterOuterAlt(localctx, 6);
- this.state = 3115;
- this.match(HiveParser.KW_FLOAT);
- break;
-
- case 7:
- this.enterOuterAlt(localctx, 7);
- this.state = 3116;
- this.match(HiveParser.KW_DOUBLE);
- this.state = 3118;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_PRECISION) {
- this.state = 3117;
- this.match(HiveParser.KW_PRECISION);
- }
-
- break;
-
- case 8:
- this.enterOuterAlt(localctx, 8);
- this.state = 3120;
- this.match(HiveParser.KW_DATE);
- break;
-
- case 9:
- this.enterOuterAlt(localctx, 9);
- this.state = 3121;
- this.match(HiveParser.KW_DATETIME);
- break;
-
- case 10:
- this.enterOuterAlt(localctx, 10);
- this.state = 3122;
- this.match(HiveParser.KW_TIMESTAMP);
- break;
-
- case 11:
- this.enterOuterAlt(localctx, 11);
- this.state = 3123;
- this.match(HiveParser.KW_TIMESTAMP_NTZ);
- break;
-
- case 12:
- this.enterOuterAlt(localctx, 12);
- this.state = 3124;
- this.match(HiveParser.KW_TIMESTAMPLOCALTZ);
- break;
-
- case 13:
- this.enterOuterAlt(localctx, 13);
- this.state = 3125;
- this.match(HiveParser.KW_TIMESTAMP);
- this.state = 3126;
- this.match(HiveParser.KW_WITH);
- this.state = 3127;
- this.match(HiveParser.KW_LOCAL);
- this.state = 3128;
- this.match(HiveParser.KW_TIME);
- this.state = 3129;
- this.match(HiveParser.KW_ZONE);
- break;
-
- case 14:
- this.enterOuterAlt(localctx, 14);
- this.state = 3130;
- this.match(HiveParser.KW_STRING);
- break;
-
- case 15:
- this.enterOuterAlt(localctx, 15);
- this.state = 3131;
- this.match(HiveParser.KW_BINARY);
- break;
-
- case 16:
- this.enterOuterAlt(localctx, 16);
- this.state = 3132;
- this.match(HiveParser.KW_DECIMAL);
- this.state = 3140;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 314, this._ctx);
- if (la_ === 1) {
- this.state = 3133;
- this.match(HiveParser.LPAREN);
- this.state = 3134;
- this.match(HiveParser.Number);
- this.state = 3137;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.COMMA) {
- this.state = 3135;
- this.match(HiveParser.COMMA);
- this.state = 3136;
- this.match(HiveParser.Number);
- }
-
- this.state = 3139;
- this.match(HiveParser.RPAREN);
- }
- break;
-
- case 17:
- this.enterOuterAlt(localctx, 17);
- this.state = 3142;
- this.match(HiveParser.KW_VARCHAR);
- this.state = 3143;
- this.match(HiveParser.LPAREN);
- this.state = 3144;
- this.match(HiveParser.Number);
- this.state = 3145;
- this.match(HiveParser.RPAREN);
- break;
-
- case 18:
- this.enterOuterAlt(localctx, 18);
- this.state = 3146;
- this.match(HiveParser.KW_CHAR);
- this.state = 3147;
- this.match(HiveParser.LPAREN);
- this.state = 3148;
- this.match(HiveParser.Number);
- this.state = 3149;
- this.match(HiveParser.RPAREN);
- break;
-
- case 19:
- this.enterOuterAlt(localctx, 19);
- this.state = 3150;
- this.match(HiveParser.KW_VARIANT);
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- listType() {
- let localctx = new ListTypeContext(this, this._ctx, this.state);
- this.enterRule(localctx, 512, HiveParser.RULE_listType);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3153;
- this.match(HiveParser.KW_ARRAY);
- this.state = 3154;
- this.match(HiveParser.LESSTHAN);
- this.state = 3155;
- this.type_db_col();
- this.state = 3156;
- this.match(HiveParser.GREATERTHAN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- structType() {
- let localctx = new StructTypeContext(this, this._ctx, this.state);
- this.enterRule(localctx, 514, HiveParser.RULE_structType);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3158;
- this.match(HiveParser.KW_STRUCT);
- this.state = 3159;
- this.match(HiveParser.LESSTHAN);
- this.state = 3160;
- this.columnNameColonTypeList();
- this.state = 3161;
- this.match(HiveParser.GREATERTHAN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- mapType() {
- let localctx = new MapTypeContext(this, this._ctx, this.state);
- this.enterRule(localctx, 516, HiveParser.RULE_mapType);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3163;
- this.match(HiveParser.KW_MAP);
- this.state = 3164;
- this.match(HiveParser.LESSTHAN);
- this.state = 3165;
- this.primitiveType();
- this.state = 3166;
- this.match(HiveParser.COMMA);
- this.state = 3167;
- this.type_db_col();
- this.state = 3168;
- this.match(HiveParser.GREATERTHAN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- unionType() {
- let localctx = new UnionTypeContext(this, this._ctx, this.state);
- this.enterRule(localctx, 518, HiveParser.RULE_unionType);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3170;
- this.match(HiveParser.KW_UNIONTYPE);
- this.state = 3171;
- this.match(HiveParser.LESSTHAN);
- this.state = 3172;
- this.colTypeList();
- this.state = 3173;
- this.match(HiveParser.GREATERTHAN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- setOperator() {
- let localctx = new SetOperatorContext(this, this._ctx, this.state);
- this.enterRule(localctx, 520, HiveParser.RULE_setOperator);
- var _la = 0; // Token type
- try {
- this.state = 3199;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 320, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 3175;
- this.match(HiveParser.KW_UNION);
- this.state = 3176;
- this.match(HiveParser.KW_ALL);
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 3177;
- this.match(HiveParser.KW_UNION);
- this.state = 3179;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_DISTINCT) {
- this.state = 3178;
- this.match(HiveParser.KW_DISTINCT);
- }
-
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 3181;
- this.match(HiveParser.KW_INTERSECT);
- this.state = 3182;
- this.match(HiveParser.KW_ALL);
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 3183;
- this.match(HiveParser.KW_INTERSECT);
- this.state = 3185;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_DISTINCT) {
- this.state = 3184;
- this.match(HiveParser.KW_DISTINCT);
- }
-
- break;
-
- case 5:
- this.enterOuterAlt(localctx, 5);
- this.state = 3187;
- this.match(HiveParser.KW_EXCEPT);
- this.state = 3188;
- this.match(HiveParser.KW_ALL);
- break;
-
- case 6:
- this.enterOuterAlt(localctx, 6);
- this.state = 3189;
- this.match(HiveParser.KW_EXCEPT);
- this.state = 3191;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_DISTINCT) {
- this.state = 3190;
- this.match(HiveParser.KW_DISTINCT);
- }
-
- break;
-
- case 7:
- this.enterOuterAlt(localctx, 7);
- this.state = 3193;
- this.match(HiveParser.KW_MINUS);
- this.state = 3194;
- this.match(HiveParser.KW_ALL);
- break;
-
- case 8:
- this.enterOuterAlt(localctx, 8);
- this.state = 3195;
- this.match(HiveParser.KW_MINUS);
- this.state = 3197;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_DISTINCT) {
- this.state = 3196;
- this.match(HiveParser.KW_DISTINCT);
- }
-
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- queryStatementExpression() {
- let localctx = new QueryStatementExpressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 522, HiveParser.RULE_queryStatementExpression);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3202;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_WITH) {
- this.state = 3201;
- this.withClause();
- }
-
- this.state = 3204;
- this.queryStatementExpressionBody();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- queryStatementExpressionBody() {
- let localctx = new QueryStatementExpressionBodyContext(this, this._ctx, this.state);
- this.enterRule(localctx, 524, HiveParser.RULE_queryStatementExpressionBody);
- try {
- this.state = 3208;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_FROM:
- this.enterOuterAlt(localctx, 1);
- this.state = 3206;
- this.fromStatement();
- break;
- case HiveParser.KW_SELECT:
- case HiveParser.KW_INSERT:
- case HiveParser.KW_MAP:
- case HiveParser.KW_REDUCE:
- case HiveParser.LPAREN:
- this.enterOuterAlt(localctx, 2);
- this.state = 3207;
- this.regularBody();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- withClause() {
- let localctx = new WithClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 526, HiveParser.RULE_withClause);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3210;
- this.match(HiveParser.KW_WITH);
- this.state = 3211;
- this.cteStatement();
- this.state = 3216;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 3212;
- this.match(HiveParser.COMMA);
- this.state = 3213;
- this.cteStatement();
- this.state = 3218;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- cteStatement() {
- let localctx = new CteStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 528, HiveParser.RULE_cteStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3219;
- this.identifier();
- this.state = 3220;
- this.match(HiveParser.KW_AS);
- this.state = 3221;
- this.match(HiveParser.LPAREN);
- this.state = 3222;
- this.queryStatementExpression();
- this.state = 3223;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- fromStatement() {
- let localctx = new FromStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 530, HiveParser.RULE_fromStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3225;
- this.singleFromStatement();
- this.state = 3231;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (
- _la === HiveParser.KW_UNION ||
- _la === HiveParser.KW_EXCEPT ||
- _la === HiveParser.KW_MINUS ||
- _la === HiveParser.KW_INTERSECT
- ) {
- this.state = 3226;
- this.setOperator();
- this.state = 3227;
- this.singleFromStatement();
- this.state = 3233;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- singleFromStatement() {
- let localctx = new SingleFromStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 532, HiveParser.RULE_singleFromStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3234;
- this.fromClause();
- this.state = 3236;
- this._errHandler.sync(this);
- var _alt = 1;
- do {
- switch (_alt) {
- case 1:
- this.state = 3235;
- this.body();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- this.state = 3238;
- this._errHandler.sync(this);
- _alt = this._interp.adaptivePredict(this._input, 325, this._ctx);
- } while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- regularBody() {
- let localctx = new RegularBodyContext(this, this._ctx, this.state);
- this.enterRule(localctx, 534, HiveParser.RULE_regularBody);
- try {
- this.state = 3246;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_INSERT:
- this.enterOuterAlt(localctx, 1);
- this.state = 3240;
- this.insertClause();
- this.state = 3243;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_SELECT:
- case HiveParser.KW_MAP:
- case HiveParser.KW_REDUCE:
- case HiveParser.LPAREN:
- this.state = 3241;
- this.selectStatement();
- break;
- case HiveParser.KW_VALUES:
- this.state = 3242;
- this.valuesClause();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- break;
- case HiveParser.KW_SELECT:
- case HiveParser.KW_MAP:
- case HiveParser.KW_REDUCE:
- case HiveParser.LPAREN:
- this.enterOuterAlt(localctx, 2);
- this.state = 3245;
- this.selectStatement();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- atomSelectStatement() {
- let localctx = new AtomSelectStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 536, HiveParser.RULE_atomSelectStatement);
- var _la = 0; // Token type
- try {
- this.state = 3268;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_SELECT:
- case HiveParser.KW_MAP:
- case HiveParser.KW_REDUCE:
- this.enterOuterAlt(localctx, 1);
- this.state = 3248;
- this.selectClause();
- this.state = 3250;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 328, this._ctx);
- if (la_ === 1) {
- this.state = 3249;
- this.fromClause();
- }
- this.state = 3253;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_WHERE) {
- this.state = 3252;
- this.whereClause();
- }
-
- this.state = 3256;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_GROUP) {
- this.state = 3255;
- this.groupByClause();
- }
-
- this.state = 3259;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_HAVING) {
- this.state = 3258;
- this.havingClause();
- }
-
- this.state = 3262;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_WINDOW) {
- this.state = 3261;
- this.window_clause();
- }
-
- break;
- case HiveParser.LPAREN:
- this.enterOuterAlt(localctx, 2);
- this.state = 3264;
- this.match(HiveParser.LPAREN);
- this.state = 3265;
- this.selectStatement();
- this.state = 3266;
- this.match(HiveParser.RPAREN);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- selectStatement() {
- let localctx = new SelectStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 538, HiveParser.RULE_selectStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3270;
- this.atomSelectStatement();
- this.state = 3272;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (
- _la === HiveParser.KW_UNION ||
- _la === HiveParser.KW_EXCEPT ||
- _la === HiveParser.KW_MINUS ||
- _la === HiveParser.KW_INTERSECT
- ) {
- this.state = 3271;
- this.setOpSelectStatement();
- }
-
- this.state = 3275;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ORDER) {
- this.state = 3274;
- this.orderByClause();
- }
-
- this.state = 3278;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_CLUSTER) {
- this.state = 3277;
- this.clusterByClause();
- }
-
- this.state = 3281;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_DISTRIBUTE) {
- this.state = 3280;
- this.distributeByClause();
- }
-
- this.state = 3284;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_SORT) {
- this.state = 3283;
- this.sortByClause();
- }
-
- this.state = 3287;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_LIMIT) {
- this.state = 3286;
- this.limitClause();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- setOpSelectStatement() {
- let localctx = new SetOpSelectStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 540, HiveParser.RULE_setOpSelectStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3292;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- do {
- this.state = 3289;
- this.setOperator();
- this.state = 3290;
- this.atomSelectStatement();
- this.state = 3294;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- } while (
- _la === HiveParser.KW_UNION ||
- _la === HiveParser.KW_EXCEPT ||
- _la === HiveParser.KW_MINUS ||
- _la === HiveParser.KW_INTERSECT
- );
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- selectStatementWithCTE() {
- let localctx = new SelectStatementWithCTEContext(this, this._ctx, this.state);
- this.enterRule(localctx, 542, HiveParser.RULE_selectStatementWithCTE);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3297;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_WITH) {
- this.state = 3296;
- this.withClause();
- }
-
- this.state = 3299;
- this.selectStatement();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- body() {
- let localctx = new BodyContext(this, this._ctx, this.state);
- this.enterRule(localctx, 544, HiveParser.RULE_body);
- var _la = 0; // Token type
- try {
- this.state = 3364;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_INSERT:
- this.enterOuterAlt(localctx, 1);
- this.state = 3301;
- this.insertClause();
- this.state = 3302;
- this.selectClause();
- this.state = 3304;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_LATERAL || _la === HiveParser.COMMA) {
- this.state = 3303;
- this.lateralView();
- }
-
- this.state = 3307;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_WHERE) {
- this.state = 3306;
- this.whereClause();
- }
-
- this.state = 3310;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_GROUP) {
- this.state = 3309;
- this.groupByClause();
- }
-
- this.state = 3313;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_HAVING) {
- this.state = 3312;
- this.havingClause();
- }
-
- this.state = 3316;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_WINDOW) {
- this.state = 3315;
- this.window_clause();
- }
-
- this.state = 3319;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ORDER) {
- this.state = 3318;
- this.orderByClause();
- }
-
- this.state = 3322;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_CLUSTER) {
- this.state = 3321;
- this.clusterByClause();
- }
-
- this.state = 3325;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_DISTRIBUTE) {
- this.state = 3324;
- this.distributeByClause();
- }
-
- this.state = 3328;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_SORT) {
- this.state = 3327;
- this.sortByClause();
- }
-
- this.state = 3331;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_LIMIT) {
- this.state = 3330;
- this.limitClause();
- }
-
- break;
- case HiveParser.KW_SELECT:
- case HiveParser.KW_MAP:
- case HiveParser.KW_REDUCE:
- this.enterOuterAlt(localctx, 2);
- this.state = 3333;
- this.selectClause();
- this.state = 3335;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_LATERAL || _la === HiveParser.COMMA) {
- this.state = 3334;
- this.lateralView();
- }
-
- this.state = 3338;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_WHERE) {
- this.state = 3337;
- this.whereClause();
- }
-
- this.state = 3341;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_GROUP) {
- this.state = 3340;
- this.groupByClause();
- }
-
- this.state = 3344;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_HAVING) {
- this.state = 3343;
- this.havingClause();
- }
-
- this.state = 3347;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_WINDOW) {
- this.state = 3346;
- this.window_clause();
- }
-
- this.state = 3350;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ORDER) {
- this.state = 3349;
- this.orderByClause();
- }
-
- this.state = 3353;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_CLUSTER) {
- this.state = 3352;
- this.clusterByClause();
- }
-
- this.state = 3356;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_DISTRIBUTE) {
- this.state = 3355;
- this.distributeByClause();
- }
-
- this.state = 3359;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_SORT) {
- this.state = 3358;
- this.sortByClause();
- }
-
- this.state = 3362;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_LIMIT) {
- this.state = 3361;
- this.limitClause();
- }
-
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- insertClause() {
- let localctx = new InsertClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 546, HiveParser.RULE_insertClause);
- var _la = 0; // Token type
- try {
- this.state = 3384;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 366, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 3366;
- this.match(HiveParser.KW_INSERT);
- this.state = 3367;
- this.match(HiveParser.KW_OVERWRITE);
- this.state = 3368;
- this.destination();
- this.state = 3370;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_IF) {
- this.state = 3369;
- this.ifNotExists();
- }
-
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 3372;
- this.match(HiveParser.KW_INSERT);
- this.state = 3373;
- this.match(HiveParser.KW_INTO);
- this.state = 3375;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 364, this._ctx);
- if (la_ === 1) {
- this.state = 3374;
- this.match(HiveParser.KW_TABLE);
- }
- this.state = 3377;
- this.tableOrPartition();
- this.state = 3382;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 365, this._ctx);
- if (la_ === 1) {
- this.state = 3378;
- this.match(HiveParser.LPAREN);
- this.state = 3379;
- this.columnNameList();
- this.state = 3380;
- this.match(HiveParser.RPAREN);
- }
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- destination() {
- let localctx = new DestinationContext(this, this._ctx, this.state);
- this.enterRule(localctx, 548, HiveParser.RULE_destination);
- var _la = 0; // Token type
- try {
- this.state = 3399;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_DIRECTORY:
- case HiveParser.KW_LOCAL:
- this.enterOuterAlt(localctx, 1);
- this.state = 3387;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_LOCAL) {
- this.state = 3386;
- this.match(HiveParser.KW_LOCAL);
- }
-
- this.state = 3389;
- this.match(HiveParser.KW_DIRECTORY);
- this.state = 3390;
- this.match(HiveParser.StringLiteral);
- this.state = 3392;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ROW) {
- this.state = 3391;
- this.tableRowFormat();
- }
-
- this.state = 3395;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_STORED) {
- this.state = 3394;
- this.tableFileFormat();
- }
-
- break;
- case HiveParser.KW_TABLE:
- this.enterOuterAlt(localctx, 2);
- this.state = 3397;
- this.match(HiveParser.KW_TABLE);
- this.state = 3398;
- this.tableOrPartition();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- limitClause() {
- let localctx = new LimitClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 550, HiveParser.RULE_limitClause);
- try {
- this.state = 3411;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 372, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 3401;
- this.match(HiveParser.KW_LIMIT);
-
- this.state = 3404;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 371, this._ctx);
- if (la_ === 1) {
- this.state = 3402;
- this.match(HiveParser.Number);
- this.state = 3403;
- this.match(HiveParser.COMMA);
- }
- this.state = 3406;
- this.match(HiveParser.Number);
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 3407;
- this.match(HiveParser.KW_LIMIT);
- this.state = 3408;
- this.match(HiveParser.Number);
- this.state = 3409;
- this.match(HiveParser.KW_OFFSET);
- this.state = 3410;
- this.match(HiveParser.Number);
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- deleteStatement() {
- let localctx = new DeleteStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 552, HiveParser.RULE_deleteStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3413;
- this.match(HiveParser.KW_DELETE);
- this.state = 3414;
- this.match(HiveParser.KW_FROM);
- this.state = 3415;
- this.tableName();
- this.state = 3417;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_WHERE) {
- this.state = 3416;
- this.whereClause();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnAssignmentClause() {
- let localctx = new ColumnAssignmentClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 554, HiveParser.RULE_columnAssignmentClause);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3419;
- this.tableOrColumn();
- this.state = 3420;
- this.match(HiveParser.EQUAL);
- this.state = 3421;
- this.expression(0);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- setColumnsClause() {
- let localctx = new SetColumnsClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 556, HiveParser.RULE_setColumnsClause);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3423;
- this.match(HiveParser.KW_SET);
- this.state = 3424;
- this.columnAssignmentClause();
- this.state = 3429;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 3425;
- this.match(HiveParser.COMMA);
- this.state = 3426;
- this.columnAssignmentClause();
- this.state = 3431;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- updateStatement() {
- let localctx = new UpdateStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 558, HiveParser.RULE_updateStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3432;
- this.match(HiveParser.KW_UPDATE);
- this.state = 3433;
- this.tableName();
- this.state = 3434;
- this.setColumnsClause();
- this.state = 3436;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_WHERE) {
- this.state = 3435;
- this.whereClause();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- sqlTransactionStatement() {
- let localctx = new SqlTransactionStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 560, HiveParser.RULE_sqlTransactionStatement);
- try {
- this.state = 3442;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_START:
- this.enterOuterAlt(localctx, 1);
- this.state = 3438;
- this.startTransactionStatement();
- break;
- case HiveParser.KW_COMMIT:
- this.enterOuterAlt(localctx, 2);
- this.state = 3439;
- this.commitStatement();
- break;
- case HiveParser.KW_ROLLBACK:
- this.enterOuterAlt(localctx, 3);
- this.state = 3440;
- this.rollbackStatement();
- break;
- case HiveParser.KW_SET:
- this.enterOuterAlt(localctx, 4);
- this.state = 3441;
- this.setAutoCommitStatement();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- startTransactionStatement() {
- let localctx = new StartTransactionStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 562, HiveParser.RULE_startTransactionStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3444;
- this.match(HiveParser.KW_START);
- this.state = 3445;
- this.match(HiveParser.KW_TRANSACTION);
- this.state = 3454;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_READ || _la === HiveParser.KW_ISOLATION) {
- this.state = 3446;
- this.transactionMode();
- this.state = 3451;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 3447;
- this.match(HiveParser.COMMA);
- this.state = 3448;
- this.transactionMode();
- this.state = 3453;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- transactionMode() {
- let localctx = new TransactionModeContext(this, this._ctx, this.state);
- this.enterRule(localctx, 564, HiveParser.RULE_transactionMode);
- try {
- this.state = 3458;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_ISOLATION:
- this.enterOuterAlt(localctx, 1);
- this.state = 3456;
- this.isolationLevel();
- break;
- case HiveParser.KW_READ:
- this.enterOuterAlt(localctx, 2);
- this.state = 3457;
- this.transactionAccessMode();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- transactionAccessMode() {
- let localctx = new TransactionAccessModeContext(this, this._ctx, this.state);
- this.enterRule(localctx, 566, HiveParser.RULE_transactionAccessMode);
- try {
- this.state = 3464;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 380, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 3460;
- this.match(HiveParser.KW_READ);
- this.state = 3461;
- this.match(HiveParser.KW_ONLY);
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 3462;
- this.match(HiveParser.KW_READ);
- this.state = 3463;
- this.match(HiveParser.KW_WRITE);
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- isolationLevel() {
- let localctx = new IsolationLevelContext(this, this._ctx, this.state);
- this.enterRule(localctx, 568, HiveParser.RULE_isolationLevel);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3466;
- this.match(HiveParser.KW_ISOLATION);
- this.state = 3467;
- this.match(HiveParser.KW_LEVEL);
- this.state = 3468;
- this.levelOfIsolation();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- levelOfIsolation() {
- let localctx = new LevelOfIsolationContext(this, this._ctx, this.state);
- this.enterRule(localctx, 570, HiveParser.RULE_levelOfIsolation);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3470;
- this.match(HiveParser.KW_SNAPSHOT);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- commitStatement() {
- let localctx = new CommitStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 572, HiveParser.RULE_commitStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3472;
- this.match(HiveParser.KW_COMMIT);
- this.state = 3474;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_WORK) {
- this.state = 3473;
- this.match(HiveParser.KW_WORK);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- rollbackStatement() {
- let localctx = new RollbackStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 574, HiveParser.RULE_rollbackStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3476;
- this.match(HiveParser.KW_ROLLBACK);
- this.state = 3478;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_WORK) {
- this.state = 3477;
- this.match(HiveParser.KW_WORK);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- setAutoCommitStatement() {
- let localctx = new SetAutoCommitStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 576, HiveParser.RULE_setAutoCommitStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3480;
- this.match(HiveParser.KW_SET);
- this.state = 3481;
- this.match(HiveParser.KW_AUTOCOMMIT);
- this.state = 3482;
- this.booleanValueTok();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- abortTransactionStatement() {
- let localctx = new AbortTransactionStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 578, HiveParser.RULE_abortTransactionStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3484;
- this.match(HiveParser.KW_ABORT);
- this.state = 3485;
- this.match(HiveParser.KW_TRANSACTIONS);
- this.state = 3487;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- do {
- this.state = 3486;
- this.match(HiveParser.Number);
- this.state = 3489;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- } while (_la === HiveParser.Number);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- mergeStatement() {
- let localctx = new MergeStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 580, HiveParser.RULE_mergeStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3491;
- this.match(HiveParser.KW_MERGE);
- this.state = 3492;
- this.match(HiveParser.KW_INTO);
- this.state = 3493;
- this.tableName();
- this.state = 3498;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (
- ((_la & ~0x1f) == 0 &&
- ((1 << _la) &
- ((1 << HiveParser.KW_IF) |
- (1 << HiveParser.KW_ASC) |
- (1 << HiveParser.KW_DESC) |
- (1 << HiveParser.KW_NULLS) |
- (1 << HiveParser.KW_LAST) |
- (1 << HiveParser.KW_AS) |
- (1 << HiveParser.KW_OVERWRITE))) !==
- 0) ||
- (((_la - 37) & ~0x1f) == 0 &&
- ((1 << (_la - 37)) &
- ((1 << (HiveParser.KW_PARTITIONS - 37)) |
- (1 << (HiveParser.KW_TABLE - 37)) |
- (1 << (HiveParser.KW_TABLES - 37)) |
- (1 << (HiveParser.KW_COLUMNS - 37)) |
- (1 << (HiveParser.KW_INDEX - 37)) |
- (1 << (HiveParser.KW_INDEXES - 37)) |
- (1 << (HiveParser.KW_REBUILD - 37)) |
- (1 << (HiveParser.KW_FUNCTIONS - 37)) |
- (1 << (HiveParser.KW_SHOW - 37)) |
- (1 << (HiveParser.KW_MSCK - 37)) |
- (1 << (HiveParser.KW_REPAIR - 37)) |
- (1 << (HiveParser.KW_DIRECTORY - 37)) |
- (1 << (HiveParser.KW_CLUSTER - 37)) |
- (1 << (HiveParser.KW_DISTRIBUTE - 37)) |
- (1 << (HiveParser.KW_SORT - 37)) |
- (1 << (HiveParser.KW_LOAD - 37)) |
- (1 << (HiveParser.KW_EXPORT - 37)) |
- (1 << (HiveParser.KW_REPLICATION - 37)) |
- (1 << (HiveParser.KW_METADATA - 37)) |
- (1 << (HiveParser.KW_DATA - 37)) |
- (1 << (HiveParser.KW_INPATH - 37)))) !==
- 0) ||
- (((_la - 70) & ~0x1f) == 0 &&
- ((1 << (_la - 70)) &
- ((1 << (HiveParser.KW_CHANGE - 70)) |
- (1 << (HiveParser.KW_FIRST - 70)) |
- (1 << (HiveParser.KW_AFTER - 70)) |
- (1 << (HiveParser.KW_RENAME - 70)) |
- (1 << (HiveParser.KW_COMMENT - 70)) |
- (1 << (HiveParser.KW_BOOLEAN - 70)) |
- (1 << (HiveParser.KW_TINYINT - 70)) |
- (1 << (HiveParser.KW_SMALLINT - 70)) |
- (1 << (HiveParser.KW_INT - 70)) |
- (1 << (HiveParser.KW_BIGINT - 70)) |
- (1 << (HiveParser.KW_FLOAT - 70)) |
- (1 << (HiveParser.KW_DOUBLE - 70)) |
- (1 << (HiveParser.KW_DATE - 70)) |
- (1 << (HiveParser.KW_DATETIME - 70)) |
- (1 << (HiveParser.KW_TIMESTAMP - 70)) |
- (1 << (HiveParser.KW_TIME - 70)) |
- (1 << (HiveParser.KW_ZONE - 70)) |
- (1 << (HiveParser.KW_STRING - 70)) |
- (1 << (HiveParser.KW_ARRAY - 70)) |
- (1 << (HiveParser.KW_STRUCT - 70)) |
- (1 << (HiveParser.KW_MAP - 70)))) !==
- 0) ||
- (((_la - 104) & ~0x1f) == 0 &&
- ((1 << (_la - 104)) &
- ((1 << (HiveParser.KW_UNIONTYPE - 104)) |
- (1 << (HiveParser.KW_PARTITIONED - 104)) |
- (1 << (HiveParser.KW_CLUSTERED - 104)) |
- (1 << (HiveParser.KW_SORTED - 104)) |
- (1 << (HiveParser.KW_BUCKETS - 104)) |
- (1 << (HiveParser.KW_FORMAT - 104)) |
- (1 << (HiveParser.KW_DELIMITED - 104)) |
- (1 << (HiveParser.KW_FIELDS - 104)) |
- (1 << (HiveParser.KW_TERMINATED - 104)) |
- (1 << (HiveParser.KW_ESCAPED - 104)) |
- (1 << (HiveParser.KW_COLLECTION - 104)) |
- (1 << (HiveParser.KW_ITEMS - 104)) |
- (1 << (HiveParser.KW_KEYS - 104)) |
- (1 << (HiveParser.KW_KEY_TYPE - 104)) |
- (1 << (HiveParser.KW_KILL - 104)) |
- (1 << (HiveParser.KW_LINES - 104)) |
- (1 << (HiveParser.KW_STORED - 104)) |
- (1 << (HiveParser.KW_FILEFORMAT - 104)) |
- (1 << (HiveParser.KW_INPUTFORMAT - 104)) |
- (1 << (HiveParser.KW_OUTPUTFORMAT - 104)) |
- (1 << (HiveParser.KW_INPUTDRIVER - 104)) |
- (1 << (HiveParser.KW_OUTPUTDRIVER - 104)) |
- (1 << (HiveParser.KW_ENABLE - 104)) |
- (1 << (HiveParser.KW_DISABLE - 104)) |
- (1 << (HiveParser.KW_LOCATION - 104)) |
- (1 << (HiveParser.KW_BUCKET - 104)))) !==
- 0) ||
- (((_la - 139) & ~0x1f) == 0 &&
- ((1 << (_la - 139)) &
- ((1 << (HiveParser.KW_ADD - 139)) |
- (1 << (HiveParser.KW_REPLACE - 139)) |
- (1 << (HiveParser.KW_TEMPORARY - 139)) |
- (1 << (HiveParser.KW_FILE - 139)) |
- (1 << (HiveParser.KW_JAR - 139)) |
- (1 << (HiveParser.KW_EXPLAIN - 139)) |
- (1 << (HiveParser.KW_FORMATTED - 139)) |
- (1 << (HiveParser.KW_DEPENDENCY - 139)) |
- (1 << (HiveParser.KW_LOGICAL - 139)) |
- (1 << (HiveParser.KW_SERDE - 139)) |
- (1 << (HiveParser.KW_DEFERRED - 139)) |
- (1 << (HiveParser.KW_SERDEPROPERTIES - 139)) |
- (1 << (HiveParser.KW_DBPROPERTIES - 139)) |
- (1 << (HiveParser.KW_LIMIT - 139)) |
- (1 << (HiveParser.KW_OFFSET - 139)) |
- (1 << (HiveParser.KW_UNSET - 139)) |
- (1 << (HiveParser.KW_TBLPROPERTIES - 139)) |
- (1 << (HiveParser.KW_IDXPROPERTIES - 139)) |
- (1 << (HiveParser.KW_VALUE_TYPE - 139)) |
- (1 << (HiveParser.KW_ELEM_TYPE - 139)) |
- (1 << (HiveParser.KW_DEFINED - 139)))) !==
- 0) ||
- (((_la - 172) & ~0x1f) == 0 &&
- ((1 << (_la - 172)) &
- ((1 << (HiveParser.KW_MAPJOIN - 172)) |
- (1 << (HiveParser.KW_STREAMTABLE - 172)) |
- (1 << (HiveParser.KW_CLUSTERSTATUS - 172)) |
- (1 << (HiveParser.KW_UTC - 172)) |
- (1 << (HiveParser.KW_UTCTIMESTAMP - 172)) |
- (1 << (HiveParser.KW_LONG - 172)) |
- (1 << (HiveParser.KW_PLUS - 172)) |
- (1 << (HiveParser.KW_VIEW - 172)) |
- (1 << (HiveParser.KW_VIEWS - 172)) |
- (1 << (HiveParser.KW_DATABASES - 172)) |
- (1 << (HiveParser.KW_MATERIALIZED - 172)) |
- (1 << (HiveParser.KW_SCHEMA - 172)) |
- (1 << (HiveParser.KW_SCHEMAS - 172)) |
- (1 << (HiveParser.KW_SSL - 172)) |
- (1 << (HiveParser.KW_UNDO - 172)) |
- (1 << (HiveParser.KW_LOCK - 172)) |
- (1 << (HiveParser.KW_LOCKS - 172)) |
- (1 << (HiveParser.KW_UNLOCK - 172)) |
- (1 << (HiveParser.KW_SHARED - 172)) |
- (1 << (HiveParser.KW_EXCLUSIVE - 172)) |
- (1 << (HiveParser.KW_UNSIGNED - 172)) |
- (1 << (HiveParser.KW_WHILE - 172)) |
- (1 << (HiveParser.KW_READ - 172)))) !==
- 0) ||
- (((_la - 205) & ~0x1f) == 0 &&
- ((1 << (_la - 205)) &
- ((1 << (HiveParser.KW_PURGE - 205)) |
- (1 << (HiveParser.KW_ANALYZE - 205)) |
- (1 << (HiveParser.KW_BEFORE - 205)) |
- (1 << (HiveParser.KW_BINARY - 205)) |
- (1 << (HiveParser.KW_CONTINUE - 205)) |
- (1 << (HiveParser.KW_RECORDREADER - 205)) |
- (1 << (HiveParser.KW_RECORDWRITER - 205)) |
- (1 << (HiveParser.KW_SEMI - 205)) |
- (1 << (HiveParser.KW_TOUCH - 205)) |
- (1 << (HiveParser.KW_ARCHIVE - 205)) |
- (1 << (HiveParser.KW_UNARCHIVE - 205)) |
- (1 << (HiveParser.KW_COMPUTE - 205)) |
- (1 << (HiveParser.KW_STATISTICS - 205)) |
- (1 << (HiveParser.KW_USE - 205)) |
- (1 << (HiveParser.KW_OPTION - 205)) |
- (1 << (HiveParser.KW_CONCATENATE - 205)) |
- (1 << (HiveParser.KW_CATALOG - 205)) |
- (1 << (HiveParser.KW_SHOW_DATABASE - 205)) |
- (1 << (HiveParser.KW_RESTRICT - 205)) |
- (1 << (HiveParser.KW_CASCADE - 205)) |
- (1 << (HiveParser.KW_SKEWED - 205)))) !==
- 0) ||
- (((_la - 237) & ~0x1f) == 0 &&
- ((1 << (_la - 237)) &
- ((1 << (HiveParser.KW_DIRECTORIES - 237)) |
- (1 << (HiveParser.KW_CURRENT_DATE - 237)) |
- (1 << (HiveParser.KW_CURRENT_TIMESTAMP - 237)) |
- (1 << (HiveParser.KW_GROUPING - 237)) |
- (1 << (HiveParser.KW_SETS - 237)) |
- (1 << (HiveParser.KW_NOSCAN - 237)) |
- (1 << (HiveParser.KW_ROLE - 237)) |
- (1 << (HiveParser.KW_ROLES - 237)) |
- (1 << (HiveParser.KW_URI - 237)) |
- (1 << (HiveParser.KW_SERVER - 237)) |
- (1 << (HiveParser.KW_ADMIN - 237)) |
- (1 << (HiveParser.KW_OWNER - 237)) |
- (1 << (HiveParser.KW_PRINCIPALS - 237)) |
- (1 << (HiveParser.KW_COMPACT - 237)) |
- (1 << (HiveParser.KW_COMPACTIONS - 237)) |
- (1 << (HiveParser.KW_TRANSACTIONS - 237)) |
- (1 << (HiveParser.KW_REWRITE - 237)) |
- (1 << (HiveParser.KW_REOPTIMIZATION - 237)))) !==
- 0) ||
- (((_la - 271) & ~0x1f) == 0 &&
- ((1 << (_la - 271)) &
- ((1 << (HiveParser.KW_RELOAD - 271)) |
- (1 << (HiveParser.KW_YEAR - 271)) |
- (1 << (HiveParser.KW_QUERY - 271)) |
- (1 << (HiveParser.KW_QUARTER - 271)) |
- (1 << (HiveParser.KW_MONTH - 271)) |
- (1 << (HiveParser.KW_WEEK - 271)) |
- (1 << (HiveParser.KW_DAY - 271)) |
- (1 << (HiveParser.KW_DOW - 271)) |
- (1 << (HiveParser.KW_HOUR - 271)) |
- (1 << (HiveParser.KW_MINUTE - 271)) |
- (1 << (HiveParser.KW_SECOND - 271)) |
- (1 << (HiveParser.KW_TRANSACTION - 271)) |
- (1 << (HiveParser.KW_WORK - 271)) |
- (1 << (HiveParser.KW_WRITE - 271)) |
- (1 << (HiveParser.KW_ISOLATION - 271)) |
- (1 << (HiveParser.KW_LEVEL - 271)) |
- (1 << (HiveParser.KW_SNAPSHOT - 271)) |
- (1 << (HiveParser.KW_AUTOCOMMIT - 271)) |
- (1 << (HiveParser.KW_CACHE - 271)) |
- (1 << (HiveParser.KW_ENFORCED - 271)) |
- (1 << (HiveParser.KW_VALIDATE - 271)) |
- (1 << (HiveParser.KW_NOVALIDATE - 271)) |
- (1 << (HiveParser.KW_RELY - 271)) |
- (1 << (HiveParser.KW_NORELY - 271)))) !==
- 0) ||
- (((_la - 304) & ~0x1f) == 0 &&
- ((1 << (_la - 304)) &
- ((1 << (HiveParser.KW_KEY - 304)) |
- (1 << (HiveParser.KW_ABORT - 304)) |
- (1 << (HiveParser.KW_MATCHED - 304)) |
- (1 << (HiveParser.KW_REPL - 304)) |
- (1 << (HiveParser.KW_DUMP - 304)) |
- (1 << (HiveParser.KW_STATUS - 304)) |
- (1 << (HiveParser.KW_VECTORIZATION - 304)) |
- (1 << (HiveParser.KW_SUMMARY - 304)) |
- (1 << (HiveParser.KW_OPERATOR - 304)) |
- (1 << (HiveParser.KW_EXPRESSION - 304)) |
- (1 << (HiveParser.KW_DETAIL - 304)) |
- (1 << (HiveParser.KW_WAIT - 304)) |
- (1 << (HiveParser.KW_RESOURCE - 304)) |
- (1 << (HiveParser.KW_PLAN - 304)) |
- (1 << (HiveParser.KW_QUERY_PARALLELISM - 304)) |
- (1 << (HiveParser.KW_PLANS - 304)) |
- (1 << (HiveParser.KW_ACTIVATE - 304)) |
- (1 << (HiveParser.KW_DEFAULT - 304)) |
- (1 << (HiveParser.KW_CHECK - 304)) |
- (1 << (HiveParser.KW_POOL - 304)) |
- (1 << (HiveParser.KW_MOVE - 304)) |
- (1 << (HiveParser.KW_DO - 304)) |
- (1 << (HiveParser.KW_ALLOC_FRACTION - 304)) |
- (1 << (HiveParser.KW_SCHEDULING_POLICY - 304)) |
- (1 << (HiveParser.KW_PATH - 304)) |
- (1 << (HiveParser.KW_MAPPING - 304)) |
- (1 << (HiveParser.KW_WORKLOAD - 304)) |
- (1 << (HiveParser.KW_MANAGEMENT - 304)) |
- (1 << (HiveParser.KW_ACTIVE - 304)))) !==
- 0) ||
- (((_la - 337) & ~0x1f) == 0 &&
- ((1 << (_la - 337)) &
- ((1 << (HiveParser.KW_UNMANAGED - 337)) |
- (1 << (HiveParser.KW_DELTA - 337)) |
- (1 << (HiveParser.KW_CSV - 337)) |
- (1 << (HiveParser.KW_JSON - 337)) |
- (1 << (HiveParser.KW_BLOOMFILTER - 337)) |
- (1 << (HiveParser.KW_STREAM - 337)))) !==
- 0) ||
- _la === HiveParser.LCURLY ||
- _la === HiveParser.Identifier
- ) {
- this.state = 3495;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_AS) {
- this.state = 3494;
- this.match(HiveParser.KW_AS);
- }
-
- this.state = 3497;
- this.identifier();
- }
-
- this.state = 3500;
- this.match(HiveParser.KW_USING);
- this.state = 3501;
- this.joinSourcePart();
- this.state = 3502;
- this.match(HiveParser.KW_ON);
- this.state = 3503;
- this.expression(0);
- this.state = 3504;
- this.whenClauses();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- whenClauses() {
- let localctx = new WhenClausesContext(this, this._ctx, this.state);
- this.enterRule(localctx, 582, HiveParser.RULE_whenClauses);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3510;
- this._errHandler.sync(this);
- var _alt = this._interp.adaptivePredict(this._input, 387, this._ctx);
- while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) {
- if (_alt === 1) {
- this.state = 3508;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 386, this._ctx);
- switch (la_) {
- case 1:
- this.state = 3506;
- this.whenMatchedAndClause();
- break;
-
- case 2:
- this.state = 3507;
- this.whenMatchedThenClause();
- break;
- }
- }
- this.state = 3512;
- this._errHandler.sync(this);
- _alt = this._interp.adaptivePredict(this._input, 387, this._ctx);
- }
-
- this.state = 3514;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_WHEN) {
- this.state = 3513;
- this.whenNotMatchedClause();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- whenNotMatchedClause() {
- let localctx = new WhenNotMatchedClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 584, HiveParser.RULE_whenNotMatchedClause);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3516;
- this.match(HiveParser.KW_WHEN);
- this.state = 3517;
- this.match(HiveParser.KW_NOT);
- this.state = 3518;
- this.match(HiveParser.KW_MATCHED);
- this.state = 3521;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_AND) {
- this.state = 3519;
- this.match(HiveParser.KW_AND);
- this.state = 3520;
- this.expression(0);
- }
-
- this.state = 3523;
- this.match(HiveParser.KW_THEN);
- this.state = 3524;
- this.match(HiveParser.KW_INSERT);
- this.state = 3525;
- this.match(HiveParser.KW_VALUES);
- this.state = 3526;
- this.valueRowConstructor();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- whenMatchedAndClause() {
- let localctx = new WhenMatchedAndClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 586, HiveParser.RULE_whenMatchedAndClause);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3528;
- this.match(HiveParser.KW_WHEN);
- this.state = 3529;
- this.match(HiveParser.KW_MATCHED);
- this.state = 3530;
- this.match(HiveParser.KW_AND);
- this.state = 3531;
- this.expression(0);
- this.state = 3532;
- this.match(HiveParser.KW_THEN);
- this.state = 3533;
- this.updateOrDelete();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- whenMatchedThenClause() {
- let localctx = new WhenMatchedThenClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 588, HiveParser.RULE_whenMatchedThenClause);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3535;
- this.match(HiveParser.KW_WHEN);
- this.state = 3536;
- this.match(HiveParser.KW_MATCHED);
- this.state = 3537;
- this.match(HiveParser.KW_THEN);
- this.state = 3538;
- this.updateOrDelete();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- updateOrDelete() {
- let localctx = new UpdateOrDeleteContext(this, this._ctx, this.state);
- this.enterRule(localctx, 590, HiveParser.RULE_updateOrDelete);
- try {
- this.state = 3543;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_UPDATE:
- this.enterOuterAlt(localctx, 1);
- this.state = 3540;
- this.match(HiveParser.KW_UPDATE);
- this.state = 3541;
- this.setColumnsClause();
- break;
- case HiveParser.KW_DELETE:
- this.enterOuterAlt(localctx, 2);
- this.state = 3542;
- this.match(HiveParser.KW_DELETE);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- killQueryStatement() {
- let localctx = new KillQueryStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 592, HiveParser.RULE_killQueryStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3545;
- this.match(HiveParser.KW_KILL);
- this.state = 3546;
- this.match(HiveParser.KW_QUERY);
- this.state = 3548;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- do {
- this.state = 3547;
- this.match(HiveParser.StringLiteral);
- this.state = 3550;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- } while (_la === HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- selectClause() {
- let localctx = new SelectClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 594, HiveParser.RULE_selectClause);
- var _la = 0; // Token type
- try {
- this.state = 3565;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_SELECT:
- this.enterOuterAlt(localctx, 1);
- this.state = 3552;
- this.match(HiveParser.KW_SELECT);
- this.state = 3554;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.QUERY_HINT) {
- this.state = 3553;
- this.match(HiveParser.QUERY_HINT);
- }
-
- this.state = 3562;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_TRUE:
- case HiveParser.KW_FALSE:
- case HiveParser.KW_ALL:
- case HiveParser.KW_NOT:
- case HiveParser.KW_IF:
- case HiveParser.KW_EXISTS:
- case HiveParser.KW_ASC:
- case HiveParser.KW_DESC:
- case HiveParser.KW_NULLS:
- case HiveParser.KW_LAST:
- case HiveParser.KW_DISTINCT:
- case HiveParser.KW_OVERWRITE:
- case HiveParser.KW_PARTITIONS:
- case HiveParser.KW_TABLE:
- case HiveParser.KW_TABLES:
- case HiveParser.KW_COLUMNS:
- case HiveParser.KW_INDEX:
- case HiveParser.KW_INDEXES:
- case HiveParser.KW_REBUILD:
- case HiveParser.KW_FUNCTIONS:
- case HiveParser.KW_SHOW:
- case HiveParser.KW_MSCK:
- case HiveParser.KW_REPAIR:
- case HiveParser.KW_DIRECTORY:
- case HiveParser.KW_CLUSTER:
- case HiveParser.KW_DISTRIBUTE:
- case HiveParser.KW_SORT:
- case HiveParser.KW_LOAD:
- case HiveParser.KW_EXPORT:
- case HiveParser.KW_REPLICATION:
- case HiveParser.KW_METADATA:
- case HiveParser.KW_DATA:
- case HiveParser.KW_INPATH:
- case HiveParser.KW_NULL:
- case HiveParser.KW_CHANGE:
- case HiveParser.KW_FIRST:
- case HiveParser.KW_AFTER:
- case HiveParser.KW_RENAME:
- case HiveParser.KW_COMMENT:
- case HiveParser.KW_BOOLEAN:
- case HiveParser.KW_TINYINT:
- case HiveParser.KW_SMALLINT:
- case HiveParser.KW_INT:
- case HiveParser.KW_BIGINT:
- case HiveParser.KW_FLOAT:
- case HiveParser.KW_DOUBLE:
- case HiveParser.KW_DATE:
- case HiveParser.KW_DATETIME:
- case HiveParser.KW_TIMESTAMP:
- case HiveParser.KW_TIMESTAMPLOCALTZ:
- case HiveParser.KW_TIME:
- case HiveParser.KW_ZONE:
- case HiveParser.KW_INTERVAL:
- case HiveParser.KW_STRING:
- case HiveParser.KW_ARRAY:
- case HiveParser.KW_STRUCT:
- case HiveParser.KW_MAP:
- case HiveParser.KW_UNIONTYPE:
- case HiveParser.KW_PARTITIONED:
- case HiveParser.KW_CLUSTERED:
- case HiveParser.KW_SORTED:
- case HiveParser.KW_BUCKETS:
- case HiveParser.KW_FORMAT:
- case HiveParser.KW_DELIMITED:
- case HiveParser.KW_FIELDS:
- case HiveParser.KW_TERMINATED:
- case HiveParser.KW_ESCAPED:
- case HiveParser.KW_COLLECTION:
- case HiveParser.KW_ITEMS:
- case HiveParser.KW_KEYS:
- case HiveParser.KW_KEY_TYPE:
- case HiveParser.KW_KILL:
- case HiveParser.KW_LINES:
- case HiveParser.KW_STORED:
- case HiveParser.KW_FILEFORMAT:
- case HiveParser.KW_INPUTFORMAT:
- case HiveParser.KW_OUTPUTFORMAT:
- case HiveParser.KW_INPUTDRIVER:
- case HiveParser.KW_OUTPUTDRIVER:
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- case HiveParser.KW_LOCATION:
- case HiveParser.KW_BUCKET:
- case HiveParser.KW_CAST:
- case HiveParser.KW_ADD:
- case HiveParser.KW_REPLACE:
- case HiveParser.KW_TEMPORARY:
- case HiveParser.KW_FILE:
- case HiveParser.KW_JAR:
- case HiveParser.KW_EXPLAIN:
- case HiveParser.KW_FORMATTED:
- case HiveParser.KW_DEPENDENCY:
- case HiveParser.KW_LOGICAL:
- case HiveParser.KW_SERDE:
- case HiveParser.KW_DEFERRED:
- case HiveParser.KW_SERDEPROPERTIES:
- case HiveParser.KW_DBPROPERTIES:
- case HiveParser.KW_LIMIT:
- case HiveParser.KW_OFFSET:
- case HiveParser.KW_UNSET:
- case HiveParser.KW_TBLPROPERTIES:
- case HiveParser.KW_IDXPROPERTIES:
- case HiveParser.KW_VALUE_TYPE:
- case HiveParser.KW_ELEM_TYPE:
- case HiveParser.KW_DEFINED:
- case HiveParser.KW_CASE:
- case HiveParser.KW_MAPJOIN:
- case HiveParser.KW_STREAMTABLE:
- case HiveParser.KW_CLUSTERSTATUS:
- case HiveParser.KW_UTC:
- case HiveParser.KW_UTCTIMESTAMP:
- case HiveParser.KW_LONG:
- case HiveParser.KW_PLUS:
- case HiveParser.KW_VIEW:
- case HiveParser.KW_VIEWS:
- case HiveParser.KW_DATABASES:
- case HiveParser.KW_MATERIALIZED:
- case HiveParser.KW_SCHEMA:
- case HiveParser.KW_SCHEMAS:
- case HiveParser.KW_SSL:
- case HiveParser.KW_UNDO:
- case HiveParser.KW_LOCK:
- case HiveParser.KW_LOCKS:
- case HiveParser.KW_UNLOCK:
- case HiveParser.KW_SHARED:
- case HiveParser.KW_EXCLUSIVE:
- case HiveParser.KW_UNSIGNED:
- case HiveParser.KW_WHILE:
- case HiveParser.KW_READ:
- case HiveParser.KW_PURGE:
- case HiveParser.KW_ANALYZE:
- case HiveParser.KW_BEFORE:
- case HiveParser.KW_BINARY:
- case HiveParser.KW_CONTINUE:
- case HiveParser.KW_RECORDREADER:
- case HiveParser.KW_RECORDWRITER:
- case HiveParser.KW_SEMI:
- case HiveParser.KW_TOUCH:
- case HiveParser.KW_ARCHIVE:
- case HiveParser.KW_UNARCHIVE:
- case HiveParser.KW_COMPUTE:
- case HiveParser.KW_STATISTICS:
- case HiveParser.KW_USE:
- case HiveParser.KW_OPTION:
- case HiveParser.KW_CONCATENATE:
- case HiveParser.KW_CATALOG:
- case HiveParser.KW_SHOW_DATABASE:
- case HiveParser.KW_RESTRICT:
- case HiveParser.KW_CASCADE:
- case HiveParser.KW_SKEWED:
- case HiveParser.KW_DIRECTORIES:
- case HiveParser.KW_CURRENT_DATE:
- case HiveParser.KW_CURRENT_TIMESTAMP:
- case HiveParser.KW_GROUPING:
- case HiveParser.KW_SETS:
- case HiveParser.KW_NOSCAN:
- case HiveParser.KW_ROLE:
- case HiveParser.KW_ROLES:
- case HiveParser.KW_URI:
- case HiveParser.KW_SERVER:
- case HiveParser.KW_ADMIN:
- case HiveParser.KW_OWNER:
- case HiveParser.KW_PRINCIPALS:
- case HiveParser.KW_COMPACT:
- case HiveParser.KW_COMPACTIONS:
- case HiveParser.KW_TRANSACTIONS:
- case HiveParser.KW_REWRITE:
- case HiveParser.KW_REOPTIMIZATION:
- case HiveParser.KW_RELOAD:
- case HiveParser.KW_YEAR:
- case HiveParser.KW_QUERY:
- case HiveParser.KW_QUARTER:
- case HiveParser.KW_MONTH:
- case HiveParser.KW_WEEK:
- case HiveParser.KW_DAY:
- case HiveParser.KW_DOW:
- case HiveParser.KW_HOUR:
- case HiveParser.KW_MINUTE:
- case HiveParser.KW_SECOND:
- case HiveParser.KW_TRANSACTION:
- case HiveParser.KW_WORK:
- case HiveParser.KW_WRITE:
- case HiveParser.KW_ISOLATION:
- case HiveParser.KW_LEVEL:
- case HiveParser.KW_SNAPSHOT:
- case HiveParser.KW_AUTOCOMMIT:
- case HiveParser.KW_CACHE:
- case HiveParser.KW_ENFORCED:
- case HiveParser.KW_VALIDATE:
- case HiveParser.KW_NOVALIDATE:
- case HiveParser.KW_RELY:
- case HiveParser.KW_NORELY:
- case HiveParser.KW_KEY:
- case HiveParser.KW_ABORT:
- case HiveParser.KW_EXTRACT:
- case HiveParser.KW_FLOOR:
- case HiveParser.KW_MATCHED:
- case HiveParser.KW_REPL:
- case HiveParser.KW_DUMP:
- case HiveParser.KW_STATUS:
- case HiveParser.KW_VECTORIZATION:
- case HiveParser.KW_SUMMARY:
- case HiveParser.KW_OPERATOR:
- case HiveParser.KW_EXPRESSION:
- case HiveParser.KW_DETAIL:
- case HiveParser.KW_WAIT:
- case HiveParser.KW_RESOURCE:
- case HiveParser.KW_PLAN:
- case HiveParser.KW_QUERY_PARALLELISM:
- case HiveParser.KW_PLANS:
- case HiveParser.KW_ACTIVATE:
- case HiveParser.KW_DEFAULT:
- case HiveParser.KW_CHECK:
- case HiveParser.KW_POOL:
- case HiveParser.KW_MOVE:
- case HiveParser.KW_DO:
- case HiveParser.KW_ALLOC_FRACTION:
- case HiveParser.KW_SCHEDULING_POLICY:
- case HiveParser.KW_PATH:
- case HiveParser.KW_MAPPING:
- case HiveParser.KW_WORKLOAD:
- case HiveParser.KW_MANAGEMENT:
- case HiveParser.KW_ACTIVE:
- case HiveParser.KW_UNMANAGED:
- case HiveParser.KW_DELTA:
- case HiveParser.KW_CSV:
- case HiveParser.KW_JSON:
- case HiveParser.KW_BLOOMFILTER:
- case HiveParser.KW_STREAM:
- case HiveParser.LPAREN:
- case HiveParser.LCURLY:
- case HiveParser.PLUS:
- case HiveParser.MINUS:
- case HiveParser.STAR:
- case HiveParser.TILDE:
- case HiveParser.StringLiteral:
- case HiveParser.IntegralLiteral:
- case HiveParser.NumberLiteral:
- case HiveParser.Number:
- case HiveParser.Identifier:
- case HiveParser.CharSetName:
- this.state = 3557;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ALL || _la === HiveParser.KW_DISTINCT) {
- this.state = 3556;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_ALL || _la === HiveParser.KW_DISTINCT)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- }
-
- this.state = 3559;
- this.selectList();
- break;
- case HiveParser.KW_TRANSFORM:
- this.state = 3560;
- this.match(HiveParser.KW_TRANSFORM);
- this.state = 3561;
- this.selectTrfmClause();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- break;
- case HiveParser.KW_MAP:
- case HiveParser.KW_REDUCE:
- this.enterOuterAlt(localctx, 2);
- this.state = 3564;
- this.trfmClause();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- selectList() {
- let localctx = new SelectListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 596, HiveParser.RULE_selectList);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3567;
- this.selectItem();
- this.state = 3572;
- this._errHandler.sync(this);
- var _alt = this._interp.adaptivePredict(this._input, 396, this._ctx);
- while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) {
- if (_alt === 1) {
- this.state = 3568;
- this.match(HiveParser.COMMA);
- this.state = 3569;
- this.selectItem();
- }
- this.state = 3574;
- this._errHandler.sync(this);
- _alt = this._interp.adaptivePredict(this._input, 396, this._ctx);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- selectTrfmClause() {
- let localctx = new SelectTrfmClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 598, HiveParser.RULE_selectTrfmClause);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3575;
- this.match(HiveParser.LPAREN);
- this.state = 3576;
- this.selectExpressionList();
- this.state = 3577;
- this.match(HiveParser.RPAREN);
- this.state = 3579;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ROW) {
- this.state = 3578;
- this.rowFormat();
- }
-
- this.state = 3582;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_RECORDWRITER) {
- this.state = 3581;
- this.recordWriter();
- }
-
- this.state = 3584;
- this.match(HiveParser.KW_USING);
- this.state = 3585;
- this.match(HiveParser.StringLiteral);
- this.state = 3600;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_AS) {
- this.state = 3586;
- this.match(HiveParser.KW_AS);
- this.state = 3598;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.LPAREN:
- this.state = 3587;
- this.match(HiveParser.LPAREN);
- this.state = 3590;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 399, this._ctx);
- switch (la_) {
- case 1:
- this.state = 3588;
- this.aliasList();
- break;
-
- case 2:
- this.state = 3589;
- this.columnNameTypeList();
- break;
- }
- this.state = 3592;
- this.match(HiveParser.RPAREN);
- break;
- case HiveParser.KW_IF:
- case HiveParser.KW_ASC:
- case HiveParser.KW_DESC:
- case HiveParser.KW_NULLS:
- case HiveParser.KW_LAST:
- case HiveParser.KW_OVERWRITE:
- case HiveParser.KW_PARTITIONS:
- case HiveParser.KW_TABLE:
- case HiveParser.KW_TABLES:
- case HiveParser.KW_COLUMNS:
- case HiveParser.KW_INDEX:
- case HiveParser.KW_INDEXES:
- case HiveParser.KW_REBUILD:
- case HiveParser.KW_FUNCTIONS:
- case HiveParser.KW_SHOW:
- case HiveParser.KW_MSCK:
- case HiveParser.KW_REPAIR:
- case HiveParser.KW_DIRECTORY:
- case HiveParser.KW_CLUSTER:
- case HiveParser.KW_DISTRIBUTE:
- case HiveParser.KW_SORT:
- case HiveParser.KW_LOAD:
- case HiveParser.KW_EXPORT:
- case HiveParser.KW_REPLICATION:
- case HiveParser.KW_METADATA:
- case HiveParser.KW_DATA:
- case HiveParser.KW_INPATH:
- case HiveParser.KW_CHANGE:
- case HiveParser.KW_FIRST:
- case HiveParser.KW_AFTER:
- case HiveParser.KW_RENAME:
- case HiveParser.KW_COMMENT:
- case HiveParser.KW_BOOLEAN:
- case HiveParser.KW_TINYINT:
- case HiveParser.KW_SMALLINT:
- case HiveParser.KW_INT:
- case HiveParser.KW_BIGINT:
- case HiveParser.KW_FLOAT:
- case HiveParser.KW_DOUBLE:
- case HiveParser.KW_DATE:
- case HiveParser.KW_DATETIME:
- case HiveParser.KW_TIMESTAMP:
- case HiveParser.KW_TIME:
- case HiveParser.KW_ZONE:
- case HiveParser.KW_STRING:
- case HiveParser.KW_ARRAY:
- case HiveParser.KW_STRUCT:
- case HiveParser.KW_MAP:
- case HiveParser.KW_UNIONTYPE:
- case HiveParser.KW_PARTITIONED:
- case HiveParser.KW_CLUSTERED:
- case HiveParser.KW_SORTED:
- case HiveParser.KW_BUCKETS:
- case HiveParser.KW_FORMAT:
- case HiveParser.KW_DELIMITED:
- case HiveParser.KW_FIELDS:
- case HiveParser.KW_TERMINATED:
- case HiveParser.KW_ESCAPED:
- case HiveParser.KW_COLLECTION:
- case HiveParser.KW_ITEMS:
- case HiveParser.KW_KEYS:
- case HiveParser.KW_KEY_TYPE:
- case HiveParser.KW_KILL:
- case HiveParser.KW_LINES:
- case HiveParser.KW_STORED:
- case HiveParser.KW_FILEFORMAT:
- case HiveParser.KW_INPUTFORMAT:
- case HiveParser.KW_OUTPUTFORMAT:
- case HiveParser.KW_INPUTDRIVER:
- case HiveParser.KW_OUTPUTDRIVER:
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- case HiveParser.KW_LOCATION:
- case HiveParser.KW_BUCKET:
- case HiveParser.KW_ADD:
- case HiveParser.KW_REPLACE:
- case HiveParser.KW_TEMPORARY:
- case HiveParser.KW_FILE:
- case HiveParser.KW_JAR:
- case HiveParser.KW_EXPLAIN:
- case HiveParser.KW_FORMATTED:
- case HiveParser.KW_DEPENDENCY:
- case HiveParser.KW_LOGICAL:
- case HiveParser.KW_SERDE:
- case HiveParser.KW_DEFERRED:
- case HiveParser.KW_SERDEPROPERTIES:
- case HiveParser.KW_DBPROPERTIES:
- case HiveParser.KW_LIMIT:
- case HiveParser.KW_OFFSET:
- case HiveParser.KW_UNSET:
- case HiveParser.KW_TBLPROPERTIES:
- case HiveParser.KW_IDXPROPERTIES:
- case HiveParser.KW_VALUE_TYPE:
- case HiveParser.KW_ELEM_TYPE:
- case HiveParser.KW_DEFINED:
- case HiveParser.KW_MAPJOIN:
- case HiveParser.KW_STREAMTABLE:
- case HiveParser.KW_CLUSTERSTATUS:
- case HiveParser.KW_UTC:
- case HiveParser.KW_UTCTIMESTAMP:
- case HiveParser.KW_LONG:
- case HiveParser.KW_PLUS:
- case HiveParser.KW_VIEW:
- case HiveParser.KW_VIEWS:
- case HiveParser.KW_DATABASES:
- case HiveParser.KW_MATERIALIZED:
- case HiveParser.KW_SCHEMA:
- case HiveParser.KW_SCHEMAS:
- case HiveParser.KW_SSL:
- case HiveParser.KW_UNDO:
- case HiveParser.KW_LOCK:
- case HiveParser.KW_LOCKS:
- case HiveParser.KW_UNLOCK:
- case HiveParser.KW_SHARED:
- case HiveParser.KW_EXCLUSIVE:
- case HiveParser.KW_UNSIGNED:
- case HiveParser.KW_WHILE:
- case HiveParser.KW_READ:
- case HiveParser.KW_PURGE:
- case HiveParser.KW_ANALYZE:
- case HiveParser.KW_BEFORE:
- case HiveParser.KW_BINARY:
- case HiveParser.KW_CONTINUE:
- case HiveParser.KW_RECORDREADER:
- case HiveParser.KW_RECORDWRITER:
- case HiveParser.KW_SEMI:
- case HiveParser.KW_TOUCH:
- case HiveParser.KW_ARCHIVE:
- case HiveParser.KW_UNARCHIVE:
- case HiveParser.KW_COMPUTE:
- case HiveParser.KW_STATISTICS:
- case HiveParser.KW_USE:
- case HiveParser.KW_OPTION:
- case HiveParser.KW_CONCATENATE:
- case HiveParser.KW_CATALOG:
- case HiveParser.KW_SHOW_DATABASE:
- case HiveParser.KW_RESTRICT:
- case HiveParser.KW_CASCADE:
- case HiveParser.KW_SKEWED:
- case HiveParser.KW_DIRECTORIES:
- case HiveParser.KW_CURRENT_DATE:
- case HiveParser.KW_CURRENT_TIMESTAMP:
- case HiveParser.KW_GROUPING:
- case HiveParser.KW_SETS:
- case HiveParser.KW_NOSCAN:
- case HiveParser.KW_ROLE:
- case HiveParser.KW_ROLES:
- case HiveParser.KW_URI:
- case HiveParser.KW_SERVER:
- case HiveParser.KW_ADMIN:
- case HiveParser.KW_OWNER:
- case HiveParser.KW_PRINCIPALS:
- case HiveParser.KW_COMPACT:
- case HiveParser.KW_COMPACTIONS:
- case HiveParser.KW_TRANSACTIONS:
- case HiveParser.KW_REWRITE:
- case HiveParser.KW_REOPTIMIZATION:
- case HiveParser.KW_RELOAD:
- case HiveParser.KW_YEAR:
- case HiveParser.KW_QUERY:
- case HiveParser.KW_QUARTER:
- case HiveParser.KW_MONTH:
- case HiveParser.KW_WEEK:
- case HiveParser.KW_DAY:
- case HiveParser.KW_DOW:
- case HiveParser.KW_HOUR:
- case HiveParser.KW_MINUTE:
- case HiveParser.KW_SECOND:
- case HiveParser.KW_TRANSACTION:
- case HiveParser.KW_WORK:
- case HiveParser.KW_WRITE:
- case HiveParser.KW_ISOLATION:
- case HiveParser.KW_LEVEL:
- case HiveParser.KW_SNAPSHOT:
- case HiveParser.KW_AUTOCOMMIT:
- case HiveParser.KW_CACHE:
- case HiveParser.KW_ENFORCED:
- case HiveParser.KW_VALIDATE:
- case HiveParser.KW_NOVALIDATE:
- case HiveParser.KW_RELY:
- case HiveParser.KW_NORELY:
- case HiveParser.KW_KEY:
- case HiveParser.KW_ABORT:
- case HiveParser.KW_MATCHED:
- case HiveParser.KW_REPL:
- case HiveParser.KW_DUMP:
- case HiveParser.KW_STATUS:
- case HiveParser.KW_VECTORIZATION:
- case HiveParser.KW_SUMMARY:
- case HiveParser.KW_OPERATOR:
- case HiveParser.KW_EXPRESSION:
- case HiveParser.KW_DETAIL:
- case HiveParser.KW_WAIT:
- case HiveParser.KW_RESOURCE:
- case HiveParser.KW_PLAN:
- case HiveParser.KW_QUERY_PARALLELISM:
- case HiveParser.KW_PLANS:
- case HiveParser.KW_ACTIVATE:
- case HiveParser.KW_DEFAULT:
- case HiveParser.KW_CHECK:
- case HiveParser.KW_POOL:
- case HiveParser.KW_MOVE:
- case HiveParser.KW_DO:
- case HiveParser.KW_ALLOC_FRACTION:
- case HiveParser.KW_SCHEDULING_POLICY:
- case HiveParser.KW_PATH:
- case HiveParser.KW_MAPPING:
- case HiveParser.KW_WORKLOAD:
- case HiveParser.KW_MANAGEMENT:
- case HiveParser.KW_ACTIVE:
- case HiveParser.KW_UNMANAGED:
- case HiveParser.KW_DELTA:
- case HiveParser.KW_CSV:
- case HiveParser.KW_JSON:
- case HiveParser.KW_BLOOMFILTER:
- case HiveParser.KW_STREAM:
- case HiveParser.LCURLY:
- case HiveParser.Identifier:
- this.state = 3596;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 400, this._ctx);
- switch (la_) {
- case 1:
- this.state = 3594;
- this.aliasList();
- break;
-
- case 2:
- this.state = 3595;
- this.columnNameTypeList();
- break;
- }
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- }
-
- this.state = 3603;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ROW) {
- this.state = 3602;
- this.rowFormat();
- }
-
- this.state = 3606;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_RECORDREADER) {
- this.state = 3605;
- this.recordReader();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- selectItem() {
- let localctx = new SelectItemContext(this, this._ctx, this.state);
- this.enterRule(localctx, 600, HiveParser.RULE_selectItem);
- var _la = 0; // Token type
- try {
- this.state = 3631;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 409, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 3608;
- this.tableAllColumns();
- this.state = 3610;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 405, this._ctx);
- if (la_ === 1) {
- this.state = 3609;
- this.exceptClause();
- }
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 3612;
- this.expression(0);
- this.state = 3629;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 408, this._ctx);
- if (la_ === 1) {
- this.state = 3614;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_AS) {
- this.state = 3613;
- this.match(HiveParser.KW_AS);
- }
-
- this.state = 3616;
- this.identifier();
- } else if (la_ === 2) {
- this.state = 3617;
- this.match(HiveParser.KW_AS);
- this.state = 3618;
- this.match(HiveParser.LPAREN);
- this.state = 3619;
- this.identifier();
- this.state = 3624;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 3620;
- this.match(HiveParser.COMMA);
- this.state = 3621;
- this.identifier();
- this.state = 3626;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- this.state = 3627;
- this.match(HiveParser.RPAREN);
- }
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- trfmClause() {
- let localctx = new TrfmClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 602, HiveParser.RULE_trfmClause);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3637;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_MAP:
- this.state = 3633;
- this.match(HiveParser.KW_MAP);
- this.state = 3634;
- this.selectExpressionList();
- break;
- case HiveParser.KW_REDUCE:
- this.state = 3635;
- this.match(HiveParser.KW_REDUCE);
- this.state = 3636;
- this.selectExpressionList();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- this.state = 3640;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ROW) {
- this.state = 3639;
- this.rowFormat();
- }
-
- this.state = 3643;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_RECORDWRITER) {
- this.state = 3642;
- this.recordWriter();
- }
-
- this.state = 3645;
- this.match(HiveParser.KW_USING);
- this.state = 3646;
- this.match(HiveParser.StringLiteral);
- this.state = 3661;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_AS) {
- this.state = 3647;
- this.match(HiveParser.KW_AS);
- this.state = 3659;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.LPAREN:
- this.state = 3648;
- this.match(HiveParser.LPAREN);
- this.state = 3651;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 413, this._ctx);
- switch (la_) {
- case 1:
- this.state = 3649;
- this.aliasList();
- break;
-
- case 2:
- this.state = 3650;
- this.columnNameTypeList();
- break;
- }
- this.state = 3653;
- this.match(HiveParser.RPAREN);
- break;
- case HiveParser.KW_IF:
- case HiveParser.KW_ASC:
- case HiveParser.KW_DESC:
- case HiveParser.KW_NULLS:
- case HiveParser.KW_LAST:
- case HiveParser.KW_OVERWRITE:
- case HiveParser.KW_PARTITIONS:
- case HiveParser.KW_TABLE:
- case HiveParser.KW_TABLES:
- case HiveParser.KW_COLUMNS:
- case HiveParser.KW_INDEX:
- case HiveParser.KW_INDEXES:
- case HiveParser.KW_REBUILD:
- case HiveParser.KW_FUNCTIONS:
- case HiveParser.KW_SHOW:
- case HiveParser.KW_MSCK:
- case HiveParser.KW_REPAIR:
- case HiveParser.KW_DIRECTORY:
- case HiveParser.KW_CLUSTER:
- case HiveParser.KW_DISTRIBUTE:
- case HiveParser.KW_SORT:
- case HiveParser.KW_LOAD:
- case HiveParser.KW_EXPORT:
- case HiveParser.KW_REPLICATION:
- case HiveParser.KW_METADATA:
- case HiveParser.KW_DATA:
- case HiveParser.KW_INPATH:
- case HiveParser.KW_CHANGE:
- case HiveParser.KW_FIRST:
- case HiveParser.KW_AFTER:
- case HiveParser.KW_RENAME:
- case HiveParser.KW_COMMENT:
- case HiveParser.KW_BOOLEAN:
- case HiveParser.KW_TINYINT:
- case HiveParser.KW_SMALLINT:
- case HiveParser.KW_INT:
- case HiveParser.KW_BIGINT:
- case HiveParser.KW_FLOAT:
- case HiveParser.KW_DOUBLE:
- case HiveParser.KW_DATE:
- case HiveParser.KW_DATETIME:
- case HiveParser.KW_TIMESTAMP:
- case HiveParser.KW_TIME:
- case HiveParser.KW_ZONE:
- case HiveParser.KW_STRING:
- case HiveParser.KW_ARRAY:
- case HiveParser.KW_STRUCT:
- case HiveParser.KW_MAP:
- case HiveParser.KW_UNIONTYPE:
- case HiveParser.KW_PARTITIONED:
- case HiveParser.KW_CLUSTERED:
- case HiveParser.KW_SORTED:
- case HiveParser.KW_BUCKETS:
- case HiveParser.KW_FORMAT:
- case HiveParser.KW_DELIMITED:
- case HiveParser.KW_FIELDS:
- case HiveParser.KW_TERMINATED:
- case HiveParser.KW_ESCAPED:
- case HiveParser.KW_COLLECTION:
- case HiveParser.KW_ITEMS:
- case HiveParser.KW_KEYS:
- case HiveParser.KW_KEY_TYPE:
- case HiveParser.KW_KILL:
- case HiveParser.KW_LINES:
- case HiveParser.KW_STORED:
- case HiveParser.KW_FILEFORMAT:
- case HiveParser.KW_INPUTFORMAT:
- case HiveParser.KW_OUTPUTFORMAT:
- case HiveParser.KW_INPUTDRIVER:
- case HiveParser.KW_OUTPUTDRIVER:
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- case HiveParser.KW_LOCATION:
- case HiveParser.KW_BUCKET:
- case HiveParser.KW_ADD:
- case HiveParser.KW_REPLACE:
- case HiveParser.KW_TEMPORARY:
- case HiveParser.KW_FILE:
- case HiveParser.KW_JAR:
- case HiveParser.KW_EXPLAIN:
- case HiveParser.KW_FORMATTED:
- case HiveParser.KW_DEPENDENCY:
- case HiveParser.KW_LOGICAL:
- case HiveParser.KW_SERDE:
- case HiveParser.KW_DEFERRED:
- case HiveParser.KW_SERDEPROPERTIES:
- case HiveParser.KW_DBPROPERTIES:
- case HiveParser.KW_LIMIT:
- case HiveParser.KW_OFFSET:
- case HiveParser.KW_UNSET:
- case HiveParser.KW_TBLPROPERTIES:
- case HiveParser.KW_IDXPROPERTIES:
- case HiveParser.KW_VALUE_TYPE:
- case HiveParser.KW_ELEM_TYPE:
- case HiveParser.KW_DEFINED:
- case HiveParser.KW_MAPJOIN:
- case HiveParser.KW_STREAMTABLE:
- case HiveParser.KW_CLUSTERSTATUS:
- case HiveParser.KW_UTC:
- case HiveParser.KW_UTCTIMESTAMP:
- case HiveParser.KW_LONG:
- case HiveParser.KW_PLUS:
- case HiveParser.KW_VIEW:
- case HiveParser.KW_VIEWS:
- case HiveParser.KW_DATABASES:
- case HiveParser.KW_MATERIALIZED:
- case HiveParser.KW_SCHEMA:
- case HiveParser.KW_SCHEMAS:
- case HiveParser.KW_SSL:
- case HiveParser.KW_UNDO:
- case HiveParser.KW_LOCK:
- case HiveParser.KW_LOCKS:
- case HiveParser.KW_UNLOCK:
- case HiveParser.KW_SHARED:
- case HiveParser.KW_EXCLUSIVE:
- case HiveParser.KW_UNSIGNED:
- case HiveParser.KW_WHILE:
- case HiveParser.KW_READ:
- case HiveParser.KW_PURGE:
- case HiveParser.KW_ANALYZE:
- case HiveParser.KW_BEFORE:
- case HiveParser.KW_BINARY:
- case HiveParser.KW_CONTINUE:
- case HiveParser.KW_RECORDREADER:
- case HiveParser.KW_RECORDWRITER:
- case HiveParser.KW_SEMI:
- case HiveParser.KW_TOUCH:
- case HiveParser.KW_ARCHIVE:
- case HiveParser.KW_UNARCHIVE:
- case HiveParser.KW_COMPUTE:
- case HiveParser.KW_STATISTICS:
- case HiveParser.KW_USE:
- case HiveParser.KW_OPTION:
- case HiveParser.KW_CONCATENATE:
- case HiveParser.KW_CATALOG:
- case HiveParser.KW_SHOW_DATABASE:
- case HiveParser.KW_RESTRICT:
- case HiveParser.KW_CASCADE:
- case HiveParser.KW_SKEWED:
- case HiveParser.KW_DIRECTORIES:
- case HiveParser.KW_CURRENT_DATE:
- case HiveParser.KW_CURRENT_TIMESTAMP:
- case HiveParser.KW_GROUPING:
- case HiveParser.KW_SETS:
- case HiveParser.KW_NOSCAN:
- case HiveParser.KW_ROLE:
- case HiveParser.KW_ROLES:
- case HiveParser.KW_URI:
- case HiveParser.KW_SERVER:
- case HiveParser.KW_ADMIN:
- case HiveParser.KW_OWNER:
- case HiveParser.KW_PRINCIPALS:
- case HiveParser.KW_COMPACT:
- case HiveParser.KW_COMPACTIONS:
- case HiveParser.KW_TRANSACTIONS:
- case HiveParser.KW_REWRITE:
- case HiveParser.KW_REOPTIMIZATION:
- case HiveParser.KW_RELOAD:
- case HiveParser.KW_YEAR:
- case HiveParser.KW_QUERY:
- case HiveParser.KW_QUARTER:
- case HiveParser.KW_MONTH:
- case HiveParser.KW_WEEK:
- case HiveParser.KW_DAY:
- case HiveParser.KW_DOW:
- case HiveParser.KW_HOUR:
- case HiveParser.KW_MINUTE:
- case HiveParser.KW_SECOND:
- case HiveParser.KW_TRANSACTION:
- case HiveParser.KW_WORK:
- case HiveParser.KW_WRITE:
- case HiveParser.KW_ISOLATION:
- case HiveParser.KW_LEVEL:
- case HiveParser.KW_SNAPSHOT:
- case HiveParser.KW_AUTOCOMMIT:
- case HiveParser.KW_CACHE:
- case HiveParser.KW_ENFORCED:
- case HiveParser.KW_VALIDATE:
- case HiveParser.KW_NOVALIDATE:
- case HiveParser.KW_RELY:
- case HiveParser.KW_NORELY:
- case HiveParser.KW_KEY:
- case HiveParser.KW_ABORT:
- case HiveParser.KW_MATCHED:
- case HiveParser.KW_REPL:
- case HiveParser.KW_DUMP:
- case HiveParser.KW_STATUS:
- case HiveParser.KW_VECTORIZATION:
- case HiveParser.KW_SUMMARY:
- case HiveParser.KW_OPERATOR:
- case HiveParser.KW_EXPRESSION:
- case HiveParser.KW_DETAIL:
- case HiveParser.KW_WAIT:
- case HiveParser.KW_RESOURCE:
- case HiveParser.KW_PLAN:
- case HiveParser.KW_QUERY_PARALLELISM:
- case HiveParser.KW_PLANS:
- case HiveParser.KW_ACTIVATE:
- case HiveParser.KW_DEFAULT:
- case HiveParser.KW_CHECK:
- case HiveParser.KW_POOL:
- case HiveParser.KW_MOVE:
- case HiveParser.KW_DO:
- case HiveParser.KW_ALLOC_FRACTION:
- case HiveParser.KW_SCHEDULING_POLICY:
- case HiveParser.KW_PATH:
- case HiveParser.KW_MAPPING:
- case HiveParser.KW_WORKLOAD:
- case HiveParser.KW_MANAGEMENT:
- case HiveParser.KW_ACTIVE:
- case HiveParser.KW_UNMANAGED:
- case HiveParser.KW_DELTA:
- case HiveParser.KW_CSV:
- case HiveParser.KW_JSON:
- case HiveParser.KW_BLOOMFILTER:
- case HiveParser.KW_STREAM:
- case HiveParser.LCURLY:
- case HiveParser.Identifier:
- this.state = 3657;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 414, this._ctx);
- switch (la_) {
- case 1:
- this.state = 3655;
- this.aliasList();
- break;
-
- case 2:
- this.state = 3656;
- this.columnNameTypeList();
- break;
- }
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- }
-
- this.state = 3664;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ROW) {
- this.state = 3663;
- this.rowFormat();
- }
-
- this.state = 3667;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_RECORDREADER) {
- this.state = 3666;
- this.recordReader();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- selectExpression() {
- let localctx = new SelectExpressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 604, HiveParser.RULE_selectExpression);
- var _la = 0; // Token type
- try {
- this.state = 3674;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 420, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 3669;
- this.tableAllColumns();
- this.state = 3671;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_EXCEPT) {
- this.state = 3670;
- this.exceptClause();
- }
-
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 3673;
- this.expression(0);
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- selectExpressionList() {
- let localctx = new SelectExpressionListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 606, HiveParser.RULE_selectExpressionList);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3676;
- this.selectExpression();
- this.state = 3681;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 3677;
- this.match(HiveParser.COMMA);
- this.state = 3678;
- this.selectExpression();
- this.state = 3683;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- exceptClause() {
- let localctx = new ExceptClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 608, HiveParser.RULE_exceptClause);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3684;
- this.match(HiveParser.KW_EXCEPT);
- this.state = 3685;
- this.match(HiveParser.LPAREN);
- this.state = 3686;
- this.selectExpressionList();
- this.state = 3687;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- window_clause() {
- let localctx = new Window_clauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 610, HiveParser.RULE_window_clause);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3689;
- this.match(HiveParser.KW_WINDOW);
- this.state = 3690;
- this.window_defn();
- this.state = 3695;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 3691;
- this.match(HiveParser.COMMA);
- this.state = 3692;
- this.window_defn();
- this.state = 3697;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- window_defn() {
- let localctx = new Window_defnContext(this, this._ctx, this.state);
- this.enterRule(localctx, 612, HiveParser.RULE_window_defn);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3698;
- this.identifier();
- this.state = 3699;
- this.match(HiveParser.KW_AS);
- this.state = 3700;
- this.window_specification();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- window_specification() {
- let localctx = new Window_specificationContext(this, this._ctx, this.state);
- this.enterRule(localctx, 614, HiveParser.RULE_window_specification);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3714;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_IF:
- case HiveParser.KW_ASC:
- case HiveParser.KW_DESC:
- case HiveParser.KW_NULLS:
- case HiveParser.KW_LAST:
- case HiveParser.KW_OVERWRITE:
- case HiveParser.KW_PARTITIONS:
- case HiveParser.KW_TABLE:
- case HiveParser.KW_TABLES:
- case HiveParser.KW_COLUMNS:
- case HiveParser.KW_INDEX:
- case HiveParser.KW_INDEXES:
- case HiveParser.KW_REBUILD:
- case HiveParser.KW_FUNCTIONS:
- case HiveParser.KW_SHOW:
- case HiveParser.KW_MSCK:
- case HiveParser.KW_REPAIR:
- case HiveParser.KW_DIRECTORY:
- case HiveParser.KW_CLUSTER:
- case HiveParser.KW_DISTRIBUTE:
- case HiveParser.KW_SORT:
- case HiveParser.KW_LOAD:
- case HiveParser.KW_EXPORT:
- case HiveParser.KW_REPLICATION:
- case HiveParser.KW_METADATA:
- case HiveParser.KW_DATA:
- case HiveParser.KW_INPATH:
- case HiveParser.KW_CHANGE:
- case HiveParser.KW_FIRST:
- case HiveParser.KW_AFTER:
- case HiveParser.KW_RENAME:
- case HiveParser.KW_COMMENT:
- case HiveParser.KW_BOOLEAN:
- case HiveParser.KW_TINYINT:
- case HiveParser.KW_SMALLINT:
- case HiveParser.KW_INT:
- case HiveParser.KW_BIGINT:
- case HiveParser.KW_FLOAT:
- case HiveParser.KW_DOUBLE:
- case HiveParser.KW_DATE:
- case HiveParser.KW_DATETIME:
- case HiveParser.KW_TIMESTAMP:
- case HiveParser.KW_TIME:
- case HiveParser.KW_ZONE:
- case HiveParser.KW_STRING:
- case HiveParser.KW_ARRAY:
- case HiveParser.KW_STRUCT:
- case HiveParser.KW_MAP:
- case HiveParser.KW_UNIONTYPE:
- case HiveParser.KW_PARTITIONED:
- case HiveParser.KW_CLUSTERED:
- case HiveParser.KW_SORTED:
- case HiveParser.KW_BUCKETS:
- case HiveParser.KW_FORMAT:
- case HiveParser.KW_DELIMITED:
- case HiveParser.KW_FIELDS:
- case HiveParser.KW_TERMINATED:
- case HiveParser.KW_ESCAPED:
- case HiveParser.KW_COLLECTION:
- case HiveParser.KW_ITEMS:
- case HiveParser.KW_KEYS:
- case HiveParser.KW_KEY_TYPE:
- case HiveParser.KW_KILL:
- case HiveParser.KW_LINES:
- case HiveParser.KW_STORED:
- case HiveParser.KW_FILEFORMAT:
- case HiveParser.KW_INPUTFORMAT:
- case HiveParser.KW_OUTPUTFORMAT:
- case HiveParser.KW_INPUTDRIVER:
- case HiveParser.KW_OUTPUTDRIVER:
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- case HiveParser.KW_LOCATION:
- case HiveParser.KW_BUCKET:
- case HiveParser.KW_ADD:
- case HiveParser.KW_REPLACE:
- case HiveParser.KW_TEMPORARY:
- case HiveParser.KW_FILE:
- case HiveParser.KW_JAR:
- case HiveParser.KW_EXPLAIN:
- case HiveParser.KW_FORMATTED:
- case HiveParser.KW_DEPENDENCY:
- case HiveParser.KW_LOGICAL:
- case HiveParser.KW_SERDE:
- case HiveParser.KW_DEFERRED:
- case HiveParser.KW_SERDEPROPERTIES:
- case HiveParser.KW_DBPROPERTIES:
- case HiveParser.KW_LIMIT:
- case HiveParser.KW_OFFSET:
- case HiveParser.KW_UNSET:
- case HiveParser.KW_TBLPROPERTIES:
- case HiveParser.KW_IDXPROPERTIES:
- case HiveParser.KW_VALUE_TYPE:
- case HiveParser.KW_ELEM_TYPE:
- case HiveParser.KW_DEFINED:
- case HiveParser.KW_MAPJOIN:
- case HiveParser.KW_STREAMTABLE:
- case HiveParser.KW_CLUSTERSTATUS:
- case HiveParser.KW_UTC:
- case HiveParser.KW_UTCTIMESTAMP:
- case HiveParser.KW_LONG:
- case HiveParser.KW_PLUS:
- case HiveParser.KW_VIEW:
- case HiveParser.KW_VIEWS:
- case HiveParser.KW_DATABASES:
- case HiveParser.KW_MATERIALIZED:
- case HiveParser.KW_SCHEMA:
- case HiveParser.KW_SCHEMAS:
- case HiveParser.KW_SSL:
- case HiveParser.KW_UNDO:
- case HiveParser.KW_LOCK:
- case HiveParser.KW_LOCKS:
- case HiveParser.KW_UNLOCK:
- case HiveParser.KW_SHARED:
- case HiveParser.KW_EXCLUSIVE:
- case HiveParser.KW_UNSIGNED:
- case HiveParser.KW_WHILE:
- case HiveParser.KW_READ:
- case HiveParser.KW_PURGE:
- case HiveParser.KW_ANALYZE:
- case HiveParser.KW_BEFORE:
- case HiveParser.KW_BINARY:
- case HiveParser.KW_CONTINUE:
- case HiveParser.KW_RECORDREADER:
- case HiveParser.KW_RECORDWRITER:
- case HiveParser.KW_SEMI:
- case HiveParser.KW_TOUCH:
- case HiveParser.KW_ARCHIVE:
- case HiveParser.KW_UNARCHIVE:
- case HiveParser.KW_COMPUTE:
- case HiveParser.KW_STATISTICS:
- case HiveParser.KW_USE:
- case HiveParser.KW_OPTION:
- case HiveParser.KW_CONCATENATE:
- case HiveParser.KW_CATALOG:
- case HiveParser.KW_SHOW_DATABASE:
- case HiveParser.KW_RESTRICT:
- case HiveParser.KW_CASCADE:
- case HiveParser.KW_SKEWED:
- case HiveParser.KW_DIRECTORIES:
- case HiveParser.KW_CURRENT_DATE:
- case HiveParser.KW_CURRENT_TIMESTAMP:
- case HiveParser.KW_GROUPING:
- case HiveParser.KW_SETS:
- case HiveParser.KW_NOSCAN:
- case HiveParser.KW_ROLE:
- case HiveParser.KW_ROLES:
- case HiveParser.KW_URI:
- case HiveParser.KW_SERVER:
- case HiveParser.KW_ADMIN:
- case HiveParser.KW_OWNER:
- case HiveParser.KW_PRINCIPALS:
- case HiveParser.KW_COMPACT:
- case HiveParser.KW_COMPACTIONS:
- case HiveParser.KW_TRANSACTIONS:
- case HiveParser.KW_REWRITE:
- case HiveParser.KW_REOPTIMIZATION:
- case HiveParser.KW_RELOAD:
- case HiveParser.KW_YEAR:
- case HiveParser.KW_QUERY:
- case HiveParser.KW_QUARTER:
- case HiveParser.KW_MONTH:
- case HiveParser.KW_WEEK:
- case HiveParser.KW_DAY:
- case HiveParser.KW_DOW:
- case HiveParser.KW_HOUR:
- case HiveParser.KW_MINUTE:
- case HiveParser.KW_SECOND:
- case HiveParser.KW_TRANSACTION:
- case HiveParser.KW_WORK:
- case HiveParser.KW_WRITE:
- case HiveParser.KW_ISOLATION:
- case HiveParser.KW_LEVEL:
- case HiveParser.KW_SNAPSHOT:
- case HiveParser.KW_AUTOCOMMIT:
- case HiveParser.KW_CACHE:
- case HiveParser.KW_ENFORCED:
- case HiveParser.KW_VALIDATE:
- case HiveParser.KW_NOVALIDATE:
- case HiveParser.KW_RELY:
- case HiveParser.KW_NORELY:
- case HiveParser.KW_KEY:
- case HiveParser.KW_ABORT:
- case HiveParser.KW_MATCHED:
- case HiveParser.KW_REPL:
- case HiveParser.KW_DUMP:
- case HiveParser.KW_STATUS:
- case HiveParser.KW_VECTORIZATION:
- case HiveParser.KW_SUMMARY:
- case HiveParser.KW_OPERATOR:
- case HiveParser.KW_EXPRESSION:
- case HiveParser.KW_DETAIL:
- case HiveParser.KW_WAIT:
- case HiveParser.KW_RESOURCE:
- case HiveParser.KW_PLAN:
- case HiveParser.KW_QUERY_PARALLELISM:
- case HiveParser.KW_PLANS:
- case HiveParser.KW_ACTIVATE:
- case HiveParser.KW_DEFAULT:
- case HiveParser.KW_CHECK:
- case HiveParser.KW_POOL:
- case HiveParser.KW_MOVE:
- case HiveParser.KW_DO:
- case HiveParser.KW_ALLOC_FRACTION:
- case HiveParser.KW_SCHEDULING_POLICY:
- case HiveParser.KW_PATH:
- case HiveParser.KW_MAPPING:
- case HiveParser.KW_WORKLOAD:
- case HiveParser.KW_MANAGEMENT:
- case HiveParser.KW_ACTIVE:
- case HiveParser.KW_UNMANAGED:
- case HiveParser.KW_DELTA:
- case HiveParser.KW_CSV:
- case HiveParser.KW_JSON:
- case HiveParser.KW_BLOOMFILTER:
- case HiveParser.KW_STREAM:
- case HiveParser.LCURLY:
- case HiveParser.Identifier:
- this.state = 3702;
- this.identifier();
- break;
- case HiveParser.LPAREN:
- this.state = 3703;
- this.match(HiveParser.LPAREN);
- this.state = 3705;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 423, this._ctx);
- if (la_ === 1) {
- this.state = 3704;
- this.identifier();
- }
- this.state = 3708;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (
- _la === HiveParser.KW_ORDER ||
- (((_la - 36) & ~0x1f) == 0 &&
- ((1 << (_la - 36)) &
- ((1 << (HiveParser.KW_PARTITION - 36)) |
- (1 << (HiveParser.KW_CLUSTER - 36)) |
- (1 << (HiveParser.KW_DISTRIBUTE - 36)) |
- (1 << (HiveParser.KW_SORT - 36)))) !==
- 0)
- ) {
- this.state = 3707;
- this.partitioningSpec();
- }
-
- this.state = 3711;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ROWS || _la === HiveParser.KW_RANGE) {
- this.state = 3710;
- this.window_frame();
- }
-
- this.state = 3713;
- this.match(HiveParser.RPAREN);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- window_frame() {
- let localctx = new Window_frameContext(this, this._ctx, this.state);
- this.enterRule(localctx, 616, HiveParser.RULE_window_frame);
- try {
- this.state = 3718;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_ROWS:
- this.enterOuterAlt(localctx, 1);
- this.state = 3716;
- this.window_range_expression();
- break;
- case HiveParser.KW_RANGE:
- this.enterOuterAlt(localctx, 2);
- this.state = 3717;
- this.window_value_expression();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- window_range_expression() {
- let localctx = new Window_range_expressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 618, HiveParser.RULE_window_range_expression);
- try {
- this.state = 3728;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 428, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 3720;
- this.match(HiveParser.KW_ROWS);
- this.state = 3721;
- this.window_frame_start_boundary();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 3722;
- this.match(HiveParser.KW_ROWS);
- this.state = 3723;
- this.match(HiveParser.KW_BETWEEN);
- this.state = 3724;
- this.window_frame_boundary();
- this.state = 3725;
- this.match(HiveParser.KW_AND);
- this.state = 3726;
- this.window_frame_boundary();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- window_value_expression() {
- let localctx = new Window_value_expressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 620, HiveParser.RULE_window_value_expression);
- try {
- this.state = 3738;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 429, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 3730;
- this.match(HiveParser.KW_RANGE);
- this.state = 3731;
- this.window_frame_start_boundary();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 3732;
- this.match(HiveParser.KW_RANGE);
- this.state = 3733;
- this.match(HiveParser.KW_BETWEEN);
- this.state = 3734;
- this.window_frame_boundary();
- this.state = 3735;
- this.match(HiveParser.KW_AND);
- this.state = 3736;
- this.window_frame_boundary();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- window_frame_start_boundary() {
- let localctx = new Window_frame_start_boundaryContext(this, this._ctx, this.state);
- this.enterRule(localctx, 622, HiveParser.RULE_window_frame_start_boundary);
- try {
- this.state = 3746;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_UNBOUNDED:
- this.enterOuterAlt(localctx, 1);
- this.state = 3740;
- this.match(HiveParser.KW_UNBOUNDED);
- this.state = 3741;
- this.match(HiveParser.KW_PRECEDING);
- break;
- case HiveParser.KW_CURRENT:
- this.enterOuterAlt(localctx, 2);
- this.state = 3742;
- this.match(HiveParser.KW_CURRENT);
- this.state = 3743;
- this.match(HiveParser.KW_ROW);
- break;
- case HiveParser.Number:
- this.enterOuterAlt(localctx, 3);
- this.state = 3744;
- this.match(HiveParser.Number);
- this.state = 3745;
- this.match(HiveParser.KW_PRECEDING);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- window_frame_boundary() {
- let localctx = new Window_frame_boundaryContext(this, this._ctx, this.state);
- this.enterRule(localctx, 624, HiveParser.RULE_window_frame_boundary);
- var _la = 0; // Token type
- try {
- this.state = 3754;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_UNBOUNDED:
- this.enterOuterAlt(localctx, 1);
- this.state = 3748;
- this.match(HiveParser.KW_UNBOUNDED);
- this.state = 3749;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_PRECEDING || _la === HiveParser.KW_FOLLOWING)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- break;
- case HiveParser.KW_CURRENT:
- this.enterOuterAlt(localctx, 2);
- this.state = 3750;
- this.match(HiveParser.KW_CURRENT);
- this.state = 3751;
- this.match(HiveParser.KW_ROW);
- break;
- case HiveParser.Number:
- this.enterOuterAlt(localctx, 3);
- this.state = 3752;
- this.match(HiveParser.Number);
- this.state = 3753;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_PRECEDING || _la === HiveParser.KW_FOLLOWING)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableAllColumns() {
- let localctx = new TableAllColumnsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 626, HiveParser.RULE_tableAllColumns);
- try {
- this.state = 3761;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.STAR:
- this.enterOuterAlt(localctx, 1);
- this.state = 3756;
- this.match(HiveParser.STAR);
- break;
- case HiveParser.KW_IF:
- case HiveParser.KW_ASC:
- case HiveParser.KW_DESC:
- case HiveParser.KW_NULLS:
- case HiveParser.KW_LAST:
- case HiveParser.KW_OVERWRITE:
- case HiveParser.KW_PARTITIONS:
- case HiveParser.KW_TABLE:
- case HiveParser.KW_TABLES:
- case HiveParser.KW_COLUMNS:
- case HiveParser.KW_INDEX:
- case HiveParser.KW_INDEXES:
- case HiveParser.KW_REBUILD:
- case HiveParser.KW_FUNCTIONS:
- case HiveParser.KW_SHOW:
- case HiveParser.KW_MSCK:
- case HiveParser.KW_REPAIR:
- case HiveParser.KW_DIRECTORY:
- case HiveParser.KW_CLUSTER:
- case HiveParser.KW_DISTRIBUTE:
- case HiveParser.KW_SORT:
- case HiveParser.KW_LOAD:
- case HiveParser.KW_EXPORT:
- case HiveParser.KW_REPLICATION:
- case HiveParser.KW_METADATA:
- case HiveParser.KW_DATA:
- case HiveParser.KW_INPATH:
- case HiveParser.KW_CHANGE:
- case HiveParser.KW_FIRST:
- case HiveParser.KW_AFTER:
- case HiveParser.KW_RENAME:
- case HiveParser.KW_COMMENT:
- case HiveParser.KW_BOOLEAN:
- case HiveParser.KW_TINYINT:
- case HiveParser.KW_SMALLINT:
- case HiveParser.KW_INT:
- case HiveParser.KW_BIGINT:
- case HiveParser.KW_FLOAT:
- case HiveParser.KW_DOUBLE:
- case HiveParser.KW_DATE:
- case HiveParser.KW_DATETIME:
- case HiveParser.KW_TIMESTAMP:
- case HiveParser.KW_TIME:
- case HiveParser.KW_ZONE:
- case HiveParser.KW_STRING:
- case HiveParser.KW_ARRAY:
- case HiveParser.KW_STRUCT:
- case HiveParser.KW_MAP:
- case HiveParser.KW_UNIONTYPE:
- case HiveParser.KW_PARTITIONED:
- case HiveParser.KW_CLUSTERED:
- case HiveParser.KW_SORTED:
- case HiveParser.KW_BUCKETS:
- case HiveParser.KW_FORMAT:
- case HiveParser.KW_DELIMITED:
- case HiveParser.KW_FIELDS:
- case HiveParser.KW_TERMINATED:
- case HiveParser.KW_ESCAPED:
- case HiveParser.KW_COLLECTION:
- case HiveParser.KW_ITEMS:
- case HiveParser.KW_KEYS:
- case HiveParser.KW_KEY_TYPE:
- case HiveParser.KW_KILL:
- case HiveParser.KW_LINES:
- case HiveParser.KW_STORED:
- case HiveParser.KW_FILEFORMAT:
- case HiveParser.KW_INPUTFORMAT:
- case HiveParser.KW_OUTPUTFORMAT:
- case HiveParser.KW_INPUTDRIVER:
- case HiveParser.KW_OUTPUTDRIVER:
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- case HiveParser.KW_LOCATION:
- case HiveParser.KW_BUCKET:
- case HiveParser.KW_ADD:
- case HiveParser.KW_REPLACE:
- case HiveParser.KW_TEMPORARY:
- case HiveParser.KW_FILE:
- case HiveParser.KW_JAR:
- case HiveParser.KW_EXPLAIN:
- case HiveParser.KW_FORMATTED:
- case HiveParser.KW_DEPENDENCY:
- case HiveParser.KW_LOGICAL:
- case HiveParser.KW_SERDE:
- case HiveParser.KW_DEFERRED:
- case HiveParser.KW_SERDEPROPERTIES:
- case HiveParser.KW_DBPROPERTIES:
- case HiveParser.KW_LIMIT:
- case HiveParser.KW_OFFSET:
- case HiveParser.KW_UNSET:
- case HiveParser.KW_TBLPROPERTIES:
- case HiveParser.KW_IDXPROPERTIES:
- case HiveParser.KW_VALUE_TYPE:
- case HiveParser.KW_ELEM_TYPE:
- case HiveParser.KW_DEFINED:
- case HiveParser.KW_MAPJOIN:
- case HiveParser.KW_STREAMTABLE:
- case HiveParser.KW_CLUSTERSTATUS:
- case HiveParser.KW_UTC:
- case HiveParser.KW_UTCTIMESTAMP:
- case HiveParser.KW_LONG:
- case HiveParser.KW_PLUS:
- case HiveParser.KW_VIEW:
- case HiveParser.KW_VIEWS:
- case HiveParser.KW_DATABASES:
- case HiveParser.KW_MATERIALIZED:
- case HiveParser.KW_SCHEMA:
- case HiveParser.KW_SCHEMAS:
- case HiveParser.KW_SSL:
- case HiveParser.KW_UNDO:
- case HiveParser.KW_LOCK:
- case HiveParser.KW_LOCKS:
- case HiveParser.KW_UNLOCK:
- case HiveParser.KW_SHARED:
- case HiveParser.KW_EXCLUSIVE:
- case HiveParser.KW_UNSIGNED:
- case HiveParser.KW_WHILE:
- case HiveParser.KW_READ:
- case HiveParser.KW_PURGE:
- case HiveParser.KW_ANALYZE:
- case HiveParser.KW_BEFORE:
- case HiveParser.KW_BINARY:
- case HiveParser.KW_CONTINUE:
- case HiveParser.KW_RECORDREADER:
- case HiveParser.KW_RECORDWRITER:
- case HiveParser.KW_SEMI:
- case HiveParser.KW_TOUCH:
- case HiveParser.KW_ARCHIVE:
- case HiveParser.KW_UNARCHIVE:
- case HiveParser.KW_COMPUTE:
- case HiveParser.KW_STATISTICS:
- case HiveParser.KW_USE:
- case HiveParser.KW_OPTION:
- case HiveParser.KW_CONCATENATE:
- case HiveParser.KW_CATALOG:
- case HiveParser.KW_SHOW_DATABASE:
- case HiveParser.KW_RESTRICT:
- case HiveParser.KW_CASCADE:
- case HiveParser.KW_SKEWED:
- case HiveParser.KW_DIRECTORIES:
- case HiveParser.KW_CURRENT_DATE:
- case HiveParser.KW_CURRENT_TIMESTAMP:
- case HiveParser.KW_GROUPING:
- case HiveParser.KW_SETS:
- case HiveParser.KW_NOSCAN:
- case HiveParser.KW_ROLE:
- case HiveParser.KW_ROLES:
- case HiveParser.KW_URI:
- case HiveParser.KW_SERVER:
- case HiveParser.KW_ADMIN:
- case HiveParser.KW_OWNER:
- case HiveParser.KW_PRINCIPALS:
- case HiveParser.KW_COMPACT:
- case HiveParser.KW_COMPACTIONS:
- case HiveParser.KW_TRANSACTIONS:
- case HiveParser.KW_REWRITE:
- case HiveParser.KW_REOPTIMIZATION:
- case HiveParser.KW_RELOAD:
- case HiveParser.KW_YEAR:
- case HiveParser.KW_QUERY:
- case HiveParser.KW_QUARTER:
- case HiveParser.KW_MONTH:
- case HiveParser.KW_WEEK:
- case HiveParser.KW_DAY:
- case HiveParser.KW_DOW:
- case HiveParser.KW_HOUR:
- case HiveParser.KW_MINUTE:
- case HiveParser.KW_SECOND:
- case HiveParser.KW_TRANSACTION:
- case HiveParser.KW_WORK:
- case HiveParser.KW_WRITE:
- case HiveParser.KW_ISOLATION:
- case HiveParser.KW_LEVEL:
- case HiveParser.KW_SNAPSHOT:
- case HiveParser.KW_AUTOCOMMIT:
- case HiveParser.KW_CACHE:
- case HiveParser.KW_ENFORCED:
- case HiveParser.KW_VALIDATE:
- case HiveParser.KW_NOVALIDATE:
- case HiveParser.KW_RELY:
- case HiveParser.KW_NORELY:
- case HiveParser.KW_KEY:
- case HiveParser.KW_ABORT:
- case HiveParser.KW_MATCHED:
- case HiveParser.KW_REPL:
- case HiveParser.KW_DUMP:
- case HiveParser.KW_STATUS:
- case HiveParser.KW_VECTORIZATION:
- case HiveParser.KW_SUMMARY:
- case HiveParser.KW_OPERATOR:
- case HiveParser.KW_EXPRESSION:
- case HiveParser.KW_DETAIL:
- case HiveParser.KW_WAIT:
- case HiveParser.KW_RESOURCE:
- case HiveParser.KW_PLAN:
- case HiveParser.KW_QUERY_PARALLELISM:
- case HiveParser.KW_PLANS:
- case HiveParser.KW_ACTIVATE:
- case HiveParser.KW_DEFAULT:
- case HiveParser.KW_CHECK:
- case HiveParser.KW_POOL:
- case HiveParser.KW_MOVE:
- case HiveParser.KW_DO:
- case HiveParser.KW_ALLOC_FRACTION:
- case HiveParser.KW_SCHEDULING_POLICY:
- case HiveParser.KW_PATH:
- case HiveParser.KW_MAPPING:
- case HiveParser.KW_WORKLOAD:
- case HiveParser.KW_MANAGEMENT:
- case HiveParser.KW_ACTIVE:
- case HiveParser.KW_UNMANAGED:
- case HiveParser.KW_DELTA:
- case HiveParser.KW_CSV:
- case HiveParser.KW_JSON:
- case HiveParser.KW_BLOOMFILTER:
- case HiveParser.KW_STREAM:
- case HiveParser.LCURLY:
- case HiveParser.Identifier:
- this.enterOuterAlt(localctx, 2);
- this.state = 3757;
- this.tableName();
- this.state = 3758;
- this.match(HiveParser.DOT);
- this.state = 3759;
- this.match(HiveParser.STAR);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableOrColumn() {
- let localctx = new TableOrColumnContext(this, this._ctx, this.state);
- this.enterRule(localctx, 628, HiveParser.RULE_tableOrColumn);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3763;
- this.identifier();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- expressionList() {
- let localctx = new ExpressionListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 630, HiveParser.RULE_expressionList);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3765;
- this.expression(0);
- this.state = 3770;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 3766;
- this.match(HiveParser.COMMA);
- this.state = 3767;
- this.expression(0);
- this.state = 3772;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- aliasList() {
- let localctx = new AliasListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 632, HiveParser.RULE_aliasList);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3773;
- this.identifier();
- this.state = 3778;
- this._errHandler.sync(this);
- var _alt = this._interp.adaptivePredict(this._input, 434, this._ctx);
- while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) {
- if (_alt === 1) {
- this.state = 3774;
- this.match(HiveParser.COMMA);
- this.state = 3775;
- this.identifier();
- }
- this.state = 3780;
- this._errHandler.sync(this);
- _alt = this._interp.adaptivePredict(this._input, 434, this._ctx);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- fromClause() {
- let localctx = new FromClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 634, HiveParser.RULE_fromClause);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3781;
- this.match(HiveParser.KW_FROM);
- this.state = 3782;
- this.fromSource();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- fromSource() {
- let localctx = new FromSourceContext(this, this._ctx, this.state);
- this.enterRule(localctx, 636, HiveParser.RULE_fromSource);
- var _la = 0; // Token type
- try {
- this.state = 3795;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 436, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 3784;
- this.uniqueJoinToken();
- this.state = 3785;
- this.uniqueJoinSource();
- this.state = 3788;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- do {
- this.state = 3786;
- this.match(HiveParser.COMMA);
- this.state = 3787;
- this.uniqueJoinSource();
- this.state = 3790;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- } while (_la === HiveParser.COMMA);
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 3792;
- this.joinSource();
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 3793;
- this.rangeTableValuedFunction();
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 3794;
- this.streamSource();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- atomjoinSource() {
- let localctx = new AtomjoinSourceContext(this, this._ctx, this.state);
- this.enterRule(localctx, 638, HiveParser.RULE_atomjoinSource);
- try {
- this.state = 3829;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 441, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 3797;
- this.tableSource();
- this.state = 3801;
- this._errHandler.sync(this);
- var _alt = this._interp.adaptivePredict(this._input, 437, this._ctx);
- while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) {
- if (_alt === 1) {
- this.state = 3798;
- this.lateralView();
- }
- this.state = 3803;
- this._errHandler.sync(this);
- _alt = this._interp.adaptivePredict(this._input, 437, this._ctx);
- }
-
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 3804;
- this.virtualTableSource();
- this.state = 3808;
- this._errHandler.sync(this);
- var _alt = this._interp.adaptivePredict(this._input, 438, this._ctx);
- while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) {
- if (_alt === 1) {
- this.state = 3805;
- this.lateralView();
- }
- this.state = 3810;
- this._errHandler.sync(this);
- _alt = this._interp.adaptivePredict(this._input, 438, this._ctx);
- }
-
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 3811;
- this.subQuerySource();
- this.state = 3815;
- this._errHandler.sync(this);
- var _alt = this._interp.adaptivePredict(this._input, 439, this._ctx);
- while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) {
- if (_alt === 1) {
- this.state = 3812;
- this.lateralView();
- }
- this.state = 3817;
- this._errHandler.sync(this);
- _alt = this._interp.adaptivePredict(this._input, 439, this._ctx);
- }
-
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 3818;
- this.partitionedTableFunction();
- this.state = 3822;
- this._errHandler.sync(this);
- var _alt = this._interp.adaptivePredict(this._input, 440, this._ctx);
- while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) {
- if (_alt === 1) {
- this.state = 3819;
- this.lateralView();
- }
- this.state = 3824;
- this._errHandler.sync(this);
- _alt = this._interp.adaptivePredict(this._input, 440, this._ctx);
- }
-
- break;
-
- case 5:
- this.enterOuterAlt(localctx, 5);
- this.state = 3825;
- this.match(HiveParser.LPAREN);
- this.state = 3826;
- this.joinSource();
- this.state = 3827;
- this.match(HiveParser.RPAREN);
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- joinSource() {
- let localctx = new JoinSourceContext(this, this._ctx, this.state);
- this.enterRule(localctx, 640, HiveParser.RULE_joinSource);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3831;
- this.atomjoinSource();
- this.state = 3842;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (
- (((_la - 31) & ~0x1f) == 0 &&
- ((1 << (_la - 31)) &
- ((1 << (HiveParser.KW_JOIN - 31)) |
- (1 << (HiveParser.KW_LEFT - 31)) |
- (1 << (HiveParser.KW_RIGHT - 31)) |
- (1 << (HiveParser.KW_FULL - 31)))) !==
- 0) ||
- _la === HiveParser.KW_CROSS ||
- _la === HiveParser.KW_INNER ||
- _la === HiveParser.COMMA
- ) {
- this.state = 3832;
- this.joinToken();
- this.state = 3833;
- this.joinSourcePart();
- this.state = 3838;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_ON:
- this.state = 3834;
- this.match(HiveParser.KW_ON);
- this.state = 3835;
- this.expression(0);
- break;
- case HiveParser.KW_USING:
- this.state = 3836;
- this.match(HiveParser.KW_USING);
- this.state = 3837;
- this.columnParenthesesList();
- break;
- case HiveParser.EOF:
- case HiveParser.KW_DESC:
- case HiveParser.KW_ORDER:
- case HiveParser.KW_GROUP:
- case HiveParser.KW_HAVING:
- case HiveParser.KW_WHERE:
- case HiveParser.KW_FROM:
- case HiveParser.KW_SELECT:
- case HiveParser.KW_INSERT:
- case HiveParser.KW_JOIN:
- case HiveParser.KW_LEFT:
- case HiveParser.KW_RIGHT:
- case HiveParser.KW_FULL:
- case HiveParser.KW_SHOW:
- case HiveParser.KW_MSCK:
- case HiveParser.KW_CLUSTER:
- case HiveParser.KW_DISTRIBUTE:
- case HiveParser.KW_SORT:
- case HiveParser.KW_UNION:
- case HiveParser.KW_EXCEPT:
- case HiveParser.KW_LOAD:
- case HiveParser.KW_EXPORT:
- case HiveParser.KW_IMPORT:
- case HiveParser.KW_CREATE:
- case HiveParser.KW_ALTER:
- case HiveParser.KW_DESCRIBE:
- case HiveParser.KW_DROP:
- case HiveParser.KW_MAP:
- case HiveParser.KW_REDUCE:
- case HiveParser.KW_KILL:
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- case HiveParser.KW_REPLACE:
- case HiveParser.KW_EXPLAIN:
- case HiveParser.KW_WITH:
- case HiveParser.KW_LIMIT:
- case HiveParser.KW_SET:
- case HiveParser.KW_DELETE:
- case HiveParser.KW_MINUS:
- case HiveParser.KW_INTERSECT:
- case HiveParser.KW_GRANT:
- case HiveParser.KW_REVOKE:
- case HiveParser.KW_LOCK:
- case HiveParser.KW_UNLOCK:
- case HiveParser.KW_ANALYZE:
- case HiveParser.KW_CROSS:
- case HiveParser.KW_USE:
- case HiveParser.KW_UPDATE:
- case HiveParser.KW_WINDOW:
- case HiveParser.KW_TRUNCATE:
- case HiveParser.KW_INNER:
- case HiveParser.KW_RELOAD:
- case HiveParser.KW_START:
- case HiveParser.KW_COMMIT:
- case HiveParser.KW_ROLLBACK:
- case HiveParser.KW_ABORT:
- case HiveParser.KW_MERGE:
- case HiveParser.KW_REPL:
- case HiveParser.COMMA:
- case HiveParser.SEMICOLON:
- case HiveParser.LPAREN:
- case HiveParser.RPAREN:
- break;
- default:
- break;
- }
- this.state = 3844;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- streamSource() {
- let localctx = new StreamSourceContext(this, this._ctx, this.state);
- this.enterRule(localctx, 642, HiveParser.RULE_streamSource);
- var _la = 0; // Token type
- try {
- this.state = 3858;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 447, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 3845;
- this.match(HiveParser.KW_STREAM);
- this.state = 3847;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.LPAREN) {
- this.state = 3846;
- this.match(HiveParser.LPAREN);
- }
-
- this.state = 3849;
- this.tableName();
- this.state = 3851;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 445, this._ctx);
- if (la_ === 1) {
- this.state = 3850;
- this.match(HiveParser.RPAREN);
- }
- this.state = 3854;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 446, this._ctx);
- if (la_ === 1) {
- this.state = 3853;
- this.tableAlias();
- }
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 3856;
- this.match(HiveParser.KW_STREAM);
- this.state = 3857;
- this.tableFunctionCall();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- joinSourcePart() {
- let localctx = new JoinSourcePartContext(this, this._ctx, this.state);
- this.enterRule(localctx, 644, HiveParser.RULE_joinSourcePart);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3864;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 448, this._ctx);
- switch (la_) {
- case 1:
- this.state = 3860;
- this.tableSource();
- break;
-
- case 2:
- this.state = 3861;
- this.virtualTableSource();
- break;
-
- case 3:
- this.state = 3862;
- this.subQuerySource();
- break;
-
- case 4:
- this.state = 3863;
- this.partitionedTableFunction();
- break;
- }
- this.state = 3869;
- this._errHandler.sync(this);
- var _alt = this._interp.adaptivePredict(this._input, 449, this._ctx);
- while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) {
- if (_alt === 1) {
- this.state = 3866;
- this.lateralView();
- }
- this.state = 3871;
- this._errHandler.sync(this);
- _alt = this._interp.adaptivePredict(this._input, 449, this._ctx);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- uniqueJoinSource() {
- let localctx = new UniqueJoinSourceContext(this, this._ctx, this.state);
- this.enterRule(localctx, 646, HiveParser.RULE_uniqueJoinSource);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3873;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_PRESERVE) {
- this.state = 3872;
- this.match(HiveParser.KW_PRESERVE);
- }
-
- this.state = 3875;
- this.uniqueJoinTableSource();
- this.state = 3876;
- this.uniqueJoinExpr();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- uniqueJoinExpr() {
- let localctx = new UniqueJoinExprContext(this, this._ctx, this.state);
- this.enterRule(localctx, 648, HiveParser.RULE_uniqueJoinExpr);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3878;
- this.match(HiveParser.LPAREN);
- this.state = 3879;
- this.expressionList();
- this.state = 3880;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- uniqueJoinToken() {
- let localctx = new UniqueJoinTokenContext(this, this._ctx, this.state);
- this.enterRule(localctx, 650, HiveParser.RULE_uniqueJoinToken);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3882;
- this.match(HiveParser.KW_UNIQUEJOIN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- joinToken() {
- let localctx = new JoinTokenContext(this, this._ctx, this.state);
- this.enterRule(localctx, 652, HiveParser.RULE_joinToken);
- var _la = 0; // Token type
- try {
- this.state = 3908;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 454, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 3884;
- this.match(HiveParser.KW_JOIN);
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 3885;
- this.match(HiveParser.KW_INNER);
- this.state = 3886;
- this.match(HiveParser.KW_JOIN);
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 3887;
- this.match(HiveParser.COMMA);
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 3888;
- this.match(HiveParser.KW_CROSS);
- this.state = 3889;
- this.match(HiveParser.KW_JOIN);
- break;
-
- case 5:
- this.enterOuterAlt(localctx, 5);
- this.state = 3890;
- this.match(HiveParser.KW_LEFT);
- this.state = 3892;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_OUTER) {
- this.state = 3891;
- this.match(HiveParser.KW_OUTER);
- }
-
- this.state = 3894;
- this.match(HiveParser.KW_JOIN);
- break;
-
- case 6:
- this.enterOuterAlt(localctx, 6);
- this.state = 3895;
- this.match(HiveParser.KW_RIGHT);
- this.state = 3897;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_OUTER) {
- this.state = 3896;
- this.match(HiveParser.KW_OUTER);
- }
-
- this.state = 3899;
- this.match(HiveParser.KW_JOIN);
- break;
-
- case 7:
- this.enterOuterAlt(localctx, 7);
- this.state = 3900;
- this.match(HiveParser.KW_FULL);
- this.state = 3902;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_OUTER) {
- this.state = 3901;
- this.match(HiveParser.KW_OUTER);
- }
-
- this.state = 3904;
- this.match(HiveParser.KW_JOIN);
- break;
-
- case 8:
- this.enterOuterAlt(localctx, 8);
- this.state = 3905;
- this.match(HiveParser.KW_LEFT);
- this.state = 3906;
- this.match(HiveParser.KW_SEMI);
- this.state = 3907;
- this.match(HiveParser.KW_JOIN);
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- lateralView() {
- let localctx = new LateralViewContext(this, this._ctx, this.state);
- this.enterRule(localctx, 654, HiveParser.RULE_lateralView);
- var _la = 0; // Token type
- try {
- this.state = 3969;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 464, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 3910;
- this.match(HiveParser.KW_LATERAL);
- this.state = 3911;
- this.match(HiveParser.KW_VIEW);
- this.state = 3912;
- this.match(HiveParser.KW_OUTER);
- this.state = 3913;
- this.functionStatement();
- this.state = 3914;
- this.tableAlias();
- this.state = 3924;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_AS) {
- this.state = 3915;
- this.match(HiveParser.KW_AS);
- this.state = 3916;
- this.identifier();
- this.state = 3921;
- this._errHandler.sync(this);
- var _alt = this._interp.adaptivePredict(this._input, 455, this._ctx);
- while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) {
- if (_alt === 1) {
- this.state = 3917;
- this.match(HiveParser.COMMA);
- this.state = 3918;
- this.identifier();
- }
- this.state = 3923;
- this._errHandler.sync(this);
- _alt = this._interp.adaptivePredict(this._input, 455, this._ctx);
- }
- }
-
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 3927;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.COMMA) {
- this.state = 3926;
- this.match(HiveParser.COMMA);
- }
-
- this.state = 3929;
- this.match(HiveParser.KW_LATERAL);
- this.state = 3930;
- this.match(HiveParser.KW_VIEW);
- this.state = 3931;
- this.functionStatement();
- this.state = 3932;
- this.tableAlias();
- this.state = 3942;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_AS) {
- this.state = 3933;
- this.match(HiveParser.KW_AS);
- this.state = 3934;
- this.identifier();
- this.state = 3939;
- this._errHandler.sync(this);
- var _alt = this._interp.adaptivePredict(this._input, 458, this._ctx);
- while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) {
- if (_alt === 1) {
- this.state = 3935;
- this.match(HiveParser.COMMA);
- this.state = 3936;
- this.identifier();
- }
- this.state = 3941;
- this._errHandler.sync(this);
- _alt = this._interp.adaptivePredict(this._input, 458, this._ctx);
- }
- }
-
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 3945;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.COMMA) {
- this.state = 3944;
- this.match(HiveParser.COMMA);
- }
-
- this.state = 3947;
- this.match(HiveParser.KW_LATERAL);
- this.state = 3948;
- this.match(HiveParser.KW_TABLE);
- this.state = 3949;
- this.match(HiveParser.LPAREN);
- this.state = 3950;
- this.valuesClause();
- this.state = 3951;
- this.match(HiveParser.RPAREN);
- this.state = 3953;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_AS) {
- this.state = 3952;
- this.match(HiveParser.KW_AS);
- }
-
- this.state = 3955;
- this.tableAlias();
- this.state = 3967;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 463, this._ctx);
- if (la_ === 1) {
- this.state = 3956;
- this.match(HiveParser.LPAREN);
- this.state = 3957;
- this.identifier();
- this.state = 3962;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 3958;
- this.match(HiveParser.COMMA);
- this.state = 3959;
- this.identifier();
- this.state = 3964;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- this.state = 3965;
- this.match(HiveParser.RPAREN);
- }
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableAlias() {
- let localctx = new TableAliasContext(this, this._ctx, this.state);
- this.enterRule(localctx, 656, HiveParser.RULE_tableAlias);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3971;
- this.identifier();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableBucketSample() {
- let localctx = new TableBucketSampleContext(this, this._ctx, this.state);
- this.enterRule(localctx, 658, HiveParser.RULE_tableBucketSample);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 3973;
- this.match(HiveParser.KW_TABLESAMPLE);
- this.state = 3974;
- this.match(HiveParser.LPAREN);
- this.state = 3975;
- this.match(HiveParser.KW_BUCKET);
- this.state = 3976;
- this.match(HiveParser.Number);
- this.state = 3977;
- this.match(HiveParser.KW_OUT);
- this.state = 3978;
- this.match(HiveParser.KW_OF);
- this.state = 3979;
- this.match(HiveParser.Number);
- this.state = 3989;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ON) {
- this.state = 3980;
- this.match(HiveParser.KW_ON);
- this.state = 3981;
- this.expression(0);
- this.state = 3986;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 3982;
- this.match(HiveParser.COMMA);
- this.state = 3983;
- this.expression(0);
- this.state = 3988;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- }
-
- this.state = 3991;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- splitSample() {
- let localctx = new SplitSampleContext(this, this._ctx, this.state);
- this.enterRule(localctx, 660, HiveParser.RULE_splitSample);
- var _la = 0; // Token type
- try {
- this.state = 4002;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 467, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 3993;
- this.match(HiveParser.KW_TABLESAMPLE);
- this.state = 3994;
- this.match(HiveParser.LPAREN);
- this.state = 3995;
- this.match(HiveParser.Number);
- this.state = 3996;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_ROWS || _la === HiveParser.KW_PERCENT)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 3997;
- this.match(HiveParser.RPAREN);
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 3998;
- this.match(HiveParser.KW_TABLESAMPLE);
- this.state = 3999;
- this.match(HiveParser.LPAREN);
- this.state = 4000;
- this.match(HiveParser.ByteLengthLiteral);
- this.state = 4001;
- this.match(HiveParser.RPAREN);
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableSample() {
- let localctx = new TableSampleContext(this, this._ctx, this.state);
- this.enterRule(localctx, 662, HiveParser.RULE_tableSample);
- try {
- this.state = 4006;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 468, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 4004;
- this.tableBucketSample();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 4005;
- this.splitSample();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableSource() {
- let localctx = new TableSourceContext(this, this._ctx, this.state);
- this.enterRule(localctx, 664, HiveParser.RULE_tableSource);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4008;
- this.tableName();
- this.state = 4010;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 469, this._ctx);
- if (la_ === 1) {
- this.state = 4009;
- this.tableProperties();
- }
- this.state = 4013;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_TABLESAMPLE) {
- this.state = 4012;
- this.tableSample();
- }
-
- this.state = 4019;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 472, this._ctx);
- if (la_ === 1) {
- this.state = 4016;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_AS) {
- this.state = 4015;
- this.match(HiveParser.KW_AS);
- }
-
- this.state = 4018;
- this.identifier();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- uniqueJoinTableSource() {
- let localctx = new UniqueJoinTableSourceContext(this, this._ctx, this.state);
- this.enterRule(localctx, 666, HiveParser.RULE_uniqueJoinTableSource);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4021;
- this.tableName();
- this.state = 4023;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_TABLESAMPLE) {
- this.state = 4022;
- this.tableSample();
- }
-
- this.state = 4029;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (
- ((_la & ~0x1f) == 0 &&
- ((1 << _la) &
- ((1 << HiveParser.KW_IF) |
- (1 << HiveParser.KW_ASC) |
- (1 << HiveParser.KW_DESC) |
- (1 << HiveParser.KW_NULLS) |
- (1 << HiveParser.KW_LAST) |
- (1 << HiveParser.KW_AS) |
- (1 << HiveParser.KW_OVERWRITE))) !==
- 0) ||
- (((_la - 37) & ~0x1f) == 0 &&
- ((1 << (_la - 37)) &
- ((1 << (HiveParser.KW_PARTITIONS - 37)) |
- (1 << (HiveParser.KW_TABLE - 37)) |
- (1 << (HiveParser.KW_TABLES - 37)) |
- (1 << (HiveParser.KW_COLUMNS - 37)) |
- (1 << (HiveParser.KW_INDEX - 37)) |
- (1 << (HiveParser.KW_INDEXES - 37)) |
- (1 << (HiveParser.KW_REBUILD - 37)) |
- (1 << (HiveParser.KW_FUNCTIONS - 37)) |
- (1 << (HiveParser.KW_SHOW - 37)) |
- (1 << (HiveParser.KW_MSCK - 37)) |
- (1 << (HiveParser.KW_REPAIR - 37)) |
- (1 << (HiveParser.KW_DIRECTORY - 37)) |
- (1 << (HiveParser.KW_CLUSTER - 37)) |
- (1 << (HiveParser.KW_DISTRIBUTE - 37)) |
- (1 << (HiveParser.KW_SORT - 37)) |
- (1 << (HiveParser.KW_LOAD - 37)) |
- (1 << (HiveParser.KW_EXPORT - 37)) |
- (1 << (HiveParser.KW_REPLICATION - 37)) |
- (1 << (HiveParser.KW_METADATA - 37)) |
- (1 << (HiveParser.KW_DATA - 37)) |
- (1 << (HiveParser.KW_INPATH - 37)))) !==
- 0) ||
- (((_la - 70) & ~0x1f) == 0 &&
- ((1 << (_la - 70)) &
- ((1 << (HiveParser.KW_CHANGE - 70)) |
- (1 << (HiveParser.KW_FIRST - 70)) |
- (1 << (HiveParser.KW_AFTER - 70)) |
- (1 << (HiveParser.KW_RENAME - 70)) |
- (1 << (HiveParser.KW_COMMENT - 70)) |
- (1 << (HiveParser.KW_BOOLEAN - 70)) |
- (1 << (HiveParser.KW_TINYINT - 70)) |
- (1 << (HiveParser.KW_SMALLINT - 70)) |
- (1 << (HiveParser.KW_INT - 70)) |
- (1 << (HiveParser.KW_BIGINT - 70)) |
- (1 << (HiveParser.KW_FLOAT - 70)) |
- (1 << (HiveParser.KW_DOUBLE - 70)) |
- (1 << (HiveParser.KW_DATE - 70)) |
- (1 << (HiveParser.KW_DATETIME - 70)) |
- (1 << (HiveParser.KW_TIMESTAMP - 70)) |
- (1 << (HiveParser.KW_TIME - 70)) |
- (1 << (HiveParser.KW_ZONE - 70)) |
- (1 << (HiveParser.KW_STRING - 70)) |
- (1 << (HiveParser.KW_ARRAY - 70)) |
- (1 << (HiveParser.KW_STRUCT - 70)) |
- (1 << (HiveParser.KW_MAP - 70)))) !==
- 0) ||
- (((_la - 104) & ~0x1f) == 0 &&
- ((1 << (_la - 104)) &
- ((1 << (HiveParser.KW_UNIONTYPE - 104)) |
- (1 << (HiveParser.KW_PARTITIONED - 104)) |
- (1 << (HiveParser.KW_CLUSTERED - 104)) |
- (1 << (HiveParser.KW_SORTED - 104)) |
- (1 << (HiveParser.KW_BUCKETS - 104)) |
- (1 << (HiveParser.KW_FORMAT - 104)) |
- (1 << (HiveParser.KW_DELIMITED - 104)) |
- (1 << (HiveParser.KW_FIELDS - 104)) |
- (1 << (HiveParser.KW_TERMINATED - 104)) |
- (1 << (HiveParser.KW_ESCAPED - 104)) |
- (1 << (HiveParser.KW_COLLECTION - 104)) |
- (1 << (HiveParser.KW_ITEMS - 104)) |
- (1 << (HiveParser.KW_KEYS - 104)) |
- (1 << (HiveParser.KW_KEY_TYPE - 104)) |
- (1 << (HiveParser.KW_KILL - 104)) |
- (1 << (HiveParser.KW_LINES - 104)) |
- (1 << (HiveParser.KW_STORED - 104)) |
- (1 << (HiveParser.KW_FILEFORMAT - 104)) |
- (1 << (HiveParser.KW_INPUTFORMAT - 104)) |
- (1 << (HiveParser.KW_OUTPUTFORMAT - 104)) |
- (1 << (HiveParser.KW_INPUTDRIVER - 104)) |
- (1 << (HiveParser.KW_OUTPUTDRIVER - 104)) |
- (1 << (HiveParser.KW_ENABLE - 104)) |
- (1 << (HiveParser.KW_DISABLE - 104)) |
- (1 << (HiveParser.KW_LOCATION - 104)) |
- (1 << (HiveParser.KW_BUCKET - 104)))) !==
- 0) ||
- (((_la - 139) & ~0x1f) == 0 &&
- ((1 << (_la - 139)) &
- ((1 << (HiveParser.KW_ADD - 139)) |
- (1 << (HiveParser.KW_REPLACE - 139)) |
- (1 << (HiveParser.KW_TEMPORARY - 139)) |
- (1 << (HiveParser.KW_FILE - 139)) |
- (1 << (HiveParser.KW_JAR - 139)) |
- (1 << (HiveParser.KW_EXPLAIN - 139)) |
- (1 << (HiveParser.KW_FORMATTED - 139)) |
- (1 << (HiveParser.KW_DEPENDENCY - 139)) |
- (1 << (HiveParser.KW_LOGICAL - 139)) |
- (1 << (HiveParser.KW_SERDE - 139)) |
- (1 << (HiveParser.KW_DEFERRED - 139)) |
- (1 << (HiveParser.KW_SERDEPROPERTIES - 139)) |
- (1 << (HiveParser.KW_DBPROPERTIES - 139)) |
- (1 << (HiveParser.KW_LIMIT - 139)) |
- (1 << (HiveParser.KW_OFFSET - 139)) |
- (1 << (HiveParser.KW_UNSET - 139)) |
- (1 << (HiveParser.KW_TBLPROPERTIES - 139)) |
- (1 << (HiveParser.KW_IDXPROPERTIES - 139)) |
- (1 << (HiveParser.KW_VALUE_TYPE - 139)) |
- (1 << (HiveParser.KW_ELEM_TYPE - 139)) |
- (1 << (HiveParser.KW_DEFINED - 139)))) !==
- 0) ||
- (((_la - 172) & ~0x1f) == 0 &&
- ((1 << (_la - 172)) &
- ((1 << (HiveParser.KW_MAPJOIN - 172)) |
- (1 << (HiveParser.KW_STREAMTABLE - 172)) |
- (1 << (HiveParser.KW_CLUSTERSTATUS - 172)) |
- (1 << (HiveParser.KW_UTC - 172)) |
- (1 << (HiveParser.KW_UTCTIMESTAMP - 172)) |
- (1 << (HiveParser.KW_LONG - 172)) |
- (1 << (HiveParser.KW_PLUS - 172)) |
- (1 << (HiveParser.KW_VIEW - 172)) |
- (1 << (HiveParser.KW_VIEWS - 172)) |
- (1 << (HiveParser.KW_DATABASES - 172)) |
- (1 << (HiveParser.KW_MATERIALIZED - 172)) |
- (1 << (HiveParser.KW_SCHEMA - 172)) |
- (1 << (HiveParser.KW_SCHEMAS - 172)) |
- (1 << (HiveParser.KW_SSL - 172)) |
- (1 << (HiveParser.KW_UNDO - 172)) |
- (1 << (HiveParser.KW_LOCK - 172)) |
- (1 << (HiveParser.KW_LOCKS - 172)) |
- (1 << (HiveParser.KW_UNLOCK - 172)) |
- (1 << (HiveParser.KW_SHARED - 172)) |
- (1 << (HiveParser.KW_EXCLUSIVE - 172)) |
- (1 << (HiveParser.KW_UNSIGNED - 172)) |
- (1 << (HiveParser.KW_WHILE - 172)) |
- (1 << (HiveParser.KW_READ - 172)))) !==
- 0) ||
- (((_la - 205) & ~0x1f) == 0 &&
- ((1 << (_la - 205)) &
- ((1 << (HiveParser.KW_PURGE - 205)) |
- (1 << (HiveParser.KW_ANALYZE - 205)) |
- (1 << (HiveParser.KW_BEFORE - 205)) |
- (1 << (HiveParser.KW_BINARY - 205)) |
- (1 << (HiveParser.KW_CONTINUE - 205)) |
- (1 << (HiveParser.KW_RECORDREADER - 205)) |
- (1 << (HiveParser.KW_RECORDWRITER - 205)) |
- (1 << (HiveParser.KW_SEMI - 205)) |
- (1 << (HiveParser.KW_TOUCH - 205)) |
- (1 << (HiveParser.KW_ARCHIVE - 205)) |
- (1 << (HiveParser.KW_UNARCHIVE - 205)) |
- (1 << (HiveParser.KW_COMPUTE - 205)) |
- (1 << (HiveParser.KW_STATISTICS - 205)) |
- (1 << (HiveParser.KW_USE - 205)) |
- (1 << (HiveParser.KW_OPTION - 205)) |
- (1 << (HiveParser.KW_CONCATENATE - 205)) |
- (1 << (HiveParser.KW_CATALOG - 205)) |
- (1 << (HiveParser.KW_SHOW_DATABASE - 205)) |
- (1 << (HiveParser.KW_RESTRICT - 205)) |
- (1 << (HiveParser.KW_CASCADE - 205)) |
- (1 << (HiveParser.KW_SKEWED - 205)))) !==
- 0) ||
- (((_la - 237) & ~0x1f) == 0 &&
- ((1 << (_la - 237)) &
- ((1 << (HiveParser.KW_DIRECTORIES - 237)) |
- (1 << (HiveParser.KW_CURRENT_DATE - 237)) |
- (1 << (HiveParser.KW_CURRENT_TIMESTAMP - 237)) |
- (1 << (HiveParser.KW_GROUPING - 237)) |
- (1 << (HiveParser.KW_SETS - 237)) |
- (1 << (HiveParser.KW_NOSCAN - 237)) |
- (1 << (HiveParser.KW_ROLE - 237)) |
- (1 << (HiveParser.KW_ROLES - 237)) |
- (1 << (HiveParser.KW_URI - 237)) |
- (1 << (HiveParser.KW_SERVER - 237)) |
- (1 << (HiveParser.KW_ADMIN - 237)) |
- (1 << (HiveParser.KW_OWNER - 237)) |
- (1 << (HiveParser.KW_PRINCIPALS - 237)) |
- (1 << (HiveParser.KW_COMPACT - 237)) |
- (1 << (HiveParser.KW_COMPACTIONS - 237)) |
- (1 << (HiveParser.KW_TRANSACTIONS - 237)) |
- (1 << (HiveParser.KW_REWRITE - 237)) |
- (1 << (HiveParser.KW_REOPTIMIZATION - 237)))) !==
- 0) ||
- (((_la - 271) & ~0x1f) == 0 &&
- ((1 << (_la - 271)) &
- ((1 << (HiveParser.KW_RELOAD - 271)) |
- (1 << (HiveParser.KW_YEAR - 271)) |
- (1 << (HiveParser.KW_QUERY - 271)) |
- (1 << (HiveParser.KW_QUARTER - 271)) |
- (1 << (HiveParser.KW_MONTH - 271)) |
- (1 << (HiveParser.KW_WEEK - 271)) |
- (1 << (HiveParser.KW_DAY - 271)) |
- (1 << (HiveParser.KW_DOW - 271)) |
- (1 << (HiveParser.KW_HOUR - 271)) |
- (1 << (HiveParser.KW_MINUTE - 271)) |
- (1 << (HiveParser.KW_SECOND - 271)) |
- (1 << (HiveParser.KW_TRANSACTION - 271)) |
- (1 << (HiveParser.KW_WORK - 271)) |
- (1 << (HiveParser.KW_WRITE - 271)) |
- (1 << (HiveParser.KW_ISOLATION - 271)) |
- (1 << (HiveParser.KW_LEVEL - 271)) |
- (1 << (HiveParser.KW_SNAPSHOT - 271)) |
- (1 << (HiveParser.KW_AUTOCOMMIT - 271)) |
- (1 << (HiveParser.KW_CACHE - 271)) |
- (1 << (HiveParser.KW_ENFORCED - 271)) |
- (1 << (HiveParser.KW_VALIDATE - 271)) |
- (1 << (HiveParser.KW_NOVALIDATE - 271)) |
- (1 << (HiveParser.KW_RELY - 271)) |
- (1 << (HiveParser.KW_NORELY - 271)))) !==
- 0) ||
- (((_la - 304) & ~0x1f) == 0 &&
- ((1 << (_la - 304)) &
- ((1 << (HiveParser.KW_KEY - 304)) |
- (1 << (HiveParser.KW_ABORT - 304)) |
- (1 << (HiveParser.KW_MATCHED - 304)) |
- (1 << (HiveParser.KW_REPL - 304)) |
- (1 << (HiveParser.KW_DUMP - 304)) |
- (1 << (HiveParser.KW_STATUS - 304)) |
- (1 << (HiveParser.KW_VECTORIZATION - 304)) |
- (1 << (HiveParser.KW_SUMMARY - 304)) |
- (1 << (HiveParser.KW_OPERATOR - 304)) |
- (1 << (HiveParser.KW_EXPRESSION - 304)) |
- (1 << (HiveParser.KW_DETAIL - 304)) |
- (1 << (HiveParser.KW_WAIT - 304)) |
- (1 << (HiveParser.KW_RESOURCE - 304)) |
- (1 << (HiveParser.KW_PLAN - 304)) |
- (1 << (HiveParser.KW_QUERY_PARALLELISM - 304)) |
- (1 << (HiveParser.KW_PLANS - 304)) |
- (1 << (HiveParser.KW_ACTIVATE - 304)) |
- (1 << (HiveParser.KW_DEFAULT - 304)) |
- (1 << (HiveParser.KW_CHECK - 304)) |
- (1 << (HiveParser.KW_POOL - 304)) |
- (1 << (HiveParser.KW_MOVE - 304)) |
- (1 << (HiveParser.KW_DO - 304)) |
- (1 << (HiveParser.KW_ALLOC_FRACTION - 304)) |
- (1 << (HiveParser.KW_SCHEDULING_POLICY - 304)) |
- (1 << (HiveParser.KW_PATH - 304)) |
- (1 << (HiveParser.KW_MAPPING - 304)) |
- (1 << (HiveParser.KW_WORKLOAD - 304)) |
- (1 << (HiveParser.KW_MANAGEMENT - 304)) |
- (1 << (HiveParser.KW_ACTIVE - 304)))) !==
- 0) ||
- (((_la - 337) & ~0x1f) == 0 &&
- ((1 << (_la - 337)) &
- ((1 << (HiveParser.KW_UNMANAGED - 337)) |
- (1 << (HiveParser.KW_DELTA - 337)) |
- (1 << (HiveParser.KW_CSV - 337)) |
- (1 << (HiveParser.KW_JSON - 337)) |
- (1 << (HiveParser.KW_BLOOMFILTER - 337)) |
- (1 << (HiveParser.KW_STREAM - 337)))) !==
- 0) ||
- _la === HiveParser.LCURLY ||
- _la === HiveParser.Identifier
- ) {
- this.state = 4026;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_AS) {
- this.state = 4025;
- this.match(HiveParser.KW_AS);
- }
-
- this.state = 4028;
- this.identifier();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableName() {
- let localctx = new TableNameContext(this, this._ctx, this.state);
- this.enterRule(localctx, 668, HiveParser.RULE_tableName);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4031;
- this.identifier();
- this.state = 4036;
- this._errHandler.sync(this);
- var _alt = this._interp.adaptivePredict(this._input, 476, this._ctx);
- while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) {
- if (_alt === 1) {
- this.state = 4032;
- this.match(HiveParser.DOT);
- this.state = 4033;
- this.identifier();
- }
- this.state = 4038;
- this._errHandler.sync(this);
- _alt = this._interp.adaptivePredict(this._input, 476, this._ctx);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- viewName() {
- let localctx = new ViewNameContext(this, this._ctx, this.state);
- this.enterRule(localctx, 670, HiveParser.RULE_viewName);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4042;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 477, this._ctx);
- if (la_ === 1) {
- this.state = 4039;
- this.identifier();
- this.state = 4040;
- this.match(HiveParser.DOT);
- }
- this.state = 4044;
- this.identifier();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- subQuerySource() {
- let localctx = new SubQuerySourceContext(this, this._ctx, this.state);
- this.enterRule(localctx, 672, HiveParser.RULE_subQuerySource);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4046;
- this.match(HiveParser.LPAREN);
- this.state = 4047;
- this.queryStatementExpression();
- this.state = 4048;
- this.match(HiveParser.RPAREN);
- this.state = 4053;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 479, this._ctx);
- if (la_ === 1) {
- this.state = 4050;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_AS) {
- this.state = 4049;
- this.match(HiveParser.KW_AS);
- }
-
- this.state = 4052;
- this.identifier();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- partitioningSpec() {
- let localctx = new PartitioningSpecContext(this, this._ctx, this.state);
- this.enterRule(localctx, 674, HiveParser.RULE_partitioningSpec);
- var _la = 0; // Token type
- try {
- this.state = 4066;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_PARTITION:
- this.enterOuterAlt(localctx, 1);
- this.state = 4055;
- this.partitionByClause();
- this.state = 4057;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ORDER) {
- this.state = 4056;
- this.orderByClause();
- }
-
- break;
- case HiveParser.KW_ORDER:
- this.enterOuterAlt(localctx, 2);
- this.state = 4059;
- this.orderByClause();
- break;
- case HiveParser.KW_DISTRIBUTE:
- this.enterOuterAlt(localctx, 3);
- this.state = 4060;
- this.distributeByClause();
- this.state = 4062;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_SORT) {
- this.state = 4061;
- this.sortByClause();
- }
-
- break;
- case HiveParser.KW_SORT:
- this.enterOuterAlt(localctx, 4);
- this.state = 4064;
- this.sortByClause();
- break;
- case HiveParser.KW_CLUSTER:
- this.enterOuterAlt(localctx, 5);
- this.state = 4065;
- this.clusterByClause();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- partitionTableFunctionSource() {
- let localctx = new PartitionTableFunctionSourceContext(this, this._ctx, this.state);
- this.enterRule(localctx, 676, HiveParser.RULE_partitionTableFunctionSource);
- try {
- this.state = 4071;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 483, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 4068;
- this.subQuerySource();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 4069;
- this.tableSource();
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 4070;
- this.partitionedTableFunction();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- partitionedTableFunction() {
- let localctx = new PartitionedTableFunctionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 678, HiveParser.RULE_partitionedTableFunction);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4073;
- this.identifier();
- this.state = 4074;
- this.match(HiveParser.LPAREN);
- this.state = 4075;
- this.match(HiveParser.KW_ON);
- this.state = 4076;
- this.partitionTableFunctionSource();
- this.state = 4078;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (
- _la === HiveParser.KW_ORDER ||
- (((_la - 36) & ~0x1f) == 0 &&
- ((1 << (_la - 36)) &
- ((1 << (HiveParser.KW_PARTITION - 36)) |
- (1 << (HiveParser.KW_CLUSTER - 36)) |
- (1 << (HiveParser.KW_DISTRIBUTE - 36)) |
- (1 << (HiveParser.KW_SORT - 36)))) !==
- 0)
- ) {
- this.state = 4077;
- this.partitioningSpec();
- }
-
- this.state = 4095;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.Identifier) {
- this.state = 4080;
- this.match(HiveParser.Identifier);
- this.state = 4081;
- this.match(HiveParser.LPAREN);
- this.state = 4082;
- this.expression(0);
- this.state = 4083;
- this.match(HiveParser.RPAREN);
- this.state = 4092;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 4084;
- this.match(HiveParser.COMMA);
- this.state = 4085;
- this.match(HiveParser.Identifier);
- this.state = 4086;
- this.match(HiveParser.LPAREN);
- this.state = 4087;
- this.expression(0);
- this.state = 4088;
- this.match(HiveParser.RPAREN);
- this.state = 4094;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- }
-
- this.state = 4097;
- this.match(HiveParser.RPAREN);
- this.state = 4099;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 487, this._ctx);
- if (la_ === 1) {
- this.state = 4098;
- this.identifier();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- whereClause() {
- let localctx = new WhereClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 680, HiveParser.RULE_whereClause);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4101;
- this.match(HiveParser.KW_WHERE);
- this.state = 4102;
- this.searchCondition();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- searchCondition() {
- let localctx = new SearchConditionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 682, HiveParser.RULE_searchCondition);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4104;
- this.expression(0);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- valuesClause() {
- let localctx = new ValuesClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 684, HiveParser.RULE_valuesClause);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4106;
- this.match(HiveParser.KW_VALUES);
- this.state = 4107;
- this.valuesTableConstructor();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- valuesTableConstructor() {
- let localctx = new ValuesTableConstructorContext(this, this._ctx, this.state);
- this.enterRule(localctx, 686, HiveParser.RULE_valuesTableConstructor);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4109;
- this.valueRowConstructor();
- this.state = 4114;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 4110;
- this.match(HiveParser.COMMA);
- this.state = 4111;
- this.valueRowConstructor();
- this.state = 4116;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- valueRowConstructor() {
- let localctx = new ValueRowConstructorContext(this, this._ctx, this.state);
- this.enterRule(localctx, 688, HiveParser.RULE_valueRowConstructor);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4117;
- this.expressionsInParenthesis();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- virtualTableSource() {
- let localctx = new VirtualTableSourceContext(this, this._ctx, this.state);
- this.enterRule(localctx, 690, HiveParser.RULE_virtualTableSource);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4119;
- this.match(HiveParser.KW_TABLE);
- this.state = 4120;
- this.match(HiveParser.LPAREN);
- this.state = 4121;
- this.valuesClause();
- this.state = 4122;
- this.match(HiveParser.RPAREN);
- this.state = 4124;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_AS) {
- this.state = 4123;
- this.match(HiveParser.KW_AS);
- }
-
- this.state = 4126;
- this.tableAlias();
- this.state = 4136;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.LPAREN) {
- this.state = 4127;
- this.match(HiveParser.LPAREN);
- this.state = 4128;
- this.identifier();
- this.state = 4133;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 4129;
- this.match(HiveParser.COMMA);
- this.state = 4130;
- this.identifier();
- this.state = 4135;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- }
-
- this.state = 4138;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- rangeTableValuedFunction() {
- let localctx = new RangeTableValuedFunctionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 692, HiveParser.RULE_rangeTableValuedFunction);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4140;
- this.match(HiveParser.KW_RANGE);
- this.state = 4141;
- this.match(HiveParser.LPAREN);
- this.state = 4142;
- this.match(HiveParser.Number);
- this.state = 4147;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 4143;
- this.match(HiveParser.COMMA);
- this.state = 4144;
- this.match(HiveParser.Number);
- this.state = 4149;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- this.state = 4150;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableFunctionCall() {
- let localctx = new TableFunctionCallContext(this, this._ctx, this.state);
- this.enterRule(localctx, 694, HiveParser.RULE_tableFunctionCall);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4152;
- this.identifier();
- this.state = 4153;
- this.match(HiveParser.LPAREN);
- this.state = 4155;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (
- ((_la & ~0x1f) == 0 &&
- ((1 << _la) &
- ((1 << HiveParser.KW_TRUE) |
- (1 << HiveParser.KW_FALSE) |
- (1 << HiveParser.KW_NOT) |
- (1 << HiveParser.KW_IF) |
- (1 << HiveParser.KW_EXISTS) |
- (1 << HiveParser.KW_ASC) |
- (1 << HiveParser.KW_DESC) |
- (1 << HiveParser.KW_NULLS) |
- (1 << HiveParser.KW_LAST) |
- (1 << HiveParser.KW_OVERWRITE))) !==
- 0) ||
- (((_la - 37) & ~0x1f) == 0 &&
- ((1 << (_la - 37)) &
- ((1 << (HiveParser.KW_PARTITIONS - 37)) |
- (1 << (HiveParser.KW_TABLE - 37)) |
- (1 << (HiveParser.KW_TABLES - 37)) |
- (1 << (HiveParser.KW_COLUMNS - 37)) |
- (1 << (HiveParser.KW_INDEX - 37)) |
- (1 << (HiveParser.KW_INDEXES - 37)) |
- (1 << (HiveParser.KW_REBUILD - 37)) |
- (1 << (HiveParser.KW_FUNCTIONS - 37)) |
- (1 << (HiveParser.KW_SHOW - 37)) |
- (1 << (HiveParser.KW_MSCK - 37)) |
- (1 << (HiveParser.KW_REPAIR - 37)) |
- (1 << (HiveParser.KW_DIRECTORY - 37)) |
- (1 << (HiveParser.KW_CLUSTER - 37)) |
- (1 << (HiveParser.KW_DISTRIBUTE - 37)) |
- (1 << (HiveParser.KW_SORT - 37)) |
- (1 << (HiveParser.KW_LOAD - 37)) |
- (1 << (HiveParser.KW_EXPORT - 37)) |
- (1 << (HiveParser.KW_REPLICATION - 37)) |
- (1 << (HiveParser.KW_METADATA - 37)) |
- (1 << (HiveParser.KW_DATA - 37)) |
- (1 << (HiveParser.KW_INPATH - 37)) |
- (1 << (HiveParser.KW_NULL - 37)))) !==
- 0) ||
- (((_la - 70) & ~0x1f) == 0 &&
- ((1 << (_la - 70)) &
- ((1 << (HiveParser.KW_CHANGE - 70)) |
- (1 << (HiveParser.KW_FIRST - 70)) |
- (1 << (HiveParser.KW_AFTER - 70)) |
- (1 << (HiveParser.KW_RENAME - 70)) |
- (1 << (HiveParser.KW_COMMENT - 70)) |
- (1 << (HiveParser.KW_BOOLEAN - 70)) |
- (1 << (HiveParser.KW_TINYINT - 70)) |
- (1 << (HiveParser.KW_SMALLINT - 70)) |
- (1 << (HiveParser.KW_INT - 70)) |
- (1 << (HiveParser.KW_BIGINT - 70)) |
- (1 << (HiveParser.KW_FLOAT - 70)) |
- (1 << (HiveParser.KW_DOUBLE - 70)) |
- (1 << (HiveParser.KW_DATE - 70)) |
- (1 << (HiveParser.KW_DATETIME - 70)) |
- (1 << (HiveParser.KW_TIMESTAMP - 70)) |
- (1 << (HiveParser.KW_TIMESTAMPLOCALTZ - 70)) |
- (1 << (HiveParser.KW_TIME - 70)) |
- (1 << (HiveParser.KW_ZONE - 70)) |
- (1 << (HiveParser.KW_INTERVAL - 70)) |
- (1 << (HiveParser.KW_STRING - 70)) |
- (1 << (HiveParser.KW_ARRAY - 70)) |
- (1 << (HiveParser.KW_STRUCT - 70)) |
- (1 << (HiveParser.KW_MAP - 70)))) !==
- 0) ||
- (((_la - 104) & ~0x1f) == 0 &&
- ((1 << (_la - 104)) &
- ((1 << (HiveParser.KW_UNIONTYPE - 104)) |
- (1 << (HiveParser.KW_PARTITIONED - 104)) |
- (1 << (HiveParser.KW_CLUSTERED - 104)) |
- (1 << (HiveParser.KW_SORTED - 104)) |
- (1 << (HiveParser.KW_BUCKETS - 104)) |
- (1 << (HiveParser.KW_FORMAT - 104)) |
- (1 << (HiveParser.KW_DELIMITED - 104)) |
- (1 << (HiveParser.KW_FIELDS - 104)) |
- (1 << (HiveParser.KW_TERMINATED - 104)) |
- (1 << (HiveParser.KW_ESCAPED - 104)) |
- (1 << (HiveParser.KW_COLLECTION - 104)) |
- (1 << (HiveParser.KW_ITEMS - 104)) |
- (1 << (HiveParser.KW_KEYS - 104)) |
- (1 << (HiveParser.KW_KEY_TYPE - 104)) |
- (1 << (HiveParser.KW_KILL - 104)) |
- (1 << (HiveParser.KW_LINES - 104)) |
- (1 << (HiveParser.KW_STORED - 104)) |
- (1 << (HiveParser.KW_FILEFORMAT - 104)) |
- (1 << (HiveParser.KW_INPUTFORMAT - 104)) |
- (1 << (HiveParser.KW_OUTPUTFORMAT - 104)) |
- (1 << (HiveParser.KW_INPUTDRIVER - 104)) |
- (1 << (HiveParser.KW_OUTPUTDRIVER - 104)) |
- (1 << (HiveParser.KW_ENABLE - 104)) |
- (1 << (HiveParser.KW_DISABLE - 104)) |
- (1 << (HiveParser.KW_LOCATION - 104)) |
- (1 << (HiveParser.KW_BUCKET - 104)))) !==
- 0) ||
- (((_la - 138) & ~0x1f) == 0 &&
- ((1 << (_la - 138)) &
- ((1 << (HiveParser.KW_CAST - 138)) |
- (1 << (HiveParser.KW_ADD - 138)) |
- (1 << (HiveParser.KW_REPLACE - 138)) |
- (1 << (HiveParser.KW_TEMPORARY - 138)) |
- (1 << (HiveParser.KW_FILE - 138)) |
- (1 << (HiveParser.KW_JAR - 138)) |
- (1 << (HiveParser.KW_EXPLAIN - 138)) |
- (1 << (HiveParser.KW_FORMATTED - 138)) |
- (1 << (HiveParser.KW_DEPENDENCY - 138)) |
- (1 << (HiveParser.KW_LOGICAL - 138)) |
- (1 << (HiveParser.KW_SERDE - 138)) |
- (1 << (HiveParser.KW_DEFERRED - 138)) |
- (1 << (HiveParser.KW_SERDEPROPERTIES - 138)) |
- (1 << (HiveParser.KW_DBPROPERTIES - 138)) |
- (1 << (HiveParser.KW_LIMIT - 138)) |
- (1 << (HiveParser.KW_OFFSET - 138)) |
- (1 << (HiveParser.KW_UNSET - 138)) |
- (1 << (HiveParser.KW_TBLPROPERTIES - 138)) |
- (1 << (HiveParser.KW_IDXPROPERTIES - 138)) |
- (1 << (HiveParser.KW_VALUE_TYPE - 138)) |
- (1 << (HiveParser.KW_ELEM_TYPE - 138)) |
- (1 << (HiveParser.KW_DEFINED - 138)) |
- (1 << (HiveParser.KW_CASE - 138)))) !==
- 0) ||
- (((_la - 172) & ~0x1f) == 0 &&
- ((1 << (_la - 172)) &
- ((1 << (HiveParser.KW_MAPJOIN - 172)) |
- (1 << (HiveParser.KW_STREAMTABLE - 172)) |
- (1 << (HiveParser.KW_CLUSTERSTATUS - 172)) |
- (1 << (HiveParser.KW_UTC - 172)) |
- (1 << (HiveParser.KW_UTCTIMESTAMP - 172)) |
- (1 << (HiveParser.KW_LONG - 172)) |
- (1 << (HiveParser.KW_PLUS - 172)) |
- (1 << (HiveParser.KW_VIEW - 172)) |
- (1 << (HiveParser.KW_VIEWS - 172)) |
- (1 << (HiveParser.KW_DATABASES - 172)) |
- (1 << (HiveParser.KW_MATERIALIZED - 172)) |
- (1 << (HiveParser.KW_SCHEMA - 172)) |
- (1 << (HiveParser.KW_SCHEMAS - 172)) |
- (1 << (HiveParser.KW_SSL - 172)) |
- (1 << (HiveParser.KW_UNDO - 172)) |
- (1 << (HiveParser.KW_LOCK - 172)) |
- (1 << (HiveParser.KW_LOCKS - 172)) |
- (1 << (HiveParser.KW_UNLOCK - 172)) |
- (1 << (HiveParser.KW_SHARED - 172)) |
- (1 << (HiveParser.KW_EXCLUSIVE - 172)) |
- (1 << (HiveParser.KW_UNSIGNED - 172)) |
- (1 << (HiveParser.KW_WHILE - 172)) |
- (1 << (HiveParser.KW_READ - 172)))) !==
- 0) ||
- (((_la - 205) & ~0x1f) == 0 &&
- ((1 << (_la - 205)) &
- ((1 << (HiveParser.KW_PURGE - 205)) |
- (1 << (HiveParser.KW_ANALYZE - 205)) |
- (1 << (HiveParser.KW_BEFORE - 205)) |
- (1 << (HiveParser.KW_BINARY - 205)) |
- (1 << (HiveParser.KW_CONTINUE - 205)) |
- (1 << (HiveParser.KW_RECORDREADER - 205)) |
- (1 << (HiveParser.KW_RECORDWRITER - 205)) |
- (1 << (HiveParser.KW_SEMI - 205)) |
- (1 << (HiveParser.KW_TOUCH - 205)) |
- (1 << (HiveParser.KW_ARCHIVE - 205)) |
- (1 << (HiveParser.KW_UNARCHIVE - 205)) |
- (1 << (HiveParser.KW_COMPUTE - 205)) |
- (1 << (HiveParser.KW_STATISTICS - 205)) |
- (1 << (HiveParser.KW_USE - 205)) |
- (1 << (HiveParser.KW_OPTION - 205)) |
- (1 << (HiveParser.KW_CONCATENATE - 205)) |
- (1 << (HiveParser.KW_CATALOG - 205)) |
- (1 << (HiveParser.KW_SHOW_DATABASE - 205)) |
- (1 << (HiveParser.KW_RESTRICT - 205)) |
- (1 << (HiveParser.KW_CASCADE - 205)) |
- (1 << (HiveParser.KW_SKEWED - 205)))) !==
- 0) ||
- (((_la - 237) & ~0x1f) == 0 &&
- ((1 << (_la - 237)) &
- ((1 << (HiveParser.KW_DIRECTORIES - 237)) |
- (1 << (HiveParser.KW_CURRENT_DATE - 237)) |
- (1 << (HiveParser.KW_CURRENT_TIMESTAMP - 237)) |
- (1 << (HiveParser.KW_GROUPING - 237)) |
- (1 << (HiveParser.KW_SETS - 237)) |
- (1 << (HiveParser.KW_NOSCAN - 237)) |
- (1 << (HiveParser.KW_ROLE - 237)) |
- (1 << (HiveParser.KW_ROLES - 237)) |
- (1 << (HiveParser.KW_URI - 237)) |
- (1 << (HiveParser.KW_SERVER - 237)) |
- (1 << (HiveParser.KW_ADMIN - 237)) |
- (1 << (HiveParser.KW_OWNER - 237)) |
- (1 << (HiveParser.KW_PRINCIPALS - 237)) |
- (1 << (HiveParser.KW_COMPACT - 237)) |
- (1 << (HiveParser.KW_COMPACTIONS - 237)) |
- (1 << (HiveParser.KW_TRANSACTIONS - 237)) |
- (1 << (HiveParser.KW_REWRITE - 237)) |
- (1 << (HiveParser.KW_REOPTIMIZATION - 237)))) !==
- 0) ||
- (((_la - 271) & ~0x1f) == 0 &&
- ((1 << (_la - 271)) &
- ((1 << (HiveParser.KW_RELOAD - 271)) |
- (1 << (HiveParser.KW_YEAR - 271)) |
- (1 << (HiveParser.KW_QUERY - 271)) |
- (1 << (HiveParser.KW_QUARTER - 271)) |
- (1 << (HiveParser.KW_MONTH - 271)) |
- (1 << (HiveParser.KW_WEEK - 271)) |
- (1 << (HiveParser.KW_DAY - 271)) |
- (1 << (HiveParser.KW_DOW - 271)) |
- (1 << (HiveParser.KW_HOUR - 271)) |
- (1 << (HiveParser.KW_MINUTE - 271)) |
- (1 << (HiveParser.KW_SECOND - 271)) |
- (1 << (HiveParser.KW_TRANSACTION - 271)) |
- (1 << (HiveParser.KW_WORK - 271)) |
- (1 << (HiveParser.KW_WRITE - 271)) |
- (1 << (HiveParser.KW_ISOLATION - 271)) |
- (1 << (HiveParser.KW_LEVEL - 271)) |
- (1 << (HiveParser.KW_SNAPSHOT - 271)) |
- (1 << (HiveParser.KW_AUTOCOMMIT - 271)) |
- (1 << (HiveParser.KW_CACHE - 271)) |
- (1 << (HiveParser.KW_ENFORCED - 271)) |
- (1 << (HiveParser.KW_VALIDATE - 271)) |
- (1 << (HiveParser.KW_NOVALIDATE - 271)) |
- (1 << (HiveParser.KW_RELY - 271)) |
- (1 << (HiveParser.KW_NORELY - 271)))) !==
- 0) ||
- (((_la - 304) & ~0x1f) == 0 &&
- ((1 << (_la - 304)) &
- ((1 << (HiveParser.KW_KEY - 304)) |
- (1 << (HiveParser.KW_ABORT - 304)) |
- (1 << (HiveParser.KW_EXTRACT - 304)) |
- (1 << (HiveParser.KW_FLOOR - 304)) |
- (1 << (HiveParser.KW_MATCHED - 304)) |
- (1 << (HiveParser.KW_REPL - 304)) |
- (1 << (HiveParser.KW_DUMP - 304)) |
- (1 << (HiveParser.KW_STATUS - 304)) |
- (1 << (HiveParser.KW_VECTORIZATION - 304)) |
- (1 << (HiveParser.KW_SUMMARY - 304)) |
- (1 << (HiveParser.KW_OPERATOR - 304)) |
- (1 << (HiveParser.KW_EXPRESSION - 304)) |
- (1 << (HiveParser.KW_DETAIL - 304)) |
- (1 << (HiveParser.KW_WAIT - 304)) |
- (1 << (HiveParser.KW_RESOURCE - 304)) |
- (1 << (HiveParser.KW_PLAN - 304)) |
- (1 << (HiveParser.KW_QUERY_PARALLELISM - 304)) |
- (1 << (HiveParser.KW_PLANS - 304)) |
- (1 << (HiveParser.KW_ACTIVATE - 304)) |
- (1 << (HiveParser.KW_DEFAULT - 304)) |
- (1 << (HiveParser.KW_CHECK - 304)) |
- (1 << (HiveParser.KW_POOL - 304)) |
- (1 << (HiveParser.KW_MOVE - 304)) |
- (1 << (HiveParser.KW_DO - 304)) |
- (1 << (HiveParser.KW_ALLOC_FRACTION - 304)) |
- (1 << (HiveParser.KW_SCHEDULING_POLICY - 304)) |
- (1 << (HiveParser.KW_PATH - 304)) |
- (1 << (HiveParser.KW_MAPPING - 304)) |
- (1 << (HiveParser.KW_WORKLOAD - 304)) |
- (1 << (HiveParser.KW_MANAGEMENT - 304)) |
- (1 << (HiveParser.KW_ACTIVE - 304)))) !==
- 0) ||
- (((_la - 337) & ~0x1f) == 0 &&
- ((1 << (_la - 337)) &
- ((1 << (HiveParser.KW_UNMANAGED - 337)) |
- (1 << (HiveParser.KW_DELTA - 337)) |
- (1 << (HiveParser.KW_CSV - 337)) |
- (1 << (HiveParser.KW_JSON - 337)) |
- (1 << (HiveParser.KW_BLOOMFILTER - 337)) |
- (1 << (HiveParser.KW_STREAM - 337)))) !==
- 0) ||
- (((_la - 371) & ~0x1f) == 0 &&
- ((1 << (_la - 371)) &
- ((1 << (HiveParser.LPAREN - 371)) |
- (1 << (HiveParser.LCURLY - 371)) |
- (1 << (HiveParser.PLUS - 371)) |
- (1 << (HiveParser.MINUS - 371)) |
- (1 << (HiveParser.TILDE - 371)) |
- (1 << (HiveParser.StringLiteral - 371)) |
- (1 << (HiveParser.IntegralLiteral - 371)) |
- (1 << (HiveParser.NumberLiteral - 371)))) !==
- 0) ||
- (((_la - 403) & ~0x1f) == 0 &&
- ((1 << (_la - 403)) &
- ((1 << (HiveParser.Number - 403)) |
- (1 << (HiveParser.Identifier - 403)) |
- (1 << (HiveParser.CharSetName - 403)))) !==
- 0)
- ) {
- this.state = 4154;
- this.functionArgList();
- }
-
- this.state = 4157;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- functionArgList() {
- let localctx = new FunctionArgListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 696, HiveParser.RULE_functionArgList);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4159;
- this.functionArg();
- this.state = 4164;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 4160;
- this.match(HiveParser.COMMA);
- this.state = 4161;
- this.functionArg();
- this.state = 4166;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- functionArg() {
- let localctx = new FunctionArgContext(this, this._ctx, this.state);
- this.enterRule(localctx, 698, HiveParser.RULE_functionArg);
- try {
- this.state = 4170;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 495, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 4167;
- this.namedArg();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 4168;
- this.expression(0);
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 4169;
- this.match(HiveParser.StringLiteral);
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- namedArg() {
- let localctx = new NamedArgContext(this, this._ctx, this.state);
- this.enterRule(localctx, 700, HiveParser.RULE_namedArg);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4172;
- this.identifier();
- this.state = 4173;
- this.match(HiveParser.FAT_ARROW);
- this.state = 4177;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 496, this._ctx);
- switch (la_) {
- case 1:
- this.state = 4174;
- this.identifier();
- break;
-
- case 2:
- this.state = 4175;
- this.expression(0);
- break;
-
- case 3:
- this.state = 4176;
- this.match(HiveParser.StringLiteral);
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- groupByClause() {
- let localctx = new GroupByClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 702, HiveParser.RULE_groupByClause);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4179;
- this.match(HiveParser.KW_GROUP);
- this.state = 4180;
- this.match(HiveParser.KW_BY);
- this.state = 4181;
- this.groupby_expression();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- groupby_expression() {
- let localctx = new Groupby_expressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 704, HiveParser.RULE_groupby_expression);
- try {
- this.state = 4186;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 497, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 4183;
- this.rollupStandard();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 4184;
- this.rollupOldSyntax();
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 4185;
- this.groupByEmpty();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- groupByEmpty() {
- let localctx = new GroupByEmptyContext(this, this._ctx, this.state);
- this.enterRule(localctx, 706, HiveParser.RULE_groupByEmpty);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4188;
- this.match(HiveParser.LPAREN);
- this.state = 4189;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- rollupStandard() {
- let localctx = new RollupStandardContext(this, this._ctx, this.state);
- this.enterRule(localctx, 708, HiveParser.RULE_rollupStandard);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4191;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_ROLLUP || _la === HiveParser.KW_CUBE)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 4192;
- this.match(HiveParser.LPAREN);
- this.state = 4193;
- this.expression(0);
- this.state = 4198;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 4194;
- this.match(HiveParser.COMMA);
- this.state = 4195;
- this.expression(0);
- this.state = 4200;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- this.state = 4201;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- rollupOldSyntax() {
- let localctx = new RollupOldSyntaxContext(this, this._ctx, this.state);
- this.enterRule(localctx, 710, HiveParser.RULE_rollupOldSyntax);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4203;
- this.expressionsNotInParenthesis();
- this.state = 4208;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 499, this._ctx);
- if (la_ === 1) {
- this.state = 4204;
- this.match(HiveParser.KW_WITH);
- this.state = 4205;
- this.match(HiveParser.KW_ROLLUP);
- } else if (la_ === 2) {
- this.state = 4206;
- this.match(HiveParser.KW_WITH);
- this.state = 4207;
- this.match(HiveParser.KW_CUBE);
- }
- this.state = 4223;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_GROUPING) {
- this.state = 4210;
- this.match(HiveParser.KW_GROUPING);
- this.state = 4211;
- this.match(HiveParser.KW_SETS);
- this.state = 4212;
- this.match(HiveParser.LPAREN);
- this.state = 4213;
- this.groupingSetExpression();
- this.state = 4218;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 4214;
- this.match(HiveParser.COMMA);
- this.state = 4215;
- this.groupingSetExpression();
- this.state = 4220;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- this.state = 4221;
- this.match(HiveParser.RPAREN);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- groupingSetExpression() {
- let localctx = new GroupingSetExpressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 712, HiveParser.RULE_groupingSetExpression);
- try {
- this.state = 4227;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 502, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 4225;
- this.groupingSetExpressionMultiple();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 4226;
- this.groupingExpressionSingle();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- groupingSetExpressionMultiple() {
- let localctx = new GroupingSetExpressionMultipleContext(this, this._ctx, this.state);
- this.enterRule(localctx, 714, HiveParser.RULE_groupingSetExpressionMultiple);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4229;
- this.match(HiveParser.LPAREN);
- this.state = 4231;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (
- ((_la & ~0x1f) == 0 &&
- ((1 << _la) &
- ((1 << HiveParser.KW_TRUE) |
- (1 << HiveParser.KW_FALSE) |
- (1 << HiveParser.KW_NOT) |
- (1 << HiveParser.KW_IF) |
- (1 << HiveParser.KW_EXISTS) |
- (1 << HiveParser.KW_ASC) |
- (1 << HiveParser.KW_DESC) |
- (1 << HiveParser.KW_NULLS) |
- (1 << HiveParser.KW_LAST) |
- (1 << HiveParser.KW_OVERWRITE))) !==
- 0) ||
- (((_la - 37) & ~0x1f) == 0 &&
- ((1 << (_la - 37)) &
- ((1 << (HiveParser.KW_PARTITIONS - 37)) |
- (1 << (HiveParser.KW_TABLE - 37)) |
- (1 << (HiveParser.KW_TABLES - 37)) |
- (1 << (HiveParser.KW_COLUMNS - 37)) |
- (1 << (HiveParser.KW_INDEX - 37)) |
- (1 << (HiveParser.KW_INDEXES - 37)) |
- (1 << (HiveParser.KW_REBUILD - 37)) |
- (1 << (HiveParser.KW_FUNCTIONS - 37)) |
- (1 << (HiveParser.KW_SHOW - 37)) |
- (1 << (HiveParser.KW_MSCK - 37)) |
- (1 << (HiveParser.KW_REPAIR - 37)) |
- (1 << (HiveParser.KW_DIRECTORY - 37)) |
- (1 << (HiveParser.KW_CLUSTER - 37)) |
- (1 << (HiveParser.KW_DISTRIBUTE - 37)) |
- (1 << (HiveParser.KW_SORT - 37)) |
- (1 << (HiveParser.KW_LOAD - 37)) |
- (1 << (HiveParser.KW_EXPORT - 37)) |
- (1 << (HiveParser.KW_REPLICATION - 37)) |
- (1 << (HiveParser.KW_METADATA - 37)) |
- (1 << (HiveParser.KW_DATA - 37)) |
- (1 << (HiveParser.KW_INPATH - 37)) |
- (1 << (HiveParser.KW_NULL - 37)))) !==
- 0) ||
- (((_la - 70) & ~0x1f) == 0 &&
- ((1 << (_la - 70)) &
- ((1 << (HiveParser.KW_CHANGE - 70)) |
- (1 << (HiveParser.KW_FIRST - 70)) |
- (1 << (HiveParser.KW_AFTER - 70)) |
- (1 << (HiveParser.KW_RENAME - 70)) |
- (1 << (HiveParser.KW_COMMENT - 70)) |
- (1 << (HiveParser.KW_BOOLEAN - 70)) |
- (1 << (HiveParser.KW_TINYINT - 70)) |
- (1 << (HiveParser.KW_SMALLINT - 70)) |
- (1 << (HiveParser.KW_INT - 70)) |
- (1 << (HiveParser.KW_BIGINT - 70)) |
- (1 << (HiveParser.KW_FLOAT - 70)) |
- (1 << (HiveParser.KW_DOUBLE - 70)) |
- (1 << (HiveParser.KW_DATE - 70)) |
- (1 << (HiveParser.KW_DATETIME - 70)) |
- (1 << (HiveParser.KW_TIMESTAMP - 70)) |
- (1 << (HiveParser.KW_TIMESTAMPLOCALTZ - 70)) |
- (1 << (HiveParser.KW_TIME - 70)) |
- (1 << (HiveParser.KW_ZONE - 70)) |
- (1 << (HiveParser.KW_INTERVAL - 70)) |
- (1 << (HiveParser.KW_STRING - 70)) |
- (1 << (HiveParser.KW_ARRAY - 70)) |
- (1 << (HiveParser.KW_STRUCT - 70)) |
- (1 << (HiveParser.KW_MAP - 70)))) !==
- 0) ||
- (((_la - 104) & ~0x1f) == 0 &&
- ((1 << (_la - 104)) &
- ((1 << (HiveParser.KW_UNIONTYPE - 104)) |
- (1 << (HiveParser.KW_PARTITIONED - 104)) |
- (1 << (HiveParser.KW_CLUSTERED - 104)) |
- (1 << (HiveParser.KW_SORTED - 104)) |
- (1 << (HiveParser.KW_BUCKETS - 104)) |
- (1 << (HiveParser.KW_FORMAT - 104)) |
- (1 << (HiveParser.KW_DELIMITED - 104)) |
- (1 << (HiveParser.KW_FIELDS - 104)) |
- (1 << (HiveParser.KW_TERMINATED - 104)) |
- (1 << (HiveParser.KW_ESCAPED - 104)) |
- (1 << (HiveParser.KW_COLLECTION - 104)) |
- (1 << (HiveParser.KW_ITEMS - 104)) |
- (1 << (HiveParser.KW_KEYS - 104)) |
- (1 << (HiveParser.KW_KEY_TYPE - 104)) |
- (1 << (HiveParser.KW_KILL - 104)) |
- (1 << (HiveParser.KW_LINES - 104)) |
- (1 << (HiveParser.KW_STORED - 104)) |
- (1 << (HiveParser.KW_FILEFORMAT - 104)) |
- (1 << (HiveParser.KW_INPUTFORMAT - 104)) |
- (1 << (HiveParser.KW_OUTPUTFORMAT - 104)) |
- (1 << (HiveParser.KW_INPUTDRIVER - 104)) |
- (1 << (HiveParser.KW_OUTPUTDRIVER - 104)) |
- (1 << (HiveParser.KW_ENABLE - 104)) |
- (1 << (HiveParser.KW_DISABLE - 104)) |
- (1 << (HiveParser.KW_LOCATION - 104)) |
- (1 << (HiveParser.KW_BUCKET - 104)))) !==
- 0) ||
- (((_la - 138) & ~0x1f) == 0 &&
- ((1 << (_la - 138)) &
- ((1 << (HiveParser.KW_CAST - 138)) |
- (1 << (HiveParser.KW_ADD - 138)) |
- (1 << (HiveParser.KW_REPLACE - 138)) |
- (1 << (HiveParser.KW_TEMPORARY - 138)) |
- (1 << (HiveParser.KW_FILE - 138)) |
- (1 << (HiveParser.KW_JAR - 138)) |
- (1 << (HiveParser.KW_EXPLAIN - 138)) |
- (1 << (HiveParser.KW_FORMATTED - 138)) |
- (1 << (HiveParser.KW_DEPENDENCY - 138)) |
- (1 << (HiveParser.KW_LOGICAL - 138)) |
- (1 << (HiveParser.KW_SERDE - 138)) |
- (1 << (HiveParser.KW_DEFERRED - 138)) |
- (1 << (HiveParser.KW_SERDEPROPERTIES - 138)) |
- (1 << (HiveParser.KW_DBPROPERTIES - 138)) |
- (1 << (HiveParser.KW_LIMIT - 138)) |
- (1 << (HiveParser.KW_OFFSET - 138)) |
- (1 << (HiveParser.KW_UNSET - 138)) |
- (1 << (HiveParser.KW_TBLPROPERTIES - 138)) |
- (1 << (HiveParser.KW_IDXPROPERTIES - 138)) |
- (1 << (HiveParser.KW_VALUE_TYPE - 138)) |
- (1 << (HiveParser.KW_ELEM_TYPE - 138)) |
- (1 << (HiveParser.KW_DEFINED - 138)) |
- (1 << (HiveParser.KW_CASE - 138)))) !==
- 0) ||
- (((_la - 172) & ~0x1f) == 0 &&
- ((1 << (_la - 172)) &
- ((1 << (HiveParser.KW_MAPJOIN - 172)) |
- (1 << (HiveParser.KW_STREAMTABLE - 172)) |
- (1 << (HiveParser.KW_CLUSTERSTATUS - 172)) |
- (1 << (HiveParser.KW_UTC - 172)) |
- (1 << (HiveParser.KW_UTCTIMESTAMP - 172)) |
- (1 << (HiveParser.KW_LONG - 172)) |
- (1 << (HiveParser.KW_PLUS - 172)) |
- (1 << (HiveParser.KW_VIEW - 172)) |
- (1 << (HiveParser.KW_VIEWS - 172)) |
- (1 << (HiveParser.KW_DATABASES - 172)) |
- (1 << (HiveParser.KW_MATERIALIZED - 172)) |
- (1 << (HiveParser.KW_SCHEMA - 172)) |
- (1 << (HiveParser.KW_SCHEMAS - 172)) |
- (1 << (HiveParser.KW_SSL - 172)) |
- (1 << (HiveParser.KW_UNDO - 172)) |
- (1 << (HiveParser.KW_LOCK - 172)) |
- (1 << (HiveParser.KW_LOCKS - 172)) |
- (1 << (HiveParser.KW_UNLOCK - 172)) |
- (1 << (HiveParser.KW_SHARED - 172)) |
- (1 << (HiveParser.KW_EXCLUSIVE - 172)) |
- (1 << (HiveParser.KW_UNSIGNED - 172)) |
- (1 << (HiveParser.KW_WHILE - 172)) |
- (1 << (HiveParser.KW_READ - 172)))) !==
- 0) ||
- (((_la - 205) & ~0x1f) == 0 &&
- ((1 << (_la - 205)) &
- ((1 << (HiveParser.KW_PURGE - 205)) |
- (1 << (HiveParser.KW_ANALYZE - 205)) |
- (1 << (HiveParser.KW_BEFORE - 205)) |
- (1 << (HiveParser.KW_BINARY - 205)) |
- (1 << (HiveParser.KW_CONTINUE - 205)) |
- (1 << (HiveParser.KW_RECORDREADER - 205)) |
- (1 << (HiveParser.KW_RECORDWRITER - 205)) |
- (1 << (HiveParser.KW_SEMI - 205)) |
- (1 << (HiveParser.KW_TOUCH - 205)) |
- (1 << (HiveParser.KW_ARCHIVE - 205)) |
- (1 << (HiveParser.KW_UNARCHIVE - 205)) |
- (1 << (HiveParser.KW_COMPUTE - 205)) |
- (1 << (HiveParser.KW_STATISTICS - 205)) |
- (1 << (HiveParser.KW_USE - 205)) |
- (1 << (HiveParser.KW_OPTION - 205)) |
- (1 << (HiveParser.KW_CONCATENATE - 205)) |
- (1 << (HiveParser.KW_CATALOG - 205)) |
- (1 << (HiveParser.KW_SHOW_DATABASE - 205)) |
- (1 << (HiveParser.KW_RESTRICT - 205)) |
- (1 << (HiveParser.KW_CASCADE - 205)) |
- (1 << (HiveParser.KW_SKEWED - 205)))) !==
- 0) ||
- (((_la - 237) & ~0x1f) == 0 &&
- ((1 << (_la - 237)) &
- ((1 << (HiveParser.KW_DIRECTORIES - 237)) |
- (1 << (HiveParser.KW_CURRENT_DATE - 237)) |
- (1 << (HiveParser.KW_CURRENT_TIMESTAMP - 237)) |
- (1 << (HiveParser.KW_GROUPING - 237)) |
- (1 << (HiveParser.KW_SETS - 237)) |
- (1 << (HiveParser.KW_NOSCAN - 237)) |
- (1 << (HiveParser.KW_ROLE - 237)) |
- (1 << (HiveParser.KW_ROLES - 237)) |
- (1 << (HiveParser.KW_URI - 237)) |
- (1 << (HiveParser.KW_SERVER - 237)) |
- (1 << (HiveParser.KW_ADMIN - 237)) |
- (1 << (HiveParser.KW_OWNER - 237)) |
- (1 << (HiveParser.KW_PRINCIPALS - 237)) |
- (1 << (HiveParser.KW_COMPACT - 237)) |
- (1 << (HiveParser.KW_COMPACTIONS - 237)) |
- (1 << (HiveParser.KW_TRANSACTIONS - 237)) |
- (1 << (HiveParser.KW_REWRITE - 237)) |
- (1 << (HiveParser.KW_REOPTIMIZATION - 237)))) !==
- 0) ||
- (((_la - 271) & ~0x1f) == 0 &&
- ((1 << (_la - 271)) &
- ((1 << (HiveParser.KW_RELOAD - 271)) |
- (1 << (HiveParser.KW_YEAR - 271)) |
- (1 << (HiveParser.KW_QUERY - 271)) |
- (1 << (HiveParser.KW_QUARTER - 271)) |
- (1 << (HiveParser.KW_MONTH - 271)) |
- (1 << (HiveParser.KW_WEEK - 271)) |
- (1 << (HiveParser.KW_DAY - 271)) |
- (1 << (HiveParser.KW_DOW - 271)) |
- (1 << (HiveParser.KW_HOUR - 271)) |
- (1 << (HiveParser.KW_MINUTE - 271)) |
- (1 << (HiveParser.KW_SECOND - 271)) |
- (1 << (HiveParser.KW_TRANSACTION - 271)) |
- (1 << (HiveParser.KW_WORK - 271)) |
- (1 << (HiveParser.KW_WRITE - 271)) |
- (1 << (HiveParser.KW_ISOLATION - 271)) |
- (1 << (HiveParser.KW_LEVEL - 271)) |
- (1 << (HiveParser.KW_SNAPSHOT - 271)) |
- (1 << (HiveParser.KW_AUTOCOMMIT - 271)) |
- (1 << (HiveParser.KW_CACHE - 271)) |
- (1 << (HiveParser.KW_ENFORCED - 271)) |
- (1 << (HiveParser.KW_VALIDATE - 271)) |
- (1 << (HiveParser.KW_NOVALIDATE - 271)) |
- (1 << (HiveParser.KW_RELY - 271)) |
- (1 << (HiveParser.KW_NORELY - 271)))) !==
- 0) ||
- (((_la - 304) & ~0x1f) == 0 &&
- ((1 << (_la - 304)) &
- ((1 << (HiveParser.KW_KEY - 304)) |
- (1 << (HiveParser.KW_ABORT - 304)) |
- (1 << (HiveParser.KW_EXTRACT - 304)) |
- (1 << (HiveParser.KW_FLOOR - 304)) |
- (1 << (HiveParser.KW_MATCHED - 304)) |
- (1 << (HiveParser.KW_REPL - 304)) |
- (1 << (HiveParser.KW_DUMP - 304)) |
- (1 << (HiveParser.KW_STATUS - 304)) |
- (1 << (HiveParser.KW_VECTORIZATION - 304)) |
- (1 << (HiveParser.KW_SUMMARY - 304)) |
- (1 << (HiveParser.KW_OPERATOR - 304)) |
- (1 << (HiveParser.KW_EXPRESSION - 304)) |
- (1 << (HiveParser.KW_DETAIL - 304)) |
- (1 << (HiveParser.KW_WAIT - 304)) |
- (1 << (HiveParser.KW_RESOURCE - 304)) |
- (1 << (HiveParser.KW_PLAN - 304)) |
- (1 << (HiveParser.KW_QUERY_PARALLELISM - 304)) |
- (1 << (HiveParser.KW_PLANS - 304)) |
- (1 << (HiveParser.KW_ACTIVATE - 304)) |
- (1 << (HiveParser.KW_DEFAULT - 304)) |
- (1 << (HiveParser.KW_CHECK - 304)) |
- (1 << (HiveParser.KW_POOL - 304)) |
- (1 << (HiveParser.KW_MOVE - 304)) |
- (1 << (HiveParser.KW_DO - 304)) |
- (1 << (HiveParser.KW_ALLOC_FRACTION - 304)) |
- (1 << (HiveParser.KW_SCHEDULING_POLICY - 304)) |
- (1 << (HiveParser.KW_PATH - 304)) |
- (1 << (HiveParser.KW_MAPPING - 304)) |
- (1 << (HiveParser.KW_WORKLOAD - 304)) |
- (1 << (HiveParser.KW_MANAGEMENT - 304)) |
- (1 << (HiveParser.KW_ACTIVE - 304)))) !==
- 0) ||
- (((_la - 337) & ~0x1f) == 0 &&
- ((1 << (_la - 337)) &
- ((1 << (HiveParser.KW_UNMANAGED - 337)) |
- (1 << (HiveParser.KW_DELTA - 337)) |
- (1 << (HiveParser.KW_CSV - 337)) |
- (1 << (HiveParser.KW_JSON - 337)) |
- (1 << (HiveParser.KW_BLOOMFILTER - 337)) |
- (1 << (HiveParser.KW_STREAM - 337)))) !==
- 0) ||
- (((_la - 371) & ~0x1f) == 0 &&
- ((1 << (_la - 371)) &
- ((1 << (HiveParser.LPAREN - 371)) |
- (1 << (HiveParser.LCURLY - 371)) |
- (1 << (HiveParser.PLUS - 371)) |
- (1 << (HiveParser.MINUS - 371)) |
- (1 << (HiveParser.TILDE - 371)) |
- (1 << (HiveParser.StringLiteral - 371)) |
- (1 << (HiveParser.IntegralLiteral - 371)) |
- (1 << (HiveParser.NumberLiteral - 371)))) !==
- 0) ||
- (((_la - 403) & ~0x1f) == 0 &&
- ((1 << (_la - 403)) &
- ((1 << (HiveParser.Number - 403)) |
- (1 << (HiveParser.Identifier - 403)) |
- (1 << (HiveParser.CharSetName - 403)))) !==
- 0)
- ) {
- this.state = 4230;
- this.expression(0);
- }
-
- this.state = 4237;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 4233;
- this.match(HiveParser.COMMA);
- this.state = 4234;
- this.expression(0);
- this.state = 4239;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- this.state = 4240;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- groupingExpressionSingle() {
- let localctx = new GroupingExpressionSingleContext(this, this._ctx, this.state);
- this.enterRule(localctx, 716, HiveParser.RULE_groupingExpressionSingle);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4242;
- this.expression(0);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- havingClause() {
- let localctx = new HavingClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 718, HiveParser.RULE_havingClause);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4244;
- this.match(HiveParser.KW_HAVING);
- this.state = 4245;
- this.havingCondition();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- havingCondition() {
- let localctx = new HavingConditionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 720, HiveParser.RULE_havingCondition);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4247;
- this.expression(0);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- expressionsInParenthesis() {
- let localctx = new ExpressionsInParenthesisContext(this, this._ctx, this.state);
- this.enterRule(localctx, 722, HiveParser.RULE_expressionsInParenthesis);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4249;
- this.match(HiveParser.LPAREN);
- this.state = 4250;
- this.expressionsNotInParenthesis();
- this.state = 4251;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- expressionsNotInParenthesis() {
- let localctx = new ExpressionsNotInParenthesisContext(this, this._ctx, this.state);
- this.enterRule(localctx, 724, HiveParser.RULE_expressionsNotInParenthesis);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4253;
- this.expression(0);
- this.state = 4255;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.COMMA) {
- this.state = 4254;
- this.expressionPart();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- expressionPart() {
- let localctx = new ExpressionPartContext(this, this._ctx, this.state);
- this.enterRule(localctx, 726, HiveParser.RULE_expressionPart);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4259;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- do {
- this.state = 4257;
- this.match(HiveParser.COMMA);
- this.state = 4258;
- this.expression(0);
- this.state = 4261;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- } while (_la === HiveParser.COMMA);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- expressions() {
- let localctx = new ExpressionsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 728, HiveParser.RULE_expressions);
- try {
- this.state = 4265;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 507, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 4263;
- this.expressionsInParenthesis();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 4264;
- this.expressionsNotInParenthesis();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnRefOrderInParenthesis() {
- let localctx = new ColumnRefOrderInParenthesisContext(this, this._ctx, this.state);
- this.enterRule(localctx, 730, HiveParser.RULE_columnRefOrderInParenthesis);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4267;
- this.match(HiveParser.LPAREN);
- this.state = 4268;
- this.columnRefOrder();
- this.state = 4273;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 4269;
- this.match(HiveParser.COMMA);
- this.state = 4270;
- this.columnRefOrder();
- this.state = 4275;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- this.state = 4276;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- columnRefOrderNotInParenthesis() {
- let localctx = new ColumnRefOrderNotInParenthesisContext(this, this._ctx, this.state);
- this.enterRule(localctx, 732, HiveParser.RULE_columnRefOrderNotInParenthesis);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4278;
- this.columnRefOrder();
- this.state = 4283;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 4279;
- this.match(HiveParser.COMMA);
- this.state = 4280;
- this.columnRefOrder();
- this.state = 4285;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- orderByClause() {
- let localctx = new OrderByClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 734, HiveParser.RULE_orderByClause);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4286;
- this.match(HiveParser.KW_ORDER);
- this.state = 4287;
- this.match(HiveParser.KW_BY);
- this.state = 4288;
- this.columnRefOrder();
- this.state = 4293;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 4289;
- this.match(HiveParser.COMMA);
- this.state = 4290;
- this.columnRefOrder();
- this.state = 4295;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- clusterByClause() {
- let localctx = new ClusterByClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 736, HiveParser.RULE_clusterByClause);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4296;
- this.match(HiveParser.KW_CLUSTER);
- this.state = 4297;
- this.match(HiveParser.KW_BY);
- this.state = 4304;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.LPAREN:
- this.state = 4298;
- this.match(HiveParser.LPAREN);
- this.state = 4299;
- this.columnNameList();
- this.state = 4300;
- this.match(HiveParser.RPAREN);
- break;
- case HiveParser.KW_AUTO:
- this.state = 4302;
- this.match(HiveParser.KW_AUTO);
- break;
- case HiveParser.KW_NONE:
- this.state = 4303;
- this.match(HiveParser.KW_NONE);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- partitionByClause() {
- let localctx = new PartitionByClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 738, HiveParser.RULE_partitionByClause);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4306;
- this.match(HiveParser.KW_PARTITION);
- this.state = 4307;
- this.match(HiveParser.KW_BY);
- this.state = 4308;
- this.expressions();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- distributeByClause() {
- let localctx = new DistributeByClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 740, HiveParser.RULE_distributeByClause);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4310;
- this.match(HiveParser.KW_DISTRIBUTE);
- this.state = 4311;
- this.match(HiveParser.KW_BY);
- this.state = 4312;
- this.expressions();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- sortByClause() {
- let localctx = new SortByClauseContext(this, this._ctx, this.state);
- this.enterRule(localctx, 742, HiveParser.RULE_sortByClause);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4314;
- this.match(HiveParser.KW_SORT);
- this.state = 4315;
- this.match(HiveParser.KW_BY);
- this.state = 4318;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 512, this._ctx);
- switch (la_) {
- case 1:
- this.state = 4316;
- this.columnRefOrderInParenthesis();
- break;
-
- case 2:
- this.state = 4317;
- this.columnRefOrderNotInParenthesis();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- functionStatement() {
- let localctx = new FunctionStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 744, HiveParser.RULE_functionStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4320;
- this.functionName();
- this.state = 4321;
- this.match(HiveParser.LPAREN);
- this.state = 4336;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 516, this._ctx);
- switch (la_) {
- case 1:
- this.state = 4322;
- this.match(HiveParser.STAR);
- break;
-
- case 2:
- this.state = 4324;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ALL || _la === HiveParser.KW_DISTINCT) {
- this.state = 4323;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_ALL || _la === HiveParser.KW_DISTINCT)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- }
-
- this.state = 4334;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (
- ((_la & ~0x1f) == 0 &&
- ((1 << _la) &
- ((1 << HiveParser.KW_TRUE) |
- (1 << HiveParser.KW_FALSE) |
- (1 << HiveParser.KW_NOT) |
- (1 << HiveParser.KW_IF) |
- (1 << HiveParser.KW_EXISTS) |
- (1 << HiveParser.KW_ASC) |
- (1 << HiveParser.KW_DESC) |
- (1 << HiveParser.KW_NULLS) |
- (1 << HiveParser.KW_LAST) |
- (1 << HiveParser.KW_OVERWRITE))) !==
- 0) ||
- (((_la - 37) & ~0x1f) == 0 &&
- ((1 << (_la - 37)) &
- ((1 << (HiveParser.KW_PARTITIONS - 37)) |
- (1 << (HiveParser.KW_TABLE - 37)) |
- (1 << (HiveParser.KW_TABLES - 37)) |
- (1 << (HiveParser.KW_COLUMNS - 37)) |
- (1 << (HiveParser.KW_INDEX - 37)) |
- (1 << (HiveParser.KW_INDEXES - 37)) |
- (1 << (HiveParser.KW_REBUILD - 37)) |
- (1 << (HiveParser.KW_FUNCTIONS - 37)) |
- (1 << (HiveParser.KW_SHOW - 37)) |
- (1 << (HiveParser.KW_MSCK - 37)) |
- (1 << (HiveParser.KW_REPAIR - 37)) |
- (1 << (HiveParser.KW_DIRECTORY - 37)) |
- (1 << (HiveParser.KW_CLUSTER - 37)) |
- (1 << (HiveParser.KW_DISTRIBUTE - 37)) |
- (1 << (HiveParser.KW_SORT - 37)) |
- (1 << (HiveParser.KW_LOAD - 37)) |
- (1 << (HiveParser.KW_EXPORT - 37)) |
- (1 << (HiveParser.KW_REPLICATION - 37)) |
- (1 << (HiveParser.KW_METADATA - 37)) |
- (1 << (HiveParser.KW_DATA - 37)) |
- (1 << (HiveParser.KW_INPATH - 37)) |
- (1 << (HiveParser.KW_NULL - 37)))) !==
- 0) ||
- (((_la - 70) & ~0x1f) == 0 &&
- ((1 << (_la - 70)) &
- ((1 << (HiveParser.KW_CHANGE - 70)) |
- (1 << (HiveParser.KW_FIRST - 70)) |
- (1 << (HiveParser.KW_AFTER - 70)) |
- (1 << (HiveParser.KW_RENAME - 70)) |
- (1 << (HiveParser.KW_COMMENT - 70)) |
- (1 << (HiveParser.KW_BOOLEAN - 70)) |
- (1 << (HiveParser.KW_TINYINT - 70)) |
- (1 << (HiveParser.KW_SMALLINT - 70)) |
- (1 << (HiveParser.KW_INT - 70)) |
- (1 << (HiveParser.KW_BIGINT - 70)) |
- (1 << (HiveParser.KW_FLOAT - 70)) |
- (1 << (HiveParser.KW_DOUBLE - 70)) |
- (1 << (HiveParser.KW_DATE - 70)) |
- (1 << (HiveParser.KW_DATETIME - 70)) |
- (1 << (HiveParser.KW_TIMESTAMP - 70)) |
- (1 << (HiveParser.KW_TIMESTAMPLOCALTZ - 70)) |
- (1 << (HiveParser.KW_TIME - 70)) |
- (1 << (HiveParser.KW_ZONE - 70)) |
- (1 << (HiveParser.KW_INTERVAL - 70)) |
- (1 << (HiveParser.KW_STRING - 70)) |
- (1 << (HiveParser.KW_ARRAY - 70)) |
- (1 << (HiveParser.KW_STRUCT - 70)) |
- (1 << (HiveParser.KW_MAP - 70)))) !==
- 0) ||
- (((_la - 104) & ~0x1f) == 0 &&
- ((1 << (_la - 104)) &
- ((1 << (HiveParser.KW_UNIONTYPE - 104)) |
- (1 << (HiveParser.KW_PARTITIONED - 104)) |
- (1 << (HiveParser.KW_CLUSTERED - 104)) |
- (1 << (HiveParser.KW_SORTED - 104)) |
- (1 << (HiveParser.KW_BUCKETS - 104)) |
- (1 << (HiveParser.KW_FORMAT - 104)) |
- (1 << (HiveParser.KW_DELIMITED - 104)) |
- (1 << (HiveParser.KW_FIELDS - 104)) |
- (1 << (HiveParser.KW_TERMINATED - 104)) |
- (1 << (HiveParser.KW_ESCAPED - 104)) |
- (1 << (HiveParser.KW_COLLECTION - 104)) |
- (1 << (HiveParser.KW_ITEMS - 104)) |
- (1 << (HiveParser.KW_KEYS - 104)) |
- (1 << (HiveParser.KW_KEY_TYPE - 104)) |
- (1 << (HiveParser.KW_KILL - 104)) |
- (1 << (HiveParser.KW_LINES - 104)) |
- (1 << (HiveParser.KW_STORED - 104)) |
- (1 << (HiveParser.KW_FILEFORMAT - 104)) |
- (1 << (HiveParser.KW_INPUTFORMAT - 104)) |
- (1 << (HiveParser.KW_OUTPUTFORMAT - 104)) |
- (1 << (HiveParser.KW_INPUTDRIVER - 104)) |
- (1 << (HiveParser.KW_OUTPUTDRIVER - 104)) |
- (1 << (HiveParser.KW_ENABLE - 104)) |
- (1 << (HiveParser.KW_DISABLE - 104)) |
- (1 << (HiveParser.KW_LOCATION - 104)) |
- (1 << (HiveParser.KW_BUCKET - 104)))) !==
- 0) ||
- (((_la - 138) & ~0x1f) == 0 &&
- ((1 << (_la - 138)) &
- ((1 << (HiveParser.KW_CAST - 138)) |
- (1 << (HiveParser.KW_ADD - 138)) |
- (1 << (HiveParser.KW_REPLACE - 138)) |
- (1 << (HiveParser.KW_TEMPORARY - 138)) |
- (1 << (HiveParser.KW_FILE - 138)) |
- (1 << (HiveParser.KW_JAR - 138)) |
- (1 << (HiveParser.KW_EXPLAIN - 138)) |
- (1 << (HiveParser.KW_FORMATTED - 138)) |
- (1 << (HiveParser.KW_DEPENDENCY - 138)) |
- (1 << (HiveParser.KW_LOGICAL - 138)) |
- (1 << (HiveParser.KW_SERDE - 138)) |
- (1 << (HiveParser.KW_DEFERRED - 138)) |
- (1 << (HiveParser.KW_SERDEPROPERTIES - 138)) |
- (1 << (HiveParser.KW_DBPROPERTIES - 138)) |
- (1 << (HiveParser.KW_LIMIT - 138)) |
- (1 << (HiveParser.KW_OFFSET - 138)) |
- (1 << (HiveParser.KW_UNSET - 138)) |
- (1 << (HiveParser.KW_TBLPROPERTIES - 138)) |
- (1 << (HiveParser.KW_IDXPROPERTIES - 138)) |
- (1 << (HiveParser.KW_VALUE_TYPE - 138)) |
- (1 << (HiveParser.KW_ELEM_TYPE - 138)) |
- (1 << (HiveParser.KW_DEFINED - 138)) |
- (1 << (HiveParser.KW_CASE - 138)))) !==
- 0) ||
- (((_la - 172) & ~0x1f) == 0 &&
- ((1 << (_la - 172)) &
- ((1 << (HiveParser.KW_MAPJOIN - 172)) |
- (1 << (HiveParser.KW_STREAMTABLE - 172)) |
- (1 << (HiveParser.KW_CLUSTERSTATUS - 172)) |
- (1 << (HiveParser.KW_UTC - 172)) |
- (1 << (HiveParser.KW_UTCTIMESTAMP - 172)) |
- (1 << (HiveParser.KW_LONG - 172)) |
- (1 << (HiveParser.KW_PLUS - 172)) |
- (1 << (HiveParser.KW_VIEW - 172)) |
- (1 << (HiveParser.KW_VIEWS - 172)) |
- (1 << (HiveParser.KW_DATABASES - 172)) |
- (1 << (HiveParser.KW_MATERIALIZED - 172)) |
- (1 << (HiveParser.KW_SCHEMA - 172)) |
- (1 << (HiveParser.KW_SCHEMAS - 172)) |
- (1 << (HiveParser.KW_SSL - 172)) |
- (1 << (HiveParser.KW_UNDO - 172)) |
- (1 << (HiveParser.KW_LOCK - 172)) |
- (1 << (HiveParser.KW_LOCKS - 172)) |
- (1 << (HiveParser.KW_UNLOCK - 172)) |
- (1 << (HiveParser.KW_SHARED - 172)) |
- (1 << (HiveParser.KW_EXCLUSIVE - 172)) |
- (1 << (HiveParser.KW_UNSIGNED - 172)) |
- (1 << (HiveParser.KW_WHILE - 172)) |
- (1 << (HiveParser.KW_READ - 172)))) !==
- 0) ||
- (((_la - 205) & ~0x1f) == 0 &&
- ((1 << (_la - 205)) &
- ((1 << (HiveParser.KW_PURGE - 205)) |
- (1 << (HiveParser.KW_ANALYZE - 205)) |
- (1 << (HiveParser.KW_BEFORE - 205)) |
- (1 << (HiveParser.KW_BINARY - 205)) |
- (1 << (HiveParser.KW_CONTINUE - 205)) |
- (1 << (HiveParser.KW_RECORDREADER - 205)) |
- (1 << (HiveParser.KW_RECORDWRITER - 205)) |
- (1 << (HiveParser.KW_SEMI - 205)) |
- (1 << (HiveParser.KW_TOUCH - 205)) |
- (1 << (HiveParser.KW_ARCHIVE - 205)) |
- (1 << (HiveParser.KW_UNARCHIVE - 205)) |
- (1 << (HiveParser.KW_COMPUTE - 205)) |
- (1 << (HiveParser.KW_STATISTICS - 205)) |
- (1 << (HiveParser.KW_USE - 205)) |
- (1 << (HiveParser.KW_OPTION - 205)) |
- (1 << (HiveParser.KW_CONCATENATE - 205)) |
- (1 << (HiveParser.KW_CATALOG - 205)) |
- (1 << (HiveParser.KW_SHOW_DATABASE - 205)) |
- (1 << (HiveParser.KW_RESTRICT - 205)) |
- (1 << (HiveParser.KW_CASCADE - 205)) |
- (1 << (HiveParser.KW_SKEWED - 205)))) !==
- 0) ||
- (((_la - 237) & ~0x1f) == 0 &&
- ((1 << (_la - 237)) &
- ((1 << (HiveParser.KW_DIRECTORIES - 237)) |
- (1 << (HiveParser.KW_CURRENT_DATE - 237)) |
- (1 << (HiveParser.KW_CURRENT_TIMESTAMP - 237)) |
- (1 << (HiveParser.KW_GROUPING - 237)) |
- (1 << (HiveParser.KW_SETS - 237)) |
- (1 << (HiveParser.KW_NOSCAN - 237)) |
- (1 << (HiveParser.KW_ROLE - 237)) |
- (1 << (HiveParser.KW_ROLES - 237)) |
- (1 << (HiveParser.KW_URI - 237)) |
- (1 << (HiveParser.KW_SERVER - 237)) |
- (1 << (HiveParser.KW_ADMIN - 237)) |
- (1 << (HiveParser.KW_OWNER - 237)) |
- (1 << (HiveParser.KW_PRINCIPALS - 237)) |
- (1 << (HiveParser.KW_COMPACT - 237)) |
- (1 << (HiveParser.KW_COMPACTIONS - 237)) |
- (1 << (HiveParser.KW_TRANSACTIONS - 237)) |
- (1 << (HiveParser.KW_REWRITE - 237)) |
- (1 << (HiveParser.KW_REOPTIMIZATION - 237)))) !==
- 0) ||
- (((_la - 271) & ~0x1f) == 0 &&
- ((1 << (_la - 271)) &
- ((1 << (HiveParser.KW_RELOAD - 271)) |
- (1 << (HiveParser.KW_YEAR - 271)) |
- (1 << (HiveParser.KW_QUERY - 271)) |
- (1 << (HiveParser.KW_QUARTER - 271)) |
- (1 << (HiveParser.KW_MONTH - 271)) |
- (1 << (HiveParser.KW_WEEK - 271)) |
- (1 << (HiveParser.KW_DAY - 271)) |
- (1 << (HiveParser.KW_DOW - 271)) |
- (1 << (HiveParser.KW_HOUR - 271)) |
- (1 << (HiveParser.KW_MINUTE - 271)) |
- (1 << (HiveParser.KW_SECOND - 271)) |
- (1 << (HiveParser.KW_TRANSACTION - 271)) |
- (1 << (HiveParser.KW_WORK - 271)) |
- (1 << (HiveParser.KW_WRITE - 271)) |
- (1 << (HiveParser.KW_ISOLATION - 271)) |
- (1 << (HiveParser.KW_LEVEL - 271)) |
- (1 << (HiveParser.KW_SNAPSHOT - 271)) |
- (1 << (HiveParser.KW_AUTOCOMMIT - 271)) |
- (1 << (HiveParser.KW_CACHE - 271)) |
- (1 << (HiveParser.KW_ENFORCED - 271)) |
- (1 << (HiveParser.KW_VALIDATE - 271)) |
- (1 << (HiveParser.KW_NOVALIDATE - 271)) |
- (1 << (HiveParser.KW_RELY - 271)) |
- (1 << (HiveParser.KW_NORELY - 271)))) !==
- 0) ||
- (((_la - 304) & ~0x1f) == 0 &&
- ((1 << (_la - 304)) &
- ((1 << (HiveParser.KW_KEY - 304)) |
- (1 << (HiveParser.KW_ABORT - 304)) |
- (1 << (HiveParser.KW_EXTRACT - 304)) |
- (1 << (HiveParser.KW_FLOOR - 304)) |
- (1 << (HiveParser.KW_MATCHED - 304)) |
- (1 << (HiveParser.KW_REPL - 304)) |
- (1 << (HiveParser.KW_DUMP - 304)) |
- (1 << (HiveParser.KW_STATUS - 304)) |
- (1 << (HiveParser.KW_VECTORIZATION - 304)) |
- (1 << (HiveParser.KW_SUMMARY - 304)) |
- (1 << (HiveParser.KW_OPERATOR - 304)) |
- (1 << (HiveParser.KW_EXPRESSION - 304)) |
- (1 << (HiveParser.KW_DETAIL - 304)) |
- (1 << (HiveParser.KW_WAIT - 304)) |
- (1 << (HiveParser.KW_RESOURCE - 304)) |
- (1 << (HiveParser.KW_PLAN - 304)) |
- (1 << (HiveParser.KW_QUERY_PARALLELISM - 304)) |
- (1 << (HiveParser.KW_PLANS - 304)) |
- (1 << (HiveParser.KW_ACTIVATE - 304)) |
- (1 << (HiveParser.KW_DEFAULT - 304)) |
- (1 << (HiveParser.KW_CHECK - 304)) |
- (1 << (HiveParser.KW_POOL - 304)) |
- (1 << (HiveParser.KW_MOVE - 304)) |
- (1 << (HiveParser.KW_DO - 304)) |
- (1 << (HiveParser.KW_ALLOC_FRACTION - 304)) |
- (1 << (HiveParser.KW_SCHEDULING_POLICY - 304)) |
- (1 << (HiveParser.KW_PATH - 304)) |
- (1 << (HiveParser.KW_MAPPING - 304)) |
- (1 << (HiveParser.KW_WORKLOAD - 304)) |
- (1 << (HiveParser.KW_MANAGEMENT - 304)) |
- (1 << (HiveParser.KW_ACTIVE - 304)))) !==
- 0) ||
- (((_la - 337) & ~0x1f) == 0 &&
- ((1 << (_la - 337)) &
- ((1 << (HiveParser.KW_UNMANAGED - 337)) |
- (1 << (HiveParser.KW_DELTA - 337)) |
- (1 << (HiveParser.KW_CSV - 337)) |
- (1 << (HiveParser.KW_JSON - 337)) |
- (1 << (HiveParser.KW_BLOOMFILTER - 337)) |
- (1 << (HiveParser.KW_STREAM - 337)))) !==
- 0) ||
- (((_la - 371) & ~0x1f) == 0 &&
- ((1 << (_la - 371)) &
- ((1 << (HiveParser.LPAREN - 371)) |
- (1 << (HiveParser.LCURLY - 371)) |
- (1 << (HiveParser.PLUS - 371)) |
- (1 << (HiveParser.MINUS - 371)) |
- (1 << (HiveParser.STAR - 371)) |
- (1 << (HiveParser.TILDE - 371)) |
- (1 << (HiveParser.StringLiteral - 371)) |
- (1 << (HiveParser.IntegralLiteral - 371)) |
- (1 << (HiveParser.NumberLiteral - 371)))) !==
- 0) ||
- (((_la - 403) & ~0x1f) == 0 &&
- ((1 << (_la - 403)) &
- ((1 << (HiveParser.Number - 403)) |
- (1 << (HiveParser.Identifier - 403)) |
- (1 << (HiveParser.CharSetName - 403)))) !==
- 0)
- ) {
- this.state = 4326;
- this.selectExpression();
- this.state = 4331;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 4327;
- this.match(HiveParser.COMMA);
- this.state = 4328;
- this.selectExpression();
- this.state = 4333;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- }
-
- break;
- }
- this.state = 4338;
- this.match(HiveParser.RPAREN);
- this.state = 4341;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 517, this._ctx);
- if (la_ === 1) {
- this.state = 4339;
- this.match(HiveParser.KW_OVER);
- this.state = 4340;
- this.window_specification();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- functionName() {
- let localctx = new FunctionNameContext(this, this._ctx, this.state);
- this.enterRule(localctx, 746, HiveParser.RULE_functionName);
- try {
- this.state = 4345;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 518, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 4343;
- this.functionIdentifier();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 4344;
- this.sql11ReservedKeywordsUsedAsFunctionName();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- castExpression() {
- let localctx = new CastExpressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 748, HiveParser.RULE_castExpression);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4347;
- this.match(HiveParser.KW_CAST);
- this.state = 4348;
- this.match(HiveParser.LPAREN);
- this.state = 4349;
- this.expression(0);
- this.state = 4350;
- this.match(HiveParser.KW_AS);
- this.state = 4353;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_BOOLEAN:
- case HiveParser.KW_TINYINT:
- case HiveParser.KW_SMALLINT:
- case HiveParser.KW_INT:
- case HiveParser.KW_BIGINT:
- case HiveParser.KW_FLOAT:
- case HiveParser.KW_DOUBLE:
- case HiveParser.KW_DATE:
- case HiveParser.KW_DATETIME:
- case HiveParser.KW_TIMESTAMP:
- case HiveParser.KW_TIMESTAMP_NTZ:
- case HiveParser.KW_TIMESTAMPLOCALTZ:
- case HiveParser.KW_DECIMAL:
- case HiveParser.KW_STRING:
- case HiveParser.KW_CHAR:
- case HiveParser.KW_VARCHAR:
- case HiveParser.KW_VARIANT:
- case HiveParser.KW_BINARY:
- this.state = 4351;
- this.primitiveType();
- break;
- case HiveParser.KW_STRUCT:
- this.state = 4352;
- this.structType();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- this.state = 4355;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- caseExpression() {
- let localctx = new CaseExpressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 750, HiveParser.RULE_caseExpression);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4357;
- this.match(HiveParser.KW_CASE);
- this.state = 4358;
- this.expression(0);
- this.state = 4364;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- do {
- this.state = 4359;
- this.match(HiveParser.KW_WHEN);
- this.state = 4360;
- this.expression(0);
- this.state = 4361;
- this.match(HiveParser.KW_THEN);
- this.state = 4362;
- this.expression(0);
- this.state = 4366;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- } while (_la === HiveParser.KW_WHEN);
- this.state = 4370;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ELSE) {
- this.state = 4368;
- this.match(HiveParser.KW_ELSE);
- this.state = 4369;
- this.expression(0);
- }
-
- this.state = 4372;
- this.match(HiveParser.KW_END);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- whenExpression() {
- let localctx = new WhenExpressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 752, HiveParser.RULE_whenExpression);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4374;
- this.match(HiveParser.KW_CASE);
- this.state = 4380;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- do {
- this.state = 4375;
- this.match(HiveParser.KW_WHEN);
- this.state = 4376;
- this.expression(0);
- this.state = 4377;
- this.match(HiveParser.KW_THEN);
- this.state = 4378;
- this.expression(0);
- this.state = 4382;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- } while (_la === HiveParser.KW_WHEN);
- this.state = 4386;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ELSE) {
- this.state = 4384;
- this.match(HiveParser.KW_ELSE);
- this.state = 4385;
- this.expression(0);
- }
-
- this.state = 4388;
- this.match(HiveParser.KW_END);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- floorExpression() {
- let localctx = new FloorExpressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 754, HiveParser.RULE_floorExpression);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4390;
- this.match(HiveParser.KW_FLOOR);
- this.state = 4391;
- this.match(HiveParser.LPAREN);
- this.state = 4392;
- this.expression(0);
- this.state = 4395;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_TO) {
- this.state = 4393;
- this.match(HiveParser.KW_TO);
- this.state = 4394;
- this.floorDateQualifiers();
- }
-
- this.state = 4397;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- floorDateQualifiers() {
- let localctx = new FloorDateQualifiersContext(this, this._ctx, this.state);
- this.enterRule(localctx, 756, HiveParser.RULE_floorDateQualifiers);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4399;
- _la = this._input.LA(1);
- if (
- !(
- ((_la - 272) & ~0x1f) == 0 &&
- ((1 << (_la - 272)) &
- ((1 << (HiveParser.KW_YEAR - 272)) |
- (1 << (HiveParser.KW_QUARTER - 272)) |
- (1 << (HiveParser.KW_MONTH - 272)) |
- (1 << (HiveParser.KW_WEEK - 272)) |
- (1 << (HiveParser.KW_DAY - 272)) |
- (1 << (HiveParser.KW_HOUR - 272)) |
- (1 << (HiveParser.KW_MINUTE - 272)) |
- (1 << (HiveParser.KW_SECOND - 272)))) !==
- 0
- )
- ) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- extractExpression() {
- let localctx = new ExtractExpressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 758, HiveParser.RULE_extractExpression);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4401;
- this.match(HiveParser.KW_EXTRACT);
- this.state = 4402;
- this.match(HiveParser.LPAREN);
- this.state = 4403;
- this.timeQualifiers();
- this.state = 4404;
- this.match(HiveParser.KW_FROM);
- this.state = 4405;
- this.expression(0);
- this.state = 4406;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- timeQualifiers() {
- let localctx = new TimeQualifiersContext(this, this._ctx, this.state);
- this.enterRule(localctx, 760, HiveParser.RULE_timeQualifiers);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4408;
- _la = this._input.LA(1);
- if (
- !(
- ((_la - 272) & ~0x1f) == 0 &&
- ((1 << (_la - 272)) &
- ((1 << (HiveParser.KW_YEAR - 272)) |
- (1 << (HiveParser.KW_QUARTER - 272)) |
- (1 << (HiveParser.KW_MONTH - 272)) |
- (1 << (HiveParser.KW_WEEK - 272)) |
- (1 << (HiveParser.KW_DAY - 272)) |
- (1 << (HiveParser.KW_DOW - 272)) |
- (1 << (HiveParser.KW_HOUR - 272)) |
- (1 << (HiveParser.KW_MINUTE - 272)) |
- (1 << (HiveParser.KW_SECOND - 272)))) !==
- 0
- )
- ) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- constant() {
- let localctx = new ConstantContext(this, this._ctx, this.state);
- this.enterRule(localctx, 762, HiveParser.RULE_constant);
- try {
- this.state = 4422;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 525, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 4410;
- this.intervalLiteral();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 4411;
- this.match(HiveParser.Number);
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 4412;
- this.dateLiteral();
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 4413;
- this.timestampLiteral();
- break;
-
- case 5:
- this.enterOuterAlt(localctx, 5);
- this.state = 4414;
- this.timestampLocalTZLiteral();
- break;
-
- case 6:
- this.enterOuterAlt(localctx, 6);
- this.state = 4415;
- this.match(HiveParser.StringLiteral);
- break;
-
- case 7:
- this.enterOuterAlt(localctx, 7);
- this.state = 4416;
- this.stringLiteralSequence();
- break;
-
- case 8:
- this.enterOuterAlt(localctx, 8);
- this.state = 4417;
- this.match(HiveParser.IntegralLiteral);
- break;
-
- case 9:
- this.enterOuterAlt(localctx, 9);
- this.state = 4418;
- this.match(HiveParser.NumberLiteral);
- break;
-
- case 10:
- this.enterOuterAlt(localctx, 10);
- this.state = 4419;
- this.charSetStringLiteral();
- break;
-
- case 11:
- this.enterOuterAlt(localctx, 11);
- this.state = 4420;
- this.booleanValue();
- break;
-
- case 12:
- this.enterOuterAlt(localctx, 12);
- this.state = 4421;
- this.match(HiveParser.KW_NULL);
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- stringLiteralSequence() {
- let localctx = new StringLiteralSequenceContext(this, this._ctx, this.state);
- this.enterRule(localctx, 764, HiveParser.RULE_stringLiteralSequence);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4424;
- this.match(HiveParser.StringLiteral);
- this.state = 4426;
- this._errHandler.sync(this);
- var _alt = 1;
- do {
- switch (_alt) {
- case 1:
- this.state = 4425;
- this.match(HiveParser.StringLiteral);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- this.state = 4428;
- this._errHandler.sync(this);
- _alt = this._interp.adaptivePredict(this._input, 526, this._ctx);
- } while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- charSetStringLiteral() {
- let localctx = new CharSetStringLiteralContext(this, this._ctx, this.state);
- this.enterRule(localctx, 766, HiveParser.RULE_charSetStringLiteral);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4430;
- this.match(HiveParser.CharSetName);
- this.state = 4431;
- this.match(HiveParser.CharSetLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dateLiteral() {
- let localctx = new DateLiteralContext(this, this._ctx, this.state);
- this.enterRule(localctx, 768, HiveParser.RULE_dateLiteral);
- try {
- this.state = 4436;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_DATE:
- this.enterOuterAlt(localctx, 1);
- this.state = 4433;
- this.match(HiveParser.KW_DATE);
- this.state = 4434;
- this.match(HiveParser.StringLiteral);
- break;
- case HiveParser.KW_CURRENT_DATE:
- this.enterOuterAlt(localctx, 2);
- this.state = 4435;
- this.match(HiveParser.KW_CURRENT_DATE);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- timestampLiteral() {
- let localctx = new TimestampLiteralContext(this, this._ctx, this.state);
- this.enterRule(localctx, 770, HiveParser.RULE_timestampLiteral);
- try {
- this.state = 4445;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 528, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 4438;
- this.match(HiveParser.KW_TIMESTAMP);
- this.state = 4439;
- this.match(HiveParser.StringLiteral);
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 4440;
- this.match(HiveParser.KW_TIMESTAMP);
- this.state = 4441;
- this.match(HiveParser.StringLiteral);
- this.state = 4442;
- this.match(HiveParser.KW_AS);
- this.state = 4443;
- this.match(HiveParser.KW_TIMESTAMP_NTZ);
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 4444;
- this.match(HiveParser.KW_CURRENT_TIMESTAMP);
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- timestampLocalTZLiteral() {
- let localctx = new TimestampLocalTZLiteralContext(this, this._ctx, this.state);
- this.enterRule(localctx, 772, HiveParser.RULE_timestampLocalTZLiteral);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4447;
- this.match(HiveParser.KW_TIMESTAMPLOCALTZ);
- this.state = 4448;
- this.match(HiveParser.StringLiteral);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- intervalValue() {
- let localctx = new IntervalValueContext(this, this._ctx, this.state);
- this.enterRule(localctx, 774, HiveParser.RULE_intervalValue);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4450;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.StringLiteral || _la === HiveParser.Number)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- intervalLiteral() {
- let localctx = new IntervalLiteralContext(this, this._ctx, this.state);
- this.enterRule(localctx, 776, HiveParser.RULE_intervalLiteral);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4452;
- this.intervalValue();
- this.state = 4453;
- this.intervalQualifiers();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- intervalExpression() {
- let localctx = new IntervalExpressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 778, HiveParser.RULE_intervalExpression);
- try {
- this.state = 4470;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 529, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 4455;
- this.match(HiveParser.LPAREN);
- this.state = 4456;
- this.intervalValue();
- this.state = 4457;
- this.match(HiveParser.RPAREN);
- this.state = 4458;
- this.intervalQualifiers();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 4460;
- this.match(HiveParser.KW_INTERVAL);
- this.state = 4461;
- this.intervalValue();
- this.state = 4462;
- this.intervalQualifiers();
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 4464;
- this.match(HiveParser.KW_INTERVAL);
- this.state = 4465;
- this.match(HiveParser.LPAREN);
- this.state = 4466;
- this.expression(0);
- this.state = 4467;
- this.match(HiveParser.RPAREN);
- this.state = 4468;
- this.intervalQualifiers();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- intervalQualifiers() {
- let localctx = new IntervalQualifiersContext(this, this._ctx, this.state);
- this.enterRule(localctx, 780, HiveParser.RULE_intervalQualifiers);
- try {
- this.state = 4484;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 530, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 4472;
- this.match(HiveParser.KW_YEAR);
- this.state = 4473;
- this.match(HiveParser.KW_TO);
- this.state = 4474;
- this.match(HiveParser.KW_MONTH);
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 4475;
- this.match(HiveParser.KW_DAY);
- this.state = 4476;
- this.match(HiveParser.KW_TO);
- this.state = 4477;
- this.match(HiveParser.KW_SECOND);
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 4478;
- this.match(HiveParser.KW_YEAR);
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 4479;
- this.match(HiveParser.KW_MONTH);
- break;
-
- case 5:
- this.enterOuterAlt(localctx, 5);
- this.state = 4480;
- this.match(HiveParser.KW_DAY);
- break;
-
- case 6:
- this.enterOuterAlt(localctx, 6);
- this.state = 4481;
- this.match(HiveParser.KW_HOUR);
- break;
-
- case 7:
- this.enterOuterAlt(localctx, 7);
- this.state = 4482;
- this.match(HiveParser.KW_MINUTE);
- break;
-
- case 8:
- this.enterOuterAlt(localctx, 8);
- this.state = 4483;
- this.match(HiveParser.KW_SECOND);
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- atomExpression() {
- let localctx = new AtomExpressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 782, HiveParser.RULE_atomExpression);
- try {
- this.state = 4497;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 531, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 4486;
- this.constant();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 4487;
- this.intervalExpression();
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 4488;
- this.castExpression();
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 4489;
- this.extractExpression();
- break;
-
- case 5:
- this.enterOuterAlt(localctx, 5);
- this.state = 4490;
- this.floorExpression();
- break;
-
- case 6:
- this.enterOuterAlt(localctx, 6);
- this.state = 4491;
- this.caseExpression();
- break;
-
- case 7:
- this.enterOuterAlt(localctx, 7);
- this.state = 4492;
- this.whenExpression();
- break;
-
- case 8:
- this.enterOuterAlt(localctx, 8);
- this.state = 4493;
- this.subQueryExpression();
- break;
-
- case 9:
- this.enterOuterAlt(localctx, 9);
- this.state = 4494;
- this.functionStatement();
- break;
-
- case 10:
- this.enterOuterAlt(localctx, 10);
- this.state = 4495;
- this.tableOrColumn();
- break;
-
- case 11:
- this.enterOuterAlt(localctx, 11);
- this.state = 4496;
- this.expressionsInParenthesis();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- precedenceUnaryOperator() {
- let localctx = new PrecedenceUnaryOperatorContext(this, this._ctx, this.state);
- this.enterRule(localctx, 784, HiveParser.RULE_precedenceUnaryOperator);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4499;
- _la = this._input.LA(1);
- if (
- !(
- ((_la - 386) & ~0x1f) == 0 &&
- ((1 << (_la - 386)) &
- ((1 << (HiveParser.PLUS - 386)) |
- (1 << (HiveParser.MINUS - 386)) |
- (1 << (HiveParser.TILDE - 386)))) !==
- 0
- )
- ) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- isCondition() {
- let localctx = new IsConditionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 786, HiveParser.RULE_isCondition);
- try {
- this.state = 4510;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 532, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 4501;
- this.match(HiveParser.KW_NULL);
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 4502;
- this.match(HiveParser.KW_TRUE);
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 4503;
- this.match(HiveParser.KW_FALSE);
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 4504;
- this.match(HiveParser.KW_NOT);
- this.state = 4505;
- this.match(HiveParser.KW_NULL);
- break;
-
- case 5:
- this.enterOuterAlt(localctx, 5);
- this.state = 4506;
- this.match(HiveParser.KW_NOT);
- this.state = 4507;
- this.match(HiveParser.KW_TRUE);
- break;
-
- case 6:
- this.enterOuterAlt(localctx, 6);
- this.state = 4508;
- this.match(HiveParser.KW_NOT);
- this.state = 4509;
- this.match(HiveParser.KW_FALSE);
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- precedenceBitwiseXorOperator() {
- let localctx = new PrecedenceBitwiseXorOperatorContext(this, this._ctx, this.state);
- this.enterRule(localctx, 788, HiveParser.RULE_precedenceBitwiseXorOperator);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4512;
- this.match(HiveParser.BITWISEXOR);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- precedenceStarOperator() {
- let localctx = new PrecedenceStarOperatorContext(this, this._ctx, this.state);
- this.enterRule(localctx, 790, HiveParser.RULE_precedenceStarOperator);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4514;
- _la = this._input.LA(1);
- if (
- !(
- ((_la - 385) & ~0x1f) == 0 &&
- ((1 << (_la - 385)) &
- ((1 << (HiveParser.DIVIDE - 385)) |
- (1 << (HiveParser.STAR - 385)) |
- (1 << (HiveParser.MOD - 385)) |
- (1 << (HiveParser.DIV - 385)))) !==
- 0
- )
- ) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- precedencePlusOperator() {
- let localctx = new PrecedencePlusOperatorContext(this, this._ctx, this.state);
- this.enterRule(localctx, 792, HiveParser.RULE_precedencePlusOperator);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4516;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.PLUS || _la === HiveParser.MINUS)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- precedenceConcatenateOperator() {
- let localctx = new PrecedenceConcatenateOperatorContext(this, this._ctx, this.state);
- this.enterRule(localctx, 794, HiveParser.RULE_precedenceConcatenateOperator);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4518;
- this.match(HiveParser.CONCATENATE);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- precedenceAmpersandOperator() {
- let localctx = new PrecedenceAmpersandOperatorContext(this, this._ctx, this.state);
- this.enterRule(localctx, 796, HiveParser.RULE_precedenceAmpersandOperator);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4520;
- this.match(HiveParser.AMPERSAND);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- precedenceBitwiseOrOperator() {
- let localctx = new PrecedenceBitwiseOrOperatorContext(this, this._ctx, this.state);
- this.enterRule(localctx, 798, HiveParser.RULE_precedenceBitwiseOrOperator);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4522;
- this.match(HiveParser.BITWISEOR);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- precedenceRegexpOperator() {
- let localctx = new PrecedenceRegexpOperatorContext(this, this._ctx, this.state);
- this.enterRule(localctx, 800, HiveParser.RULE_precedenceRegexpOperator);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4524;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_LIKE || _la === HiveParser.KW_RLIKE || _la === HiveParser.KW_REGEXP)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- precedenceSimilarOperator() {
- let localctx = new PrecedenceSimilarOperatorContext(this, this._ctx, this.state);
- this.enterRule(localctx, 802, HiveParser.RULE_precedenceSimilarOperator);
- try {
- this.state = 4531;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_LIKE:
- case HiveParser.KW_RLIKE:
- case HiveParser.KW_REGEXP:
- this.enterOuterAlt(localctx, 1);
- this.state = 4526;
- this.precedenceRegexpOperator();
- break;
- case HiveParser.LESSTHANOREQUALTO:
- this.enterOuterAlt(localctx, 2);
- this.state = 4527;
- this.match(HiveParser.LESSTHANOREQUALTO);
- break;
- case HiveParser.LESSTHAN:
- this.enterOuterAlt(localctx, 3);
- this.state = 4528;
- this.match(HiveParser.LESSTHAN);
- break;
- case HiveParser.GREATERTHANOREQUALTO:
- this.enterOuterAlt(localctx, 4);
- this.state = 4529;
- this.match(HiveParser.GREATERTHANOREQUALTO);
- break;
- case HiveParser.GREATERTHAN:
- this.enterOuterAlt(localctx, 5);
- this.state = 4530;
- this.match(HiveParser.GREATERTHAN);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- precedenceDistinctOperator() {
- let localctx = new PrecedenceDistinctOperatorContext(this, this._ctx, this.state);
- this.enterRule(localctx, 804, HiveParser.RULE_precedenceDistinctOperator);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4533;
- this.match(HiveParser.KW_IS);
- this.state = 4534;
- this.match(HiveParser.KW_DISTINCT);
- this.state = 4535;
- this.match(HiveParser.KW_FROM);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- precedenceEqualOperator() {
- let localctx = new PrecedenceEqualOperatorContext(this, this._ctx, this.state);
- this.enterRule(localctx, 806, HiveParser.RULE_precedenceEqualOperator);
- try {
- this.state = 4544;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.EQUAL:
- this.enterOuterAlt(localctx, 1);
- this.state = 4537;
- this.match(HiveParser.EQUAL);
- break;
- case HiveParser.EQUAL_NS:
- this.enterOuterAlt(localctx, 2);
- this.state = 4538;
- this.match(HiveParser.EQUAL_NS);
- break;
- case HiveParser.NOTEQUAL:
- this.enterOuterAlt(localctx, 3);
- this.state = 4539;
- this.match(HiveParser.NOTEQUAL);
- break;
- case HiveParser.KW_IS:
- this.enterOuterAlt(localctx, 4);
- this.state = 4540;
- this.match(HiveParser.KW_IS);
- this.state = 4541;
- this.match(HiveParser.KW_NOT);
- this.state = 4542;
- this.match(HiveParser.KW_DISTINCT);
- this.state = 4543;
- this.match(HiveParser.KW_FROM);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- precedenceNotOperator() {
- let localctx = new PrecedenceNotOperatorContext(this, this._ctx, this.state);
- this.enterRule(localctx, 808, HiveParser.RULE_precedenceNotOperator);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4546;
- this.match(HiveParser.KW_NOT);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- precedenceAndOperator() {
- let localctx = new PrecedenceAndOperatorContext(this, this._ctx, this.state);
- this.enterRule(localctx, 810, HiveParser.RULE_precedenceAndOperator);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4548;
- this.match(HiveParser.KW_AND);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- precedenceOrOperator() {
- let localctx = new PrecedenceOrOperatorContext(this, this._ctx, this.state);
- this.enterRule(localctx, 812, HiveParser.RULE_precedenceOrOperator);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4550;
- this.match(HiveParser.KW_OR);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- expression(_p) {
- if (_p === undefined) {
- _p = 0;
- }
- const _parentctx = this._ctx;
- const _parentState = this.state;
- let localctx = new ExpressionContext(this, this._ctx, _parentState);
- let _prevctx = localctx;
- const _startState = 814;
- this.enterRecursionRule(localctx, 814, HiveParser.RULE_expression, _p);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4577;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 537, this._ctx);
- switch (la_) {
- case 1:
- this.state = 4553;
- this.atomExpression();
- this.state = 4562;
- this._errHandler.sync(this);
- var _alt = this._interp.adaptivePredict(this._input, 536, this._ctx);
- while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) {
- if (_alt === 1) {
- this.state = 4560;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.LSQUARE:
- this.state = 4554;
- this.match(HiveParser.LSQUARE);
- this.state = 4555;
- this.expression(0);
- this.state = 4556;
- this.match(HiveParser.RSQUARE);
- break;
- case HiveParser.DOT:
- this.state = 4558;
- this.match(HiveParser.DOT);
- this.state = 4559;
- this.identifier();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- }
- this.state = 4564;
- this._errHandler.sync(this);
- _alt = this._interp.adaptivePredict(this._input, 536, this._ctx);
- }
-
- break;
-
- case 2:
- this.state = 4565;
- this.precedenceUnaryOperator();
- this.state = 4566;
- this.expression(15);
- break;
-
- case 3:
- this.state = 4568;
- this.match(HiveParser.KW_EXISTS);
- this.state = 4569;
- this.subQueryExpression();
- break;
-
- case 4:
- this.state = 4570;
- this.precedenceNotOperator();
- this.state = 4571;
- this.expression(4);
- break;
-
- case 5:
- this.state = 4573;
- this.match(HiveParser.LPAREN);
- this.state = 4574;
- this.expression(0);
- this.state = 4575;
- this.match(HiveParser.RPAREN);
- break;
- }
- this._ctx.stop = this._input.LT(-1);
- this.state = 4625;
- this._errHandler.sync(this);
- var _alt = this._interp.adaptivePredict(this._input, 540, this._ctx);
- while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) {
- if (_alt === 1) {
- if (this._parseListeners !== null) {
- this.triggerExitRuleEvent();
- }
- _prevctx = localctx;
- this.state = 4623;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 539, this._ctx);
- switch (la_) {
- case 1:
- localctx = new ExpressionContext(this, _parentctx, _parentState);
- this.pushNewRecursionContext(localctx, _startState, HiveParser.RULE_expression);
- this.state = 4579;
- if (!this.precpred(this._ctx, 13)) {
- throw new antlr4.error.FailedPredicateException(this, 'this.precpred(this._ctx, 13)');
- }
- this.state = 4580;
- this.precedenceBitwiseXorOperator();
- this.state = 4581;
- this.expression(14);
- break;
-
- case 2:
- localctx = new ExpressionContext(this, _parentctx, _parentState);
- this.pushNewRecursionContext(localctx, _startState, HiveParser.RULE_expression);
- this.state = 4583;
- if (!this.precpred(this._ctx, 12)) {
- throw new antlr4.error.FailedPredicateException(this, 'this.precpred(this._ctx, 12)');
- }
- this.state = 4584;
- this.precedenceStarOperator();
- this.state = 4585;
- this.expression(13);
- break;
-
- case 3:
- localctx = new ExpressionContext(this, _parentctx, _parentState);
- this.pushNewRecursionContext(localctx, _startState, HiveParser.RULE_expression);
- this.state = 4587;
- if (!this.precpred(this._ctx, 11)) {
- throw new antlr4.error.FailedPredicateException(this, 'this.precpred(this._ctx, 11)');
- }
- this.state = 4588;
- this.precedencePlusOperator();
- this.state = 4589;
- this.expression(12);
- break;
-
- case 4:
- localctx = new ExpressionContext(this, _parentctx, _parentState);
- this.pushNewRecursionContext(localctx, _startState, HiveParser.RULE_expression);
- this.state = 4591;
- if (!this.precpred(this._ctx, 10)) {
- throw new antlr4.error.FailedPredicateException(this, 'this.precpred(this._ctx, 10)');
- }
- this.state = 4592;
- this.precedenceConcatenateOperator();
- this.state = 4593;
- this.expression(11);
- break;
-
- case 5:
- localctx = new ExpressionContext(this, _parentctx, _parentState);
- this.pushNewRecursionContext(localctx, _startState, HiveParser.RULE_expression);
- this.state = 4595;
- if (!this.precpred(this._ctx, 9)) {
- throw new antlr4.error.FailedPredicateException(this, 'this.precpred(this._ctx, 9)');
- }
- this.state = 4596;
- this.precedenceAmpersandOperator();
- this.state = 4597;
- this.expression(10);
- break;
-
- case 6:
- localctx = new ExpressionContext(this, _parentctx, _parentState);
- this.pushNewRecursionContext(localctx, _startState, HiveParser.RULE_expression);
- this.state = 4599;
- if (!this.precpred(this._ctx, 8)) {
- throw new antlr4.error.FailedPredicateException(this, 'this.precpred(this._ctx, 8)');
- }
- this.state = 4600;
- this.precedenceBitwiseOrOperator();
- this.state = 4601;
- this.expression(9);
- break;
-
- case 7:
- localctx = new ExpressionContext(this, _parentctx, _parentState);
- this.pushNewRecursionContext(localctx, _startState, HiveParser.RULE_expression);
- this.state = 4603;
- if (!this.precpred(this._ctx, 5)) {
- throw new antlr4.error.FailedPredicateException(this, 'this.precpred(this._ctx, 5)');
- }
- this.state = 4606;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 538, this._ctx);
- switch (la_) {
- case 1:
- this.state = 4604;
- this.precedenceEqualOperator();
- break;
-
- case 2:
- this.state = 4605;
- this.precedenceDistinctOperator();
- break;
- }
- this.state = 4608;
- this.expression(6);
- break;
-
- case 8:
- localctx = new ExpressionContext(this, _parentctx, _parentState);
- this.pushNewRecursionContext(localctx, _startState, HiveParser.RULE_expression);
- this.state = 4610;
- if (!this.precpred(this._ctx, 3)) {
- throw new antlr4.error.FailedPredicateException(this, 'this.precpred(this._ctx, 3)');
- }
- this.state = 4611;
- this.precedenceAndOperator();
- this.state = 4612;
- this.expression(4);
- break;
-
- case 9:
- localctx = new ExpressionContext(this, _parentctx, _parentState);
- this.pushNewRecursionContext(localctx, _startState, HiveParser.RULE_expression);
- this.state = 4614;
- if (!this.precpred(this._ctx, 2)) {
- throw new antlr4.error.FailedPredicateException(this, 'this.precpred(this._ctx, 2)');
- }
- this.state = 4615;
- this.precedenceOrOperator();
- this.state = 4616;
- this.expression(3);
- break;
-
- case 10:
- localctx = new ExpressionContext(this, _parentctx, _parentState);
- this.pushNewRecursionContext(localctx, _startState, HiveParser.RULE_expression);
- this.state = 4618;
- if (!this.precpred(this._ctx, 14)) {
- throw new antlr4.error.FailedPredicateException(this, 'this.precpred(this._ctx, 14)');
- }
- this.state = 4619;
- this.match(HiveParser.KW_IS);
- this.state = 4620;
- this.isCondition();
- break;
-
- case 11:
- localctx = new ExpressionContext(this, _parentctx, _parentState);
- this.pushNewRecursionContext(localctx, _startState, HiveParser.RULE_expression);
- this.state = 4621;
- if (!this.precpred(this._ctx, 7)) {
- throw new antlr4.error.FailedPredicateException(this, 'this.precpred(this._ctx, 7)');
- }
- this.state = 4622;
- this.precedenceSimilarExpressionPart();
- break;
- }
- }
- this.state = 4627;
- this._errHandler.sync(this);
- _alt = this._interp.adaptivePredict(this._input, 540, this._ctx);
- }
- } catch (error) {
- if (error instanceof antlr4.error.RecognitionException) {
- localctx.exception = error;
- this._errHandler.reportError(this, error);
- this._errHandler.recover(this, error);
- } else {
- throw error;
- }
- } finally {
- this.unrollRecursionContexts(_parentctx);
- }
- return localctx;
- }
-
- subQueryExpression() {
- let localctx = new SubQueryExpressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 816, HiveParser.RULE_subQueryExpression);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4628;
- this.match(HiveParser.LPAREN);
- this.state = 4629;
- this.selectStatement();
- this.state = 4630;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- precedenceSimilarExpressionPart() {
- let localctx = new PrecedenceSimilarExpressionPartContext(this, this._ctx, this.state);
- this.enterRule(localctx, 818, HiveParser.RULE_precedenceSimilarExpressionPart);
- try {
- this.state = 4638;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 541, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 4632;
- this.precedenceSimilarOperator();
- this.state = 4633;
- this.expression(0);
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 4635;
- this.precedenceSimilarExpressionAtom();
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 4636;
- this.match(HiveParser.KW_NOT);
- this.state = 4637;
- this.precedenceSimilarExpressionPartNot();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- precedenceSimilarExpressionAtom() {
- let localctx = new PrecedenceSimilarExpressionAtomContext(this, this._ctx, this.state);
- this.enterRule(localctx, 820, HiveParser.RULE_precedenceSimilarExpressionAtom);
- try {
- this.state = 4653;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 542, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 4640;
- this.match(HiveParser.KW_IN);
- this.state = 4641;
- this.precedenceSimilarExpressionIn();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 4642;
- this.match(HiveParser.KW_BETWEEN);
- this.state = 4643;
- this.expression(0);
- this.state = 4644;
- this.match(HiveParser.KW_AND);
- this.state = 4645;
- this.expression(0);
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 4647;
- this.match(HiveParser.KW_LIKE);
- this.state = 4648;
- this.match(HiveParser.KW_ANY);
- this.state = 4649;
- this.expressionsInParenthesis();
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 4650;
- this.match(HiveParser.KW_LIKE);
- this.state = 4651;
- this.match(HiveParser.KW_ALL);
- this.state = 4652;
- this.expressionsInParenthesis();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- precedenceSimilarExpressionIn() {
- let localctx = new PrecedenceSimilarExpressionInContext(this, this._ctx, this.state);
- this.enterRule(localctx, 822, HiveParser.RULE_precedenceSimilarExpressionIn);
- try {
- this.state = 4657;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 543, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 4655;
- this.subQueryExpression();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 4656;
- this.expressionsInParenthesis();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- precedenceSimilarExpressionPartNot() {
- let localctx = new PrecedenceSimilarExpressionPartNotContext(this, this._ctx, this.state);
- this.enterRule(localctx, 824, HiveParser.RULE_precedenceSimilarExpressionPartNot);
- try {
- this.state = 4663;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 544, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 4659;
- this.precedenceRegexpOperator();
- this.state = 4660;
- this.expression(0);
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 4662;
- this.precedenceSimilarExpressionAtom();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- booleanValue() {
- let localctx = new BooleanValueContext(this, this._ctx, this.state);
- this.enterRule(localctx, 826, HiveParser.RULE_booleanValue);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4665;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_TRUE || _la === HiveParser.KW_FALSE)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- booleanValueTok() {
- let localctx = new BooleanValueTokContext(this, this._ctx, this.state);
- this.enterRule(localctx, 828, HiveParser.RULE_booleanValueTok);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4667;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_TRUE || _la === HiveParser.KW_FALSE)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- tableOrPartition() {
- let localctx = new TableOrPartitionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 830, HiveParser.RULE_tableOrPartition);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4669;
- this.tableName();
- this.state = 4671;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_PARTITION) {
- this.state = 4670;
- this.partitionSpec();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- partitionSpec() {
- let localctx = new PartitionSpecContext(this, this._ctx, this.state);
- this.enterRule(localctx, 832, HiveParser.RULE_partitionSpec);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4673;
- this.match(HiveParser.KW_PARTITION);
- this.state = 4674;
- this.match(HiveParser.LPAREN);
- this.state = 4675;
- this.partitionVal();
- this.state = 4680;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 4676;
- this.match(HiveParser.COMMA);
- this.state = 4677;
- this.partitionVal();
- this.state = 4682;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- this.state = 4683;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- partitionVal() {
- let localctx = new PartitionValContext(this, this._ctx, this.state);
- this.enterRule(localctx, 834, HiveParser.RULE_partitionVal);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4685;
- this.identifier();
- this.state = 4688;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.EQUAL) {
- this.state = 4686;
- this.match(HiveParser.EQUAL);
- this.state = 4687;
- this.constant();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dropPartitionSpec() {
- let localctx = new DropPartitionSpecContext(this, this._ctx, this.state);
- this.enterRule(localctx, 836, HiveParser.RULE_dropPartitionSpec);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4690;
- this.match(HiveParser.KW_PARTITION);
- this.state = 4691;
- this.match(HiveParser.LPAREN);
- this.state = 4692;
- this.dropPartitionVal();
- this.state = 4697;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 4693;
- this.match(HiveParser.COMMA);
- this.state = 4694;
- this.dropPartitionVal();
- this.state = 4699;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- this.state = 4700;
- this.match(HiveParser.RPAREN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dropPartitionVal() {
- let localctx = new DropPartitionValContext(this, this._ctx, this.state);
- this.enterRule(localctx, 838, HiveParser.RULE_dropPartitionVal);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4702;
- this.identifier();
- this.state = 4703;
- this.dropPartitionOperator();
- this.state = 4704;
- this.constant();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dropPartitionOperator() {
- let localctx = new DropPartitionOperatorContext(this, this._ctx, this.state);
- this.enterRule(localctx, 840, HiveParser.RULE_dropPartitionOperator);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4706;
- _la = this._input.LA(1);
- if (
- !(
- ((_la - 377) & ~0x1f) == 0 &&
- ((1 << (_la - 377)) &
- ((1 << (HiveParser.EQUAL - 377)) |
- (1 << (HiveParser.NOTEQUAL - 377)) |
- (1 << (HiveParser.LESSTHANOREQUALTO - 377)) |
- (1 << (HiveParser.LESSTHAN - 377)) |
- (1 << (HiveParser.GREATERTHANOREQUALTO - 377)) |
- (1 << (HiveParser.GREATERTHAN - 377)))) !==
- 0
- )
- ) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- sysFuncNames() {
- let localctx = new SysFuncNamesContext(this, this._ctx, this.state);
- this.enterRule(localctx, 842, HiveParser.RULE_sysFuncNames);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4708;
- _la = this._input.LA(1);
- if (
- !(
- ((_la & ~0x1f) == 0 &&
- ((1 << _la) &
- ((1 << HiveParser.KW_AND) |
- (1 << HiveParser.KW_OR) |
- (1 << HiveParser.KW_NOT) |
- (1 << HiveParser.KW_LIKE) |
- (1 << HiveParser.KW_IF))) !==
- 0) ||
- (((_la - 79) & ~0x1f) == 0 &&
- ((1 << (_la - 79)) &
- ((1 << (HiveParser.KW_BOOLEAN - 79)) |
- (1 << (HiveParser.KW_TINYINT - 79)) |
- (1 << (HiveParser.KW_SMALLINT - 79)) |
- (1 << (HiveParser.KW_INT - 79)) |
- (1 << (HiveParser.KW_BIGINT - 79)) |
- (1 << (HiveParser.KW_FLOAT - 79)) |
- (1 << (HiveParser.KW_DOUBLE - 79)) |
- (1 << (HiveParser.KW_STRING - 79)) |
- (1 << (HiveParser.KW_ARRAY - 79)) |
- (1 << (HiveParser.KW_STRUCT - 79)) |
- (1 << (HiveParser.KW_MAP - 79)) |
- (1 << (HiveParser.KW_UNIONTYPE - 79)))) !==
- 0) ||
- (((_la - 141) & ~0x1f) == 0 &&
- ((1 << (_la - 141)) &
- ((1 << (HiveParser.KW_RLIKE - 141)) |
- (1 << (HiveParser.KW_REGEXP - 141)) |
- (1 << (HiveParser.KW_CASE - 141)) |
- (1 << (HiveParser.KW_WHEN - 141)))) !==
- 0) ||
- (((_la - 185) & ~0x1f) == 0 &&
- ((1 << (_la - 185)) &
- ((1 << (HiveParser.KW_IN - 185)) |
- (1 << (HiveParser.KW_BETWEEN - 185)) |
- (1 << (HiveParser.KW_BINARY - 185)))) !==
- 0) ||
- _la === HiveParser.KW_FLOOR ||
- (((_la - 377) & ~0x1f) == 0 &&
- ((1 << (_la - 377)) &
- ((1 << (HiveParser.EQUAL - 377)) |
- (1 << (HiveParser.EQUAL_NS - 377)) |
- (1 << (HiveParser.NOTEQUAL - 377)) |
- (1 << (HiveParser.LESSTHANOREQUALTO - 377)) |
- (1 << (HiveParser.LESSTHAN - 377)) |
- (1 << (HiveParser.GREATERTHANOREQUALTO - 377)) |
- (1 << (HiveParser.GREATERTHAN - 377)) |
- (1 << (HiveParser.DIVIDE - 377)) |
- (1 << (HiveParser.PLUS - 377)) |
- (1 << (HiveParser.MINUS - 377)) |
- (1 << (HiveParser.STAR - 377)) |
- (1 << (HiveParser.MOD - 377)) |
- (1 << (HiveParser.DIV - 377)) |
- (1 << (HiveParser.AMPERSAND - 377)) |
- (1 << (HiveParser.TILDE - 377)) |
- (1 << (HiveParser.BITWISEOR - 377)) |
- (1 << (HiveParser.BITWISEXOR - 377)))) !==
- 0)
- )
- ) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- descFuncNames() {
- let localctx = new DescFuncNamesContext(this, this._ctx, this.state);
- this.enterRule(localctx, 844, HiveParser.RULE_descFuncNames);
- try {
- this.state = 4713;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 549, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 4710;
- this.sysFuncNames();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 4711;
- this.match(HiveParser.StringLiteral);
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 4712;
- this.functionIdentifier();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- identifier() {
- let localctx = new IdentifierContext(this, this._ctx, this.state);
- this.enterRule(localctx, 846, HiveParser.RULE_identifier);
- try {
- this.state = 4723;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.Identifier:
- this.enterOuterAlt(localctx, 1);
- this.state = 4715;
- this.match(HiveParser.Identifier);
- break;
- case HiveParser.LCURLY:
- this.enterOuterAlt(localctx, 2);
- this.state = 4716;
- this.match(HiveParser.LCURLY);
- this.state = 4717;
- this.match(HiveParser.LCURLY);
-
- this.state = 4718;
- this.match(HiveParser.Identifier);
- this.state = 4719;
- this.match(HiveParser.RCURLY);
- this.state = 4720;
- this.match(HiveParser.RCURLY);
- break;
- case HiveParser.KW_ASC:
- case HiveParser.KW_DESC:
- case HiveParser.KW_NULLS:
- case HiveParser.KW_LAST:
- case HiveParser.KW_OVERWRITE:
- case HiveParser.KW_PARTITIONS:
- case HiveParser.KW_TABLE:
- case HiveParser.KW_TABLES:
- case HiveParser.KW_COLUMNS:
- case HiveParser.KW_INDEX:
- case HiveParser.KW_INDEXES:
- case HiveParser.KW_REBUILD:
- case HiveParser.KW_FUNCTIONS:
- case HiveParser.KW_SHOW:
- case HiveParser.KW_MSCK:
- case HiveParser.KW_REPAIR:
- case HiveParser.KW_DIRECTORY:
- case HiveParser.KW_CLUSTER:
- case HiveParser.KW_DISTRIBUTE:
- case HiveParser.KW_SORT:
- case HiveParser.KW_LOAD:
- case HiveParser.KW_EXPORT:
- case HiveParser.KW_REPLICATION:
- case HiveParser.KW_METADATA:
- case HiveParser.KW_DATA:
- case HiveParser.KW_INPATH:
- case HiveParser.KW_CHANGE:
- case HiveParser.KW_FIRST:
- case HiveParser.KW_AFTER:
- case HiveParser.KW_RENAME:
- case HiveParser.KW_COMMENT:
- case HiveParser.KW_TINYINT:
- case HiveParser.KW_DATETIME:
- case HiveParser.KW_ZONE:
- case HiveParser.KW_STRING:
- case HiveParser.KW_STRUCT:
- case HiveParser.KW_UNIONTYPE:
- case HiveParser.KW_PARTITIONED:
- case HiveParser.KW_CLUSTERED:
- case HiveParser.KW_SORTED:
- case HiveParser.KW_BUCKETS:
- case HiveParser.KW_FORMAT:
- case HiveParser.KW_DELIMITED:
- case HiveParser.KW_FIELDS:
- case HiveParser.KW_TERMINATED:
- case HiveParser.KW_ESCAPED:
- case HiveParser.KW_COLLECTION:
- case HiveParser.KW_ITEMS:
- case HiveParser.KW_KEYS:
- case HiveParser.KW_KEY_TYPE:
- case HiveParser.KW_KILL:
- case HiveParser.KW_LINES:
- case HiveParser.KW_STORED:
- case HiveParser.KW_FILEFORMAT:
- case HiveParser.KW_INPUTFORMAT:
- case HiveParser.KW_OUTPUTFORMAT:
- case HiveParser.KW_INPUTDRIVER:
- case HiveParser.KW_OUTPUTDRIVER:
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- case HiveParser.KW_LOCATION:
- case HiveParser.KW_BUCKET:
- case HiveParser.KW_ADD:
- case HiveParser.KW_REPLACE:
- case HiveParser.KW_TEMPORARY:
- case HiveParser.KW_FILE:
- case HiveParser.KW_JAR:
- case HiveParser.KW_EXPLAIN:
- case HiveParser.KW_FORMATTED:
- case HiveParser.KW_DEPENDENCY:
- case HiveParser.KW_LOGICAL:
- case HiveParser.KW_SERDE:
- case HiveParser.KW_DEFERRED:
- case HiveParser.KW_SERDEPROPERTIES:
- case HiveParser.KW_DBPROPERTIES:
- case HiveParser.KW_LIMIT:
- case HiveParser.KW_OFFSET:
- case HiveParser.KW_UNSET:
- case HiveParser.KW_TBLPROPERTIES:
- case HiveParser.KW_IDXPROPERTIES:
- case HiveParser.KW_VALUE_TYPE:
- case HiveParser.KW_ELEM_TYPE:
- case HiveParser.KW_DEFINED:
- case HiveParser.KW_MAPJOIN:
- case HiveParser.KW_STREAMTABLE:
- case HiveParser.KW_CLUSTERSTATUS:
- case HiveParser.KW_UTC:
- case HiveParser.KW_UTCTIMESTAMP:
- case HiveParser.KW_LONG:
- case HiveParser.KW_PLUS:
- case HiveParser.KW_VIEW:
- case HiveParser.KW_VIEWS:
- case HiveParser.KW_DATABASES:
- case HiveParser.KW_MATERIALIZED:
- case HiveParser.KW_SCHEMA:
- case HiveParser.KW_SCHEMAS:
- case HiveParser.KW_SSL:
- case HiveParser.KW_UNDO:
- case HiveParser.KW_LOCK:
- case HiveParser.KW_LOCKS:
- case HiveParser.KW_UNLOCK:
- case HiveParser.KW_SHARED:
- case HiveParser.KW_EXCLUSIVE:
- case HiveParser.KW_UNSIGNED:
- case HiveParser.KW_WHILE:
- case HiveParser.KW_READ:
- case HiveParser.KW_PURGE:
- case HiveParser.KW_ANALYZE:
- case HiveParser.KW_BEFORE:
- case HiveParser.KW_CONTINUE:
- case HiveParser.KW_RECORDREADER:
- case HiveParser.KW_RECORDWRITER:
- case HiveParser.KW_SEMI:
- case HiveParser.KW_TOUCH:
- case HiveParser.KW_ARCHIVE:
- case HiveParser.KW_UNARCHIVE:
- case HiveParser.KW_COMPUTE:
- case HiveParser.KW_STATISTICS:
- case HiveParser.KW_USE:
- case HiveParser.KW_OPTION:
- case HiveParser.KW_CONCATENATE:
- case HiveParser.KW_CATALOG:
- case HiveParser.KW_SHOW_DATABASE:
- case HiveParser.KW_RESTRICT:
- case HiveParser.KW_CASCADE:
- case HiveParser.KW_SKEWED:
- case HiveParser.KW_DIRECTORIES:
- case HiveParser.KW_SETS:
- case HiveParser.KW_NOSCAN:
- case HiveParser.KW_ROLE:
- case HiveParser.KW_ROLES:
- case HiveParser.KW_URI:
- case HiveParser.KW_SERVER:
- case HiveParser.KW_ADMIN:
- case HiveParser.KW_OWNER:
- case HiveParser.KW_PRINCIPALS:
- case HiveParser.KW_COMPACT:
- case HiveParser.KW_COMPACTIONS:
- case HiveParser.KW_TRANSACTIONS:
- case HiveParser.KW_REWRITE:
- case HiveParser.KW_REOPTIMIZATION:
- case HiveParser.KW_RELOAD:
- case HiveParser.KW_YEAR:
- case HiveParser.KW_QUERY:
- case HiveParser.KW_QUARTER:
- case HiveParser.KW_MONTH:
- case HiveParser.KW_WEEK:
- case HiveParser.KW_DAY:
- case HiveParser.KW_DOW:
- case HiveParser.KW_HOUR:
- case HiveParser.KW_MINUTE:
- case HiveParser.KW_SECOND:
- case HiveParser.KW_TRANSACTION:
- case HiveParser.KW_WORK:
- case HiveParser.KW_WRITE:
- case HiveParser.KW_ISOLATION:
- case HiveParser.KW_LEVEL:
- case HiveParser.KW_SNAPSHOT:
- case HiveParser.KW_AUTOCOMMIT:
- case HiveParser.KW_CACHE:
- case HiveParser.KW_ENFORCED:
- case HiveParser.KW_VALIDATE:
- case HiveParser.KW_NOVALIDATE:
- case HiveParser.KW_RELY:
- case HiveParser.KW_NORELY:
- case HiveParser.KW_KEY:
- case HiveParser.KW_ABORT:
- case HiveParser.KW_MATCHED:
- case HiveParser.KW_REPL:
- case HiveParser.KW_DUMP:
- case HiveParser.KW_STATUS:
- case HiveParser.KW_VECTORIZATION:
- case HiveParser.KW_SUMMARY:
- case HiveParser.KW_OPERATOR:
- case HiveParser.KW_EXPRESSION:
- case HiveParser.KW_DETAIL:
- case HiveParser.KW_WAIT:
- case HiveParser.KW_RESOURCE:
- case HiveParser.KW_PLAN:
- case HiveParser.KW_QUERY_PARALLELISM:
- case HiveParser.KW_PLANS:
- case HiveParser.KW_ACTIVATE:
- case HiveParser.KW_DEFAULT:
- case HiveParser.KW_CHECK:
- case HiveParser.KW_POOL:
- case HiveParser.KW_MOVE:
- case HiveParser.KW_DO:
- case HiveParser.KW_ALLOC_FRACTION:
- case HiveParser.KW_SCHEDULING_POLICY:
- case HiveParser.KW_PATH:
- case HiveParser.KW_MAPPING:
- case HiveParser.KW_WORKLOAD:
- case HiveParser.KW_MANAGEMENT:
- case HiveParser.KW_ACTIVE:
- case HiveParser.KW_UNMANAGED:
- case HiveParser.KW_DELTA:
- case HiveParser.KW_CSV:
- case HiveParser.KW_JSON:
- case HiveParser.KW_BLOOMFILTER:
- case HiveParser.KW_STREAM:
- this.enterOuterAlt(localctx, 3);
- this.state = 4721;
- this.nonReserved();
- break;
- case HiveParser.KW_IF:
- case HiveParser.KW_BOOLEAN:
- case HiveParser.KW_SMALLINT:
- case HiveParser.KW_INT:
- case HiveParser.KW_BIGINT:
- case HiveParser.KW_FLOAT:
- case HiveParser.KW_DOUBLE:
- case HiveParser.KW_DATE:
- case HiveParser.KW_TIMESTAMP:
- case HiveParser.KW_TIME:
- case HiveParser.KW_ARRAY:
- case HiveParser.KW_MAP:
- case HiveParser.KW_BINARY:
- case HiveParser.KW_CURRENT_DATE:
- case HiveParser.KW_CURRENT_TIMESTAMP:
- case HiveParser.KW_GROUPING:
- this.enterOuterAlt(localctx, 4);
- this.state = 4722;
- this.databricksAllowedReservedNames();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- functionIdentifier() {
- let localctx = new FunctionIdentifierContext(this, this._ctx, this.state);
- this.enterRule(localctx, 848, HiveParser.RULE_functionIdentifier);
- var _la = 0; // Token type
- try {
- this.state = 4740;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 552, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 4725;
- this.identifier();
- this.state = 4726;
- this.match(HiveParser.DOT);
- this.state = 4727;
- this.identifier();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 4729;
- this.identifier();
- this.state = 4730;
- this.match(HiveParser.DOT);
- this.state = 4731;
- this.identifier();
- this.state = 4736;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.DOT) {
- this.state = 4732;
- this.match(HiveParser.DOT);
- this.state = 4733;
- this.identifier();
- this.state = 4738;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 4739;
- this.identifier();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- principalIdentifier() {
- let localctx = new PrincipalIdentifierContext(this, this._ctx, this.state);
- this.enterRule(localctx, 850, HiveParser.RULE_principalIdentifier);
- try {
- this.state = 4744;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_IF:
- case HiveParser.KW_ASC:
- case HiveParser.KW_DESC:
- case HiveParser.KW_NULLS:
- case HiveParser.KW_LAST:
- case HiveParser.KW_OVERWRITE:
- case HiveParser.KW_PARTITIONS:
- case HiveParser.KW_TABLE:
- case HiveParser.KW_TABLES:
- case HiveParser.KW_COLUMNS:
- case HiveParser.KW_INDEX:
- case HiveParser.KW_INDEXES:
- case HiveParser.KW_REBUILD:
- case HiveParser.KW_FUNCTIONS:
- case HiveParser.KW_SHOW:
- case HiveParser.KW_MSCK:
- case HiveParser.KW_REPAIR:
- case HiveParser.KW_DIRECTORY:
- case HiveParser.KW_CLUSTER:
- case HiveParser.KW_DISTRIBUTE:
- case HiveParser.KW_SORT:
- case HiveParser.KW_LOAD:
- case HiveParser.KW_EXPORT:
- case HiveParser.KW_REPLICATION:
- case HiveParser.KW_METADATA:
- case HiveParser.KW_DATA:
- case HiveParser.KW_INPATH:
- case HiveParser.KW_CHANGE:
- case HiveParser.KW_FIRST:
- case HiveParser.KW_AFTER:
- case HiveParser.KW_RENAME:
- case HiveParser.KW_COMMENT:
- case HiveParser.KW_BOOLEAN:
- case HiveParser.KW_TINYINT:
- case HiveParser.KW_SMALLINT:
- case HiveParser.KW_INT:
- case HiveParser.KW_BIGINT:
- case HiveParser.KW_FLOAT:
- case HiveParser.KW_DOUBLE:
- case HiveParser.KW_DATE:
- case HiveParser.KW_DATETIME:
- case HiveParser.KW_TIMESTAMP:
- case HiveParser.KW_TIME:
- case HiveParser.KW_ZONE:
- case HiveParser.KW_STRING:
- case HiveParser.KW_ARRAY:
- case HiveParser.KW_STRUCT:
- case HiveParser.KW_MAP:
- case HiveParser.KW_UNIONTYPE:
- case HiveParser.KW_PARTITIONED:
- case HiveParser.KW_CLUSTERED:
- case HiveParser.KW_SORTED:
- case HiveParser.KW_BUCKETS:
- case HiveParser.KW_FORMAT:
- case HiveParser.KW_DELIMITED:
- case HiveParser.KW_FIELDS:
- case HiveParser.KW_TERMINATED:
- case HiveParser.KW_ESCAPED:
- case HiveParser.KW_COLLECTION:
- case HiveParser.KW_ITEMS:
- case HiveParser.KW_KEYS:
- case HiveParser.KW_KEY_TYPE:
- case HiveParser.KW_KILL:
- case HiveParser.KW_LINES:
- case HiveParser.KW_STORED:
- case HiveParser.KW_FILEFORMAT:
- case HiveParser.KW_INPUTFORMAT:
- case HiveParser.KW_OUTPUTFORMAT:
- case HiveParser.KW_INPUTDRIVER:
- case HiveParser.KW_OUTPUTDRIVER:
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_DISABLE:
- case HiveParser.KW_LOCATION:
- case HiveParser.KW_BUCKET:
- case HiveParser.KW_ADD:
- case HiveParser.KW_REPLACE:
- case HiveParser.KW_TEMPORARY:
- case HiveParser.KW_FILE:
- case HiveParser.KW_JAR:
- case HiveParser.KW_EXPLAIN:
- case HiveParser.KW_FORMATTED:
- case HiveParser.KW_DEPENDENCY:
- case HiveParser.KW_LOGICAL:
- case HiveParser.KW_SERDE:
- case HiveParser.KW_DEFERRED:
- case HiveParser.KW_SERDEPROPERTIES:
- case HiveParser.KW_DBPROPERTIES:
- case HiveParser.KW_LIMIT:
- case HiveParser.KW_OFFSET:
- case HiveParser.KW_UNSET:
- case HiveParser.KW_TBLPROPERTIES:
- case HiveParser.KW_IDXPROPERTIES:
- case HiveParser.KW_VALUE_TYPE:
- case HiveParser.KW_ELEM_TYPE:
- case HiveParser.KW_DEFINED:
- case HiveParser.KW_MAPJOIN:
- case HiveParser.KW_STREAMTABLE:
- case HiveParser.KW_CLUSTERSTATUS:
- case HiveParser.KW_UTC:
- case HiveParser.KW_UTCTIMESTAMP:
- case HiveParser.KW_LONG:
- case HiveParser.KW_PLUS:
- case HiveParser.KW_VIEW:
- case HiveParser.KW_VIEWS:
- case HiveParser.KW_DATABASES:
- case HiveParser.KW_MATERIALIZED:
- case HiveParser.KW_SCHEMA:
- case HiveParser.KW_SCHEMAS:
- case HiveParser.KW_SSL:
- case HiveParser.KW_UNDO:
- case HiveParser.KW_LOCK:
- case HiveParser.KW_LOCKS:
- case HiveParser.KW_UNLOCK:
- case HiveParser.KW_SHARED:
- case HiveParser.KW_EXCLUSIVE:
- case HiveParser.KW_UNSIGNED:
- case HiveParser.KW_WHILE:
- case HiveParser.KW_READ:
- case HiveParser.KW_PURGE:
- case HiveParser.KW_ANALYZE:
- case HiveParser.KW_BEFORE:
- case HiveParser.KW_BINARY:
- case HiveParser.KW_CONTINUE:
- case HiveParser.KW_RECORDREADER:
- case HiveParser.KW_RECORDWRITER:
- case HiveParser.KW_SEMI:
- case HiveParser.KW_TOUCH:
- case HiveParser.KW_ARCHIVE:
- case HiveParser.KW_UNARCHIVE:
- case HiveParser.KW_COMPUTE:
- case HiveParser.KW_STATISTICS:
- case HiveParser.KW_USE:
- case HiveParser.KW_OPTION:
- case HiveParser.KW_CONCATENATE:
- case HiveParser.KW_CATALOG:
- case HiveParser.KW_SHOW_DATABASE:
- case HiveParser.KW_RESTRICT:
- case HiveParser.KW_CASCADE:
- case HiveParser.KW_SKEWED:
- case HiveParser.KW_DIRECTORIES:
- case HiveParser.KW_CURRENT_DATE:
- case HiveParser.KW_CURRENT_TIMESTAMP:
- case HiveParser.KW_GROUPING:
- case HiveParser.KW_SETS:
- case HiveParser.KW_NOSCAN:
- case HiveParser.KW_ROLE:
- case HiveParser.KW_ROLES:
- case HiveParser.KW_URI:
- case HiveParser.KW_SERVER:
- case HiveParser.KW_ADMIN:
- case HiveParser.KW_OWNER:
- case HiveParser.KW_PRINCIPALS:
- case HiveParser.KW_COMPACT:
- case HiveParser.KW_COMPACTIONS:
- case HiveParser.KW_TRANSACTIONS:
- case HiveParser.KW_REWRITE:
- case HiveParser.KW_REOPTIMIZATION:
- case HiveParser.KW_RELOAD:
- case HiveParser.KW_YEAR:
- case HiveParser.KW_QUERY:
- case HiveParser.KW_QUARTER:
- case HiveParser.KW_MONTH:
- case HiveParser.KW_WEEK:
- case HiveParser.KW_DAY:
- case HiveParser.KW_DOW:
- case HiveParser.KW_HOUR:
- case HiveParser.KW_MINUTE:
- case HiveParser.KW_SECOND:
- case HiveParser.KW_TRANSACTION:
- case HiveParser.KW_WORK:
- case HiveParser.KW_WRITE:
- case HiveParser.KW_ISOLATION:
- case HiveParser.KW_LEVEL:
- case HiveParser.KW_SNAPSHOT:
- case HiveParser.KW_AUTOCOMMIT:
- case HiveParser.KW_CACHE:
- case HiveParser.KW_ENFORCED:
- case HiveParser.KW_VALIDATE:
- case HiveParser.KW_NOVALIDATE:
- case HiveParser.KW_RELY:
- case HiveParser.KW_NORELY:
- case HiveParser.KW_KEY:
- case HiveParser.KW_ABORT:
- case HiveParser.KW_MATCHED:
- case HiveParser.KW_REPL:
- case HiveParser.KW_DUMP:
- case HiveParser.KW_STATUS:
- case HiveParser.KW_VECTORIZATION:
- case HiveParser.KW_SUMMARY:
- case HiveParser.KW_OPERATOR:
- case HiveParser.KW_EXPRESSION:
- case HiveParser.KW_DETAIL:
- case HiveParser.KW_WAIT:
- case HiveParser.KW_RESOURCE:
- case HiveParser.KW_PLAN:
- case HiveParser.KW_QUERY_PARALLELISM:
- case HiveParser.KW_PLANS:
- case HiveParser.KW_ACTIVATE:
- case HiveParser.KW_DEFAULT:
- case HiveParser.KW_CHECK:
- case HiveParser.KW_POOL:
- case HiveParser.KW_MOVE:
- case HiveParser.KW_DO:
- case HiveParser.KW_ALLOC_FRACTION:
- case HiveParser.KW_SCHEDULING_POLICY:
- case HiveParser.KW_PATH:
- case HiveParser.KW_MAPPING:
- case HiveParser.KW_WORKLOAD:
- case HiveParser.KW_MANAGEMENT:
- case HiveParser.KW_ACTIVE:
- case HiveParser.KW_UNMANAGED:
- case HiveParser.KW_DELTA:
- case HiveParser.KW_CSV:
- case HiveParser.KW_JSON:
- case HiveParser.KW_BLOOMFILTER:
- case HiveParser.KW_STREAM:
- case HiveParser.LCURLY:
- case HiveParser.Identifier:
- this.enterOuterAlt(localctx, 1);
- this.state = 4742;
- this.identifier();
- break;
- case HiveParser.QuotedIdentifier:
- this.enterOuterAlt(localctx, 2);
- this.state = 4743;
- this.match(HiveParser.QuotedIdentifier);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- nonReserved() {
- let localctx = new NonReservedContext(this, this._ctx, this.state);
- this.enterRule(localctx, 852, HiveParser.RULE_nonReserved);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4746;
- _la = this._input.LA(1);
- if (
- !(
- ((_la & ~0x1f) == 0 &&
- ((1 << _la) &
- ((1 << HiveParser.KW_ASC) |
- (1 << HiveParser.KW_DESC) |
- (1 << HiveParser.KW_NULLS) |
- (1 << HiveParser.KW_LAST) |
- (1 << HiveParser.KW_OVERWRITE))) !==
- 0) ||
- (((_la - 37) & ~0x1f) == 0 &&
- ((1 << (_la - 37)) &
- ((1 << (HiveParser.KW_PARTITIONS - 37)) |
- (1 << (HiveParser.KW_TABLE - 37)) |
- (1 << (HiveParser.KW_TABLES - 37)) |
- (1 << (HiveParser.KW_COLUMNS - 37)) |
- (1 << (HiveParser.KW_INDEX - 37)) |
- (1 << (HiveParser.KW_INDEXES - 37)) |
- (1 << (HiveParser.KW_REBUILD - 37)) |
- (1 << (HiveParser.KW_FUNCTIONS - 37)) |
- (1 << (HiveParser.KW_SHOW - 37)) |
- (1 << (HiveParser.KW_MSCK - 37)) |
- (1 << (HiveParser.KW_REPAIR - 37)) |
- (1 << (HiveParser.KW_DIRECTORY - 37)) |
- (1 << (HiveParser.KW_CLUSTER - 37)) |
- (1 << (HiveParser.KW_DISTRIBUTE - 37)) |
- (1 << (HiveParser.KW_SORT - 37)) |
- (1 << (HiveParser.KW_LOAD - 37)) |
- (1 << (HiveParser.KW_EXPORT - 37)) |
- (1 << (HiveParser.KW_REPLICATION - 37)) |
- (1 << (HiveParser.KW_METADATA - 37)) |
- (1 << (HiveParser.KW_DATA - 37)) |
- (1 << (HiveParser.KW_INPATH - 37)))) !==
- 0) ||
- (((_la - 70) & ~0x1f) == 0 &&
- ((1 << (_la - 70)) &
- ((1 << (HiveParser.KW_CHANGE - 70)) |
- (1 << (HiveParser.KW_FIRST - 70)) |
- (1 << (HiveParser.KW_AFTER - 70)) |
- (1 << (HiveParser.KW_RENAME - 70)) |
- (1 << (HiveParser.KW_COMMENT - 70)) |
- (1 << (HiveParser.KW_TINYINT - 70)) |
- (1 << (HiveParser.KW_DATETIME - 70)) |
- (1 << (HiveParser.KW_ZONE - 70)) |
- (1 << (HiveParser.KW_STRING - 70)) |
- (1 << (HiveParser.KW_STRUCT - 70)))) !==
- 0) ||
- (((_la - 104) & ~0x1f) == 0 &&
- ((1 << (_la - 104)) &
- ((1 << (HiveParser.KW_UNIONTYPE - 104)) |
- (1 << (HiveParser.KW_PARTITIONED - 104)) |
- (1 << (HiveParser.KW_CLUSTERED - 104)) |
- (1 << (HiveParser.KW_SORTED - 104)) |
- (1 << (HiveParser.KW_BUCKETS - 104)) |
- (1 << (HiveParser.KW_FORMAT - 104)) |
- (1 << (HiveParser.KW_DELIMITED - 104)) |
- (1 << (HiveParser.KW_FIELDS - 104)) |
- (1 << (HiveParser.KW_TERMINATED - 104)) |
- (1 << (HiveParser.KW_ESCAPED - 104)) |
- (1 << (HiveParser.KW_COLLECTION - 104)) |
- (1 << (HiveParser.KW_ITEMS - 104)) |
- (1 << (HiveParser.KW_KEYS - 104)) |
- (1 << (HiveParser.KW_KEY_TYPE - 104)) |
- (1 << (HiveParser.KW_KILL - 104)) |
- (1 << (HiveParser.KW_LINES - 104)) |
- (1 << (HiveParser.KW_STORED - 104)) |
- (1 << (HiveParser.KW_FILEFORMAT - 104)) |
- (1 << (HiveParser.KW_INPUTFORMAT - 104)) |
- (1 << (HiveParser.KW_OUTPUTFORMAT - 104)) |
- (1 << (HiveParser.KW_INPUTDRIVER - 104)) |
- (1 << (HiveParser.KW_OUTPUTDRIVER - 104)) |
- (1 << (HiveParser.KW_ENABLE - 104)) |
- (1 << (HiveParser.KW_DISABLE - 104)) |
- (1 << (HiveParser.KW_LOCATION - 104)) |
- (1 << (HiveParser.KW_BUCKET - 104)))) !==
- 0) ||
- (((_la - 139) & ~0x1f) == 0 &&
- ((1 << (_la - 139)) &
- ((1 << (HiveParser.KW_ADD - 139)) |
- (1 << (HiveParser.KW_REPLACE - 139)) |
- (1 << (HiveParser.KW_TEMPORARY - 139)) |
- (1 << (HiveParser.KW_FILE - 139)) |
- (1 << (HiveParser.KW_JAR - 139)) |
- (1 << (HiveParser.KW_EXPLAIN - 139)) |
- (1 << (HiveParser.KW_FORMATTED - 139)) |
- (1 << (HiveParser.KW_DEPENDENCY - 139)) |
- (1 << (HiveParser.KW_LOGICAL - 139)) |
- (1 << (HiveParser.KW_SERDE - 139)) |
- (1 << (HiveParser.KW_DEFERRED - 139)) |
- (1 << (HiveParser.KW_SERDEPROPERTIES - 139)) |
- (1 << (HiveParser.KW_DBPROPERTIES - 139)) |
- (1 << (HiveParser.KW_LIMIT - 139)) |
- (1 << (HiveParser.KW_OFFSET - 139)) |
- (1 << (HiveParser.KW_UNSET - 139)) |
- (1 << (HiveParser.KW_TBLPROPERTIES - 139)) |
- (1 << (HiveParser.KW_IDXPROPERTIES - 139)) |
- (1 << (HiveParser.KW_VALUE_TYPE - 139)) |
- (1 << (HiveParser.KW_ELEM_TYPE - 139)) |
- (1 << (HiveParser.KW_DEFINED - 139)))) !==
- 0) ||
- (((_la - 172) & ~0x1f) == 0 &&
- ((1 << (_la - 172)) &
- ((1 << (HiveParser.KW_MAPJOIN - 172)) |
- (1 << (HiveParser.KW_STREAMTABLE - 172)) |
- (1 << (HiveParser.KW_CLUSTERSTATUS - 172)) |
- (1 << (HiveParser.KW_UTC - 172)) |
- (1 << (HiveParser.KW_UTCTIMESTAMP - 172)) |
- (1 << (HiveParser.KW_LONG - 172)) |
- (1 << (HiveParser.KW_PLUS - 172)) |
- (1 << (HiveParser.KW_VIEW - 172)) |
- (1 << (HiveParser.KW_VIEWS - 172)) |
- (1 << (HiveParser.KW_DATABASES - 172)) |
- (1 << (HiveParser.KW_MATERIALIZED - 172)) |
- (1 << (HiveParser.KW_SCHEMA - 172)) |
- (1 << (HiveParser.KW_SCHEMAS - 172)) |
- (1 << (HiveParser.KW_SSL - 172)) |
- (1 << (HiveParser.KW_UNDO - 172)) |
- (1 << (HiveParser.KW_LOCK - 172)) |
- (1 << (HiveParser.KW_LOCKS - 172)) |
- (1 << (HiveParser.KW_UNLOCK - 172)) |
- (1 << (HiveParser.KW_SHARED - 172)) |
- (1 << (HiveParser.KW_EXCLUSIVE - 172)) |
- (1 << (HiveParser.KW_UNSIGNED - 172)) |
- (1 << (HiveParser.KW_WHILE - 172)) |
- (1 << (HiveParser.KW_READ - 172)))) !==
- 0) ||
- (((_la - 205) & ~0x1f) == 0 &&
- ((1 << (_la - 205)) &
- ((1 << (HiveParser.KW_PURGE - 205)) |
- (1 << (HiveParser.KW_ANALYZE - 205)) |
- (1 << (HiveParser.KW_BEFORE - 205)) |
- (1 << (HiveParser.KW_CONTINUE - 205)) |
- (1 << (HiveParser.KW_RECORDREADER - 205)) |
- (1 << (HiveParser.KW_RECORDWRITER - 205)) |
- (1 << (HiveParser.KW_SEMI - 205)) |
- (1 << (HiveParser.KW_TOUCH - 205)) |
- (1 << (HiveParser.KW_ARCHIVE - 205)) |
- (1 << (HiveParser.KW_UNARCHIVE - 205)) |
- (1 << (HiveParser.KW_COMPUTE - 205)) |
- (1 << (HiveParser.KW_STATISTICS - 205)) |
- (1 << (HiveParser.KW_USE - 205)) |
- (1 << (HiveParser.KW_OPTION - 205)) |
- (1 << (HiveParser.KW_CONCATENATE - 205)) |
- (1 << (HiveParser.KW_CATALOG - 205)) |
- (1 << (HiveParser.KW_SHOW_DATABASE - 205)) |
- (1 << (HiveParser.KW_RESTRICT - 205)) |
- (1 << (HiveParser.KW_CASCADE - 205)) |
- (1 << (HiveParser.KW_SKEWED - 205)))) !==
- 0) ||
- (((_la - 237) & ~0x1f) == 0 &&
- ((1 << (_la - 237)) &
- ((1 << (HiveParser.KW_DIRECTORIES - 237)) |
- (1 << (HiveParser.KW_SETS - 237)) |
- (1 << (HiveParser.KW_NOSCAN - 237)) |
- (1 << (HiveParser.KW_ROLE - 237)) |
- (1 << (HiveParser.KW_ROLES - 237)) |
- (1 << (HiveParser.KW_URI - 237)) |
- (1 << (HiveParser.KW_SERVER - 237)) |
- (1 << (HiveParser.KW_ADMIN - 237)) |
- (1 << (HiveParser.KW_OWNER - 237)) |
- (1 << (HiveParser.KW_PRINCIPALS - 237)) |
- (1 << (HiveParser.KW_COMPACT - 237)) |
- (1 << (HiveParser.KW_COMPACTIONS - 237)) |
- (1 << (HiveParser.KW_TRANSACTIONS - 237)) |
- (1 << (HiveParser.KW_REWRITE - 237)) |
- (1 << (HiveParser.KW_REOPTIMIZATION - 237)))) !==
- 0) ||
- (((_la - 271) & ~0x1f) == 0 &&
- ((1 << (_la - 271)) &
- ((1 << (HiveParser.KW_RELOAD - 271)) |
- (1 << (HiveParser.KW_YEAR - 271)) |
- (1 << (HiveParser.KW_QUERY - 271)) |
- (1 << (HiveParser.KW_QUARTER - 271)) |
- (1 << (HiveParser.KW_MONTH - 271)) |
- (1 << (HiveParser.KW_WEEK - 271)) |
- (1 << (HiveParser.KW_DAY - 271)) |
- (1 << (HiveParser.KW_DOW - 271)) |
- (1 << (HiveParser.KW_HOUR - 271)) |
- (1 << (HiveParser.KW_MINUTE - 271)) |
- (1 << (HiveParser.KW_SECOND - 271)) |
- (1 << (HiveParser.KW_TRANSACTION - 271)) |
- (1 << (HiveParser.KW_WORK - 271)) |
- (1 << (HiveParser.KW_WRITE - 271)) |
- (1 << (HiveParser.KW_ISOLATION - 271)) |
- (1 << (HiveParser.KW_LEVEL - 271)) |
- (1 << (HiveParser.KW_SNAPSHOT - 271)) |
- (1 << (HiveParser.KW_AUTOCOMMIT - 271)) |
- (1 << (HiveParser.KW_CACHE - 271)) |
- (1 << (HiveParser.KW_ENFORCED - 271)) |
- (1 << (HiveParser.KW_VALIDATE - 271)) |
- (1 << (HiveParser.KW_NOVALIDATE - 271)) |
- (1 << (HiveParser.KW_RELY - 271)) |
- (1 << (HiveParser.KW_NORELY - 271)))) !==
- 0) ||
- (((_la - 304) & ~0x1f) == 0 &&
- ((1 << (_la - 304)) &
- ((1 << (HiveParser.KW_KEY - 304)) |
- (1 << (HiveParser.KW_ABORT - 304)) |
- (1 << (HiveParser.KW_MATCHED - 304)) |
- (1 << (HiveParser.KW_REPL - 304)) |
- (1 << (HiveParser.KW_DUMP - 304)) |
- (1 << (HiveParser.KW_STATUS - 304)) |
- (1 << (HiveParser.KW_VECTORIZATION - 304)) |
- (1 << (HiveParser.KW_SUMMARY - 304)) |
- (1 << (HiveParser.KW_OPERATOR - 304)) |
- (1 << (HiveParser.KW_EXPRESSION - 304)) |
- (1 << (HiveParser.KW_DETAIL - 304)) |
- (1 << (HiveParser.KW_WAIT - 304)) |
- (1 << (HiveParser.KW_RESOURCE - 304)) |
- (1 << (HiveParser.KW_PLAN - 304)) |
- (1 << (HiveParser.KW_QUERY_PARALLELISM - 304)) |
- (1 << (HiveParser.KW_PLANS - 304)) |
- (1 << (HiveParser.KW_ACTIVATE - 304)) |
- (1 << (HiveParser.KW_DEFAULT - 304)) |
- (1 << (HiveParser.KW_CHECK - 304)) |
- (1 << (HiveParser.KW_POOL - 304)) |
- (1 << (HiveParser.KW_MOVE - 304)) |
- (1 << (HiveParser.KW_DO - 304)) |
- (1 << (HiveParser.KW_ALLOC_FRACTION - 304)) |
- (1 << (HiveParser.KW_SCHEDULING_POLICY - 304)) |
- (1 << (HiveParser.KW_PATH - 304)) |
- (1 << (HiveParser.KW_MAPPING - 304)) |
- (1 << (HiveParser.KW_WORKLOAD - 304)) |
- (1 << (HiveParser.KW_MANAGEMENT - 304)) |
- (1 << (HiveParser.KW_ACTIVE - 304)))) !==
- 0) ||
- (((_la - 337) & ~0x1f) == 0 &&
- ((1 << (_la - 337)) &
- ((1 << (HiveParser.KW_UNMANAGED - 337)) |
- (1 << (HiveParser.KW_DELTA - 337)) |
- (1 << (HiveParser.KW_CSV - 337)) |
- (1 << (HiveParser.KW_JSON - 337)) |
- (1 << (HiveParser.KW_BLOOMFILTER - 337)) |
- (1 << (HiveParser.KW_STREAM - 337)))) !==
- 0)
- )
- ) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- sql11ReservedKeywordsUsedAsFunctionName() {
- let localctx = new Sql11ReservedKeywordsUsedAsFunctionNameContext(this, this._ctx, this.state);
- this.enterRule(localctx, 854, HiveParser.RULE_sql11ReservedKeywordsUsedAsFunctionName);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4748;
- _la = this._input.LA(1);
- if (
- !(
- _la === HiveParser.KW_IF ||
- (((_la - 79) & ~0x1f) == 0 &&
- ((1 << (_la - 79)) &
- ((1 << (HiveParser.KW_BOOLEAN - 79)) |
- (1 << (HiveParser.KW_SMALLINT - 79)) |
- (1 << (HiveParser.KW_INT - 79)) |
- (1 << (HiveParser.KW_BIGINT - 79)) |
- (1 << (HiveParser.KW_FLOAT - 79)) |
- (1 << (HiveParser.KW_DOUBLE - 79)) |
- (1 << (HiveParser.KW_DATE - 79)) |
- (1 << (HiveParser.KW_TIMESTAMP - 79)) |
- (1 << (HiveParser.KW_ARRAY - 79)) |
- (1 << (HiveParser.KW_MAP - 79)))) !==
- 0) ||
- _la === HiveParser.KW_BINARY ||
- (((_la - 244) & ~0x1f) == 0 &&
- ((1 << (_la - 244)) &
- ((1 << (HiveParser.KW_CURRENT_DATE - 244)) |
- (1 << (HiveParser.KW_CURRENT_TIMESTAMP - 244)) |
- (1 << (HiveParser.KW_GROUPING - 244)))) !==
- 0)
- )
- ) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- databricksAllowedReservedNames() {
- let localctx = new DatabricksAllowedReservedNamesContext(this, this._ctx, this.state);
- this.enterRule(localctx, 856, HiveParser.RULE_databricksAllowedReservedNames);
- try {
- this.state = 4752;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_IF:
- case HiveParser.KW_BOOLEAN:
- case HiveParser.KW_SMALLINT:
- case HiveParser.KW_INT:
- case HiveParser.KW_BIGINT:
- case HiveParser.KW_FLOAT:
- case HiveParser.KW_DOUBLE:
- case HiveParser.KW_DATE:
- case HiveParser.KW_TIMESTAMP:
- case HiveParser.KW_ARRAY:
- case HiveParser.KW_MAP:
- case HiveParser.KW_BINARY:
- case HiveParser.KW_CURRENT_DATE:
- case HiveParser.KW_CURRENT_TIMESTAMP:
- case HiveParser.KW_GROUPING:
- this.enterOuterAlt(localctx, 1);
- this.state = 4750;
- this.sql11ReservedKeywordsUsedAsFunctionName();
- break;
- case HiveParser.KW_TIME:
- this.enterOuterAlt(localctx, 2);
- this.state = 4751;
- this.match(HiveParser.KW_TIME);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- resourcePlanDdlStatements() {
- let localctx = new ResourcePlanDdlStatementsContext(this, this._ctx, this.state);
- this.enterRule(localctx, 858, HiveParser.RULE_resourcePlanDdlStatements);
- try {
- this.state = 4768;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 555, this._ctx);
- switch (la_) {
- case 1:
- this.enterOuterAlt(localctx, 1);
- this.state = 4754;
- this.createResourcePlanStatement();
- break;
-
- case 2:
- this.enterOuterAlt(localctx, 2);
- this.state = 4755;
- this.alterResourcePlanStatement();
- break;
-
- case 3:
- this.enterOuterAlt(localctx, 3);
- this.state = 4756;
- this.dropResourcePlanStatement();
- break;
-
- case 4:
- this.enterOuterAlt(localctx, 4);
- this.state = 4757;
- this.globalWmStatement();
- break;
-
- case 5:
- this.enterOuterAlt(localctx, 5);
- this.state = 4758;
- this.replaceResourcePlanStatement();
- break;
-
- case 6:
- this.enterOuterAlt(localctx, 6);
- this.state = 4759;
- this.createTriggerStatement();
- break;
-
- case 7:
- this.enterOuterAlt(localctx, 7);
- this.state = 4760;
- this.alterTriggerStatement();
- break;
-
- case 8:
- this.enterOuterAlt(localctx, 8);
- this.state = 4761;
- this.dropTriggerStatement();
- break;
-
- case 9:
- this.enterOuterAlt(localctx, 9);
- this.state = 4762;
- this.createPoolStatement();
- break;
-
- case 10:
- this.enterOuterAlt(localctx, 10);
- this.state = 4763;
- this.alterPoolStatement();
- break;
-
- case 11:
- this.enterOuterAlt(localctx, 11);
- this.state = 4764;
- this.dropPoolStatement();
- break;
-
- case 12:
- this.enterOuterAlt(localctx, 12);
- this.state = 4765;
- this.createMappingStatement();
- break;
-
- case 13:
- this.enterOuterAlt(localctx, 13);
- this.state = 4766;
- this.alterMappingStatement();
- break;
-
- case 14:
- this.enterOuterAlt(localctx, 14);
- this.state = 4767;
- this.dropMappingStatement();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- rpAssign() {
- let localctx = new RpAssignContext(this, this._ctx, this.state);
- this.enterRule(localctx, 860, HiveParser.RULE_rpAssign);
- try {
- this.state = 4777;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_QUERY_PARALLELISM:
- this.enterOuterAlt(localctx, 1);
- this.state = 4770;
- this.match(HiveParser.KW_QUERY_PARALLELISM);
- this.state = 4771;
- this.match(HiveParser.EQUAL);
- this.state = 4772;
- this.match(HiveParser.Number);
- break;
- case HiveParser.KW_DEFAULT:
- this.enterOuterAlt(localctx, 2);
- this.state = 4773;
- this.match(HiveParser.KW_DEFAULT);
- this.state = 4774;
- this.match(HiveParser.KW_POOL);
- this.state = 4775;
- this.match(HiveParser.EQUAL);
- this.state = 4776;
- this.poolPath();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- rpAssignList() {
- let localctx = new RpAssignListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 862, HiveParser.RULE_rpAssignList);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4779;
- this.rpAssign();
- this.state = 4784;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 4780;
- this.match(HiveParser.COMMA);
- this.state = 4781;
- this.rpAssign();
- this.state = 4786;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- rpUnassign() {
- let localctx = new RpUnassignContext(this, this._ctx, this.state);
- this.enterRule(localctx, 864, HiveParser.RULE_rpUnassign);
- try {
- this.state = 4790;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_QUERY_PARALLELISM:
- this.enterOuterAlt(localctx, 1);
- this.state = 4787;
- this.match(HiveParser.KW_QUERY_PARALLELISM);
- break;
- case HiveParser.KW_DEFAULT:
- this.enterOuterAlt(localctx, 2);
- this.state = 4788;
- this.match(HiveParser.KW_DEFAULT);
- this.state = 4789;
- this.match(HiveParser.KW_POOL);
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- rpUnassignList() {
- let localctx = new RpUnassignListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 866, HiveParser.RULE_rpUnassignList);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4792;
- this.rpUnassign();
- this.state = 4797;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 4793;
- this.match(HiveParser.COMMA);
- this.state = 4794;
- this.rpUnassign();
- this.state = 4799;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- createResourcePlanStatement() {
- let localctx = new CreateResourcePlanStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 868, HiveParser.RULE_createResourcePlanStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4800;
- this.match(HiveParser.KW_CREATE);
- this.state = 4801;
- this.match(HiveParser.KW_RESOURCE);
- this.state = 4802;
- this.match(HiveParser.KW_PLAN);
- this.state = 4805;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 560, this._ctx);
- switch (la_) {
- case 1:
- this.state = 4803;
- this.createResourcePlanStatementLikeExisting();
- break;
-
- case 2:
- this.state = 4804;
- this.createNewResourcePlanStatement();
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- createResourcePlanStatementLikeExisting() {
- let localctx = new CreateResourcePlanStatementLikeExistingContext(this, this._ctx, this.state);
- this.enterRule(localctx, 870, HiveParser.RULE_createResourcePlanStatementLikeExisting);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4807;
- this.identifier();
- this.state = 4808;
- this.match(HiveParser.KW_LIKE);
- this.state = 4809;
- this.identifier();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- createNewResourcePlanStatement() {
- let localctx = new CreateNewResourcePlanStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 872, HiveParser.RULE_createNewResourcePlanStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4811;
- this.identifier();
- this.state = 4814;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 561, this._ctx);
- if (la_ === 1) {
- this.state = 4812;
- this.match(HiveParser.KW_WITH);
- this.state = 4813;
- this.rpAssignList();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- withReplace() {
- let localctx = new WithReplaceContext(this, this._ctx, this.state);
- this.enterRule(localctx, 874, HiveParser.RULE_withReplace);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4816;
- this.match(HiveParser.KW_WITH);
- this.state = 4817;
- this.match(HiveParser.KW_REPLACE);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- activate() {
- let localctx = new ActivateContext(this, this._ctx, this.state);
- this.enterRule(localctx, 876, HiveParser.RULE_activate);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4819;
- this.match(HiveParser.KW_ACTIVATE);
- this.state = 4821;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 562, this._ctx);
- if (la_ === 1) {
- this.state = 4820;
- this.withReplace();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- enable() {
- let localctx = new EnableContext(this, this._ctx, this.state);
- this.enterRule(localctx, 878, HiveParser.RULE_enable);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4823;
- this.match(HiveParser.KW_ENABLE);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- disable() {
- let localctx = new DisableContext(this, this._ctx, this.state);
- this.enterRule(localctx, 880, HiveParser.RULE_disable);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4825;
- this.match(HiveParser.KW_DISABLE);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- unmanaged() {
- let localctx = new UnmanagedContext(this, this._ctx, this.state);
- this.enterRule(localctx, 882, HiveParser.RULE_unmanaged);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4827;
- this.match(HiveParser.KW_UNMANAGED);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterResourcePlanStatement() {
- let localctx = new AlterResourcePlanStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 884, HiveParser.RULE_alterResourcePlanStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4829;
- this.match(HiveParser.KW_ALTER);
- this.state = 4830;
- this.match(HiveParser.KW_RESOURCE);
- this.state = 4831;
- this.match(HiveParser.KW_PLAN);
- this.state = 4832;
- this.identifier();
- this.state = 4850;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_VALIDATE:
- this.state = 4833;
- this.match(HiveParser.KW_VALIDATE);
- break;
- case HiveParser.KW_DISABLE:
- this.state = 4834;
- this.match(HiveParser.KW_DISABLE);
- break;
- case HiveParser.KW_SET:
- this.state = 4835;
- this.match(HiveParser.KW_SET);
- this.state = 4836;
- this.rpAssignList();
- break;
- case HiveParser.KW_UNSET:
- this.state = 4837;
- this.match(HiveParser.KW_UNSET);
- this.state = 4838;
- this.rpUnassignList();
- break;
- case HiveParser.KW_RENAME:
- this.state = 4839;
- this.alterResourcePlanRenameSuffix();
- break;
- case HiveParser.KW_ENABLE:
- case HiveParser.KW_ACTIVATE:
- this.state = 4848;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_ACTIVATE:
- this.state = 4840;
- this.activate();
- this.state = 4842;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 563, this._ctx);
- if (la_ === 1) {
- this.state = 4841;
- this.enable();
- }
- break;
- case HiveParser.KW_ENABLE:
- this.state = 4844;
- this.enable();
- this.state = 4846;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- if (_la === HiveParser.KW_ACTIVATE) {
- this.state = 4845;
- this.activate();
- }
-
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterResourcePlanRenameSuffix() {
- let localctx = new AlterResourcePlanRenameSuffixContext(this, this._ctx, this.state);
- this.enterRule(localctx, 886, HiveParser.RULE_alterResourcePlanRenameSuffix);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4852;
- this.match(HiveParser.KW_RENAME);
- this.state = 4853;
- this.match(HiveParser.KW_TO);
- this.state = 4854;
- this.identifier();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- globalWmStatement() {
- let localctx = new GlobalWmStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 888, HiveParser.RULE_globalWmStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4858;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_ENABLE:
- this.state = 4856;
- this.enable();
- break;
- case HiveParser.KW_DISABLE:
- this.state = 4857;
- this.disable();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- this.state = 4860;
- this.match(HiveParser.KW_WORKLOAD);
- this.state = 4861;
- this.match(HiveParser.KW_MANAGEMENT);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- replaceResourcePlanStatement() {
- let localctx = new ReplaceResourcePlanStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 890, HiveParser.RULE_replaceResourcePlanStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4863;
- this.match(HiveParser.KW_REPLACE);
- this.state = 4875;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_ACTIVE:
- this.state = 4864;
- this.match(HiveParser.KW_ACTIVE);
- this.state = 4865;
- this.match(HiveParser.KW_RESOURCE);
- this.state = 4866;
- this.match(HiveParser.KW_PLAN);
- this.state = 4867;
- this.match(HiveParser.KW_WITH);
- this.state = 4868;
- this.identifier();
- break;
- case HiveParser.KW_RESOURCE:
- this.state = 4869;
- this.match(HiveParser.KW_RESOURCE);
- this.state = 4870;
- this.match(HiveParser.KW_PLAN);
- this.state = 4871;
- this.identifier();
- this.state = 4872;
- this.match(HiveParser.KW_WITH);
- this.state = 4873;
- this.identifier();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dropResourcePlanStatement() {
- let localctx = new DropResourcePlanStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 892, HiveParser.RULE_dropResourcePlanStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4877;
- this.match(HiveParser.KW_DROP);
- this.state = 4878;
- this.match(HiveParser.KW_RESOURCE);
- this.state = 4879;
- this.match(HiveParser.KW_PLAN);
- this.state = 4880;
- this.identifier();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- poolPath() {
- let localctx = new PoolPathContext(this, this._ctx, this.state);
- this.enterRule(localctx, 894, HiveParser.RULE_poolPath);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4882;
- this.identifier();
- this.state = 4887;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.DOT) {
- this.state = 4883;
- this.match(HiveParser.DOT);
- this.state = 4884;
- this.identifier();
- this.state = 4889;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- triggerExpression() {
- let localctx = new TriggerExpressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 896, HiveParser.RULE_triggerExpression);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4890;
- this.triggerAtomExpression();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- triggerExpressionStandalone() {
- let localctx = new TriggerExpressionStandaloneContext(this, this._ctx, this.state);
- this.enterRule(localctx, 898, HiveParser.RULE_triggerExpressionStandalone);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4892;
- this.triggerExpression();
- this.state = 4893;
- this.match(HiveParser.EOF);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- triggerOrExpression() {
- let localctx = new TriggerOrExpressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 900, HiveParser.RULE_triggerOrExpression);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4895;
- this.triggerAndExpression();
- this.state = 4900;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.KW_OR) {
- this.state = 4896;
- this.match(HiveParser.KW_OR);
- this.state = 4897;
- this.triggerAndExpression();
- this.state = 4902;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- triggerAndExpression() {
- let localctx = new TriggerAndExpressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 902, HiveParser.RULE_triggerAndExpression);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4903;
- this.triggerAtomExpression();
- this.state = 4908;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.KW_AND) {
- this.state = 4904;
- this.match(HiveParser.KW_AND);
- this.state = 4905;
- this.triggerAtomExpression();
- this.state = 4910;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- triggerAtomExpression() {
- let localctx = new TriggerAtomExpressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 904, HiveParser.RULE_triggerAtomExpression);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4911;
- this.identifier();
- this.state = 4912;
- this.comparisionOperator();
- this.state = 4913;
- this.triggerLiteral();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- triggerLiteral() {
- let localctx = new TriggerLiteralContext(this, this._ctx, this.state);
- this.enterRule(localctx, 906, HiveParser.RULE_triggerLiteral);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4915;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.StringLiteral || _la === HiveParser.Number)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- comparisionOperator() {
- let localctx = new ComparisionOperatorContext(this, this._ctx, this.state);
- this.enterRule(localctx, 908, HiveParser.RULE_comparisionOperator);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4917;
- this.match(HiveParser.GREATERTHAN);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- triggerActionExpression() {
- let localctx = new TriggerActionExpressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 910, HiveParser.RULE_triggerActionExpression);
- try {
- this.state = 4923;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_KILL:
- this.enterOuterAlt(localctx, 1);
- this.state = 4919;
- this.match(HiveParser.KW_KILL);
- break;
- case HiveParser.KW_MOVE:
- this.enterOuterAlt(localctx, 2);
- this.state = 4920;
- this.match(HiveParser.KW_MOVE);
- this.state = 4921;
- this.match(HiveParser.KW_TO);
- this.state = 4922;
- this.poolPath();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- triggerActionExpressionStandalone() {
- let localctx = new TriggerActionExpressionStandaloneContext(this, this._ctx, this.state);
- this.enterRule(localctx, 912, HiveParser.RULE_triggerActionExpressionStandalone);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4925;
- this.triggerActionExpression();
- this.state = 4926;
- this.match(HiveParser.EOF);
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- createTriggerStatement() {
- let localctx = new CreateTriggerStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 914, HiveParser.RULE_createTriggerStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4928;
- this.match(HiveParser.KW_CREATE);
- this.state = 4929;
- this.match(HiveParser.KW_TRIGGER);
- this.state = 4930;
- this.identifier();
- this.state = 4931;
- this.match(HiveParser.DOT);
- this.state = 4932;
- this.identifier();
- this.state = 4933;
- this.triggerConditionExpression();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterTriggerStatement() {
- let localctx = new AlterTriggerStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 916, HiveParser.RULE_alterTriggerStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4935;
- this.match(HiveParser.KW_ALTER);
- this.state = 4936;
- this.match(HiveParser.KW_TRIGGER);
- this.state = 4937;
- this.identifier();
- this.state = 4938;
- this.match(HiveParser.DOT);
- this.state = 4939;
- this.identifier();
- this.state = 4955;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 573, this._ctx);
- switch (la_) {
- case 1:
- this.state = 4940;
- this.triggerConditionExpression();
- break;
-
- case 2:
- this.state = 4941;
- this.match(HiveParser.KW_ADD);
- this.state = 4942;
- this.match(HiveParser.KW_TO);
- this.state = 4943;
- this.match(HiveParser.KW_POOL);
- this.state = 4944;
- this.poolPath();
- break;
-
- case 3:
- this.state = 4945;
- this.match(HiveParser.KW_DROP);
- this.state = 4946;
- this.match(HiveParser.KW_FROM);
- this.state = 4947;
- this.match(HiveParser.KW_POOL);
- this.state = 4948;
- this.poolPath();
- break;
-
- case 4:
- this.state = 4949;
- this.match(HiveParser.KW_ADD);
- this.state = 4950;
- this.match(HiveParser.KW_TO);
- this.state = 4951;
- this.match(HiveParser.KW_UNMANAGED);
- break;
-
- case 5:
- this.state = 4952;
- this.match(HiveParser.KW_DROP);
- this.state = 4953;
- this.match(HiveParser.KW_FROM);
- this.state = 4954;
- this.match(HiveParser.KW_UNMANAGED);
- break;
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- triggerConditionExpression() {
- let localctx = new TriggerConditionExpressionContext(this, this._ctx, this.state);
- this.enterRule(localctx, 918, HiveParser.RULE_triggerConditionExpression);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4957;
- this.match(HiveParser.KW_WHEN);
- this.state = 4958;
- this.triggerExpression();
- this.state = 4959;
- this.match(HiveParser.KW_DO);
- this.state = 4960;
- this.triggerActionExpression();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dropTriggerStatement() {
- let localctx = new DropTriggerStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 920, HiveParser.RULE_dropTriggerStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4962;
- this.match(HiveParser.KW_DROP);
- this.state = 4963;
- this.match(HiveParser.KW_TRIGGER);
- this.state = 4964;
- this.identifier();
- this.state = 4965;
- this.match(HiveParser.DOT);
- this.state = 4966;
- this.identifier();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- poolAssign() {
- let localctx = new PoolAssignContext(this, this._ctx, this.state);
- this.enterRule(localctx, 922, HiveParser.RULE_poolAssign);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4980;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_ALLOC_FRACTION:
- this.state = 4968;
- this.match(HiveParser.KW_ALLOC_FRACTION);
- this.state = 4969;
- this.match(HiveParser.EQUAL);
- this.state = 4970;
- this.match(HiveParser.Number);
- break;
- case HiveParser.KW_QUERY_PARALLELISM:
- this.state = 4971;
- this.match(HiveParser.KW_QUERY_PARALLELISM);
- this.state = 4972;
- this.match(HiveParser.EQUAL);
- this.state = 4973;
- this.match(HiveParser.Number);
- break;
- case HiveParser.KW_SCHEDULING_POLICY:
- this.state = 4974;
- this.match(HiveParser.KW_SCHEDULING_POLICY);
- this.state = 4975;
- this.match(HiveParser.EQUAL);
- this.state = 4976;
- this.match(HiveParser.StringLiteral);
- break;
- case HiveParser.KW_PATH:
- this.state = 4977;
- this.match(HiveParser.KW_PATH);
- this.state = 4978;
- this.match(HiveParser.EQUAL);
- this.state = 4979;
- this.poolPath();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- poolAssignList() {
- let localctx = new PoolAssignListContext(this, this._ctx, this.state);
- this.enterRule(localctx, 924, HiveParser.RULE_poolAssignList);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4982;
- this.poolAssign();
- this.state = 4987;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- while (_la === HiveParser.COMMA) {
- this.state = 4983;
- this.match(HiveParser.COMMA);
- this.state = 4984;
- this.poolAssign();
- this.state = 4989;
- this._errHandler.sync(this);
- _la = this._input.LA(1);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- createPoolStatement() {
- let localctx = new CreatePoolStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 926, HiveParser.RULE_createPoolStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4990;
- this.match(HiveParser.KW_CREATE);
- this.state = 4991;
- this.match(HiveParser.KW_POOL);
- this.state = 4992;
- this.identifier();
- this.state = 4993;
- this.match(HiveParser.DOT);
- this.state = 4994;
- this.poolPath();
- this.state = 4995;
- this.match(HiveParser.KW_WITH);
- this.state = 4996;
- this.poolAssignList();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterPoolStatement() {
- let localctx = new AlterPoolStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 928, HiveParser.RULE_alterPoolStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 4998;
- this.match(HiveParser.KW_ALTER);
- this.state = 4999;
- this.match(HiveParser.KW_POOL);
- this.state = 5000;
- this.identifier();
- this.state = 5001;
- this.match(HiveParser.DOT);
- this.state = 5002;
- this.poolPath();
- this.state = 5013;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_SET:
- this.state = 5003;
- this.match(HiveParser.KW_SET);
- this.state = 5004;
- this.poolAssignList();
- break;
- case HiveParser.KW_UNSET:
- this.state = 5005;
- this.match(HiveParser.KW_UNSET);
- this.state = 5006;
- this.match(HiveParser.KW_SCHEDULING_POLICY);
- break;
- case HiveParser.KW_ADD:
- this.state = 5007;
- this.match(HiveParser.KW_ADD);
- this.state = 5008;
- this.match(HiveParser.KW_TRIGGER);
- this.state = 5009;
- this.identifier();
- break;
- case HiveParser.KW_DROP:
- this.state = 5010;
- this.match(HiveParser.KW_DROP);
- this.state = 5011;
- this.match(HiveParser.KW_TRIGGER);
- this.state = 5012;
- this.identifier();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dropPoolStatement() {
- let localctx = new DropPoolStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 930, HiveParser.RULE_dropPoolStatement);
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 5015;
- this.match(HiveParser.KW_DROP);
- this.state = 5016;
- this.match(HiveParser.KW_POOL);
- this.state = 5017;
- this.identifier();
- this.state = 5018;
- this.match(HiveParser.DOT);
- this.state = 5019;
- this.poolPath();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- createMappingStatement() {
- let localctx = new CreateMappingStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 932, HiveParser.RULE_createMappingStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 5021;
- this.match(HiveParser.KW_CREATE);
- this.state = 5022;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_GROUP || _la === HiveParser.KW_USER || _la === HiveParser.KW_APPLICATION)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 5023;
- this.match(HiveParser.KW_MAPPING);
- this.state = 5024;
- this.match(HiveParser.StringLiteral);
- this.state = 5025;
- this.match(HiveParser.KW_IN);
- this.state = 5026;
- this.identifier();
- this.state = 5030;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_TO:
- this.state = 5027;
- this.match(HiveParser.KW_TO);
- this.state = 5028;
- this.poolPath();
- break;
- case HiveParser.KW_UNMANAGED:
- this.state = 5029;
- this.unmanaged();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- this.state = 5035;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 578, this._ctx);
- if (la_ === 1) {
- this.state = 5032;
- this.match(HiveParser.KW_WITH);
- this.state = 5033;
- this.match(HiveParser.KW_ORDER);
- this.state = 5034;
- this.match(HiveParser.Number);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- alterMappingStatement() {
- let localctx = new AlterMappingStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 934, HiveParser.RULE_alterMappingStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 5037;
- this.match(HiveParser.KW_ALTER);
- this.state = 5038;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_GROUP || _la === HiveParser.KW_USER || _la === HiveParser.KW_APPLICATION)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 5039;
- this.match(HiveParser.KW_MAPPING);
- this.state = 5040;
- this.match(HiveParser.StringLiteral);
- this.state = 5041;
- this.match(HiveParser.KW_IN);
- this.state = 5042;
- this.identifier();
- this.state = 5046;
- this._errHandler.sync(this);
- switch (this._input.LA(1)) {
- case HiveParser.KW_TO:
- this.state = 5043;
- this.match(HiveParser.KW_TO);
- this.state = 5044;
- this.poolPath();
- break;
- case HiveParser.KW_UNMANAGED:
- this.state = 5045;
- this.unmanaged();
- break;
- default:
- throw new antlr4.error.NoViableAltException(this);
- }
- this.state = 5051;
- this._errHandler.sync(this);
- var la_ = this._interp.adaptivePredict(this._input, 580, this._ctx);
- if (la_ === 1) {
- this.state = 5048;
- this.match(HiveParser.KW_WITH);
- this.state = 5049;
- this.match(HiveParser.KW_ORDER);
- this.state = 5050;
- this.match(HiveParser.Number);
- }
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-
- dropMappingStatement() {
- let localctx = new DropMappingStatementContext(this, this._ctx, this.state);
- this.enterRule(localctx, 936, HiveParser.RULE_dropMappingStatement);
- var _la = 0; // Token type
- try {
- this.enterOuterAlt(localctx, 1);
- this.state = 5053;
- this.match(HiveParser.KW_DROP);
- this.state = 5054;
- _la = this._input.LA(1);
- if (!(_la === HiveParser.KW_GROUP || _la === HiveParser.KW_USER || _la === HiveParser.KW_APPLICATION)) {
- this._errHandler.recoverInline(this);
- } else {
- this._errHandler.reportMatch(this);
- this.consume();
- }
- this.state = 5055;
- this.match(HiveParser.KW_MAPPING);
- this.state = 5056;
- this.match(HiveParser.StringLiteral);
- this.state = 5057;
- this.match(HiveParser.KW_IN);
- this.state = 5058;
- this.identifier();
- } catch (re) {
- if (re instanceof antlr4.error.RecognitionException) {
- localctx.exception = re;
- this._errHandler.reportError(this, re);
- this._errHandler.recover(this, re);
- } else {
- throw re;
- }
- } finally {
- this.exitRule();
- }
- return localctx;
- }
-}
-
-HiveParser.EOF = antlr4.Token.EOF;
-HiveParser.KW_TRUE = 1;
-HiveParser.KW_FALSE = 2;
-HiveParser.KW_ALL = 3;
-HiveParser.KW_AUTO = 4;
-HiveParser.KW_NONE = 5;
-HiveParser.KW_AND = 6;
-HiveParser.KW_OR = 7;
-HiveParser.KW_NOT = 8;
-HiveParser.KW_LIKE = 9;
-HiveParser.KW_ANY = 10;
-HiveParser.KW_IF = 11;
-HiveParser.KW_EXISTS = 12;
-HiveParser.KW_ASC = 13;
-HiveParser.KW_DESC = 14;
-HiveParser.KW_NULLS = 15;
-HiveParser.KW_LAST = 16;
-HiveParser.KW_ORDER = 17;
-HiveParser.KW_GROUP = 18;
-HiveParser.KW_BY = 19;
-HiveParser.KW_HAVING = 20;
-HiveParser.KW_WHERE = 21;
-HiveParser.KW_FROM = 22;
-HiveParser.KW_AS = 23;
-HiveParser.KW_SELECT = 24;
-HiveParser.KW_DISTINCT = 25;
-HiveParser.KW_INSERT = 26;
-HiveParser.KW_OVERWRITE = 27;
-HiveParser.KW_OUTER = 28;
-HiveParser.KW_UNIQUEJOIN = 29;
-HiveParser.KW_PRESERVE = 30;
-HiveParser.KW_JOIN = 31;
-HiveParser.KW_LEFT = 32;
-HiveParser.KW_RIGHT = 33;
-HiveParser.KW_FULL = 34;
-HiveParser.KW_ON = 35;
-HiveParser.KW_PARTITION = 36;
-HiveParser.KW_PARTITIONS = 37;
-HiveParser.KW_TABLE = 38;
-HiveParser.KW_TABLES = 39;
-HiveParser.KW_TAGS = 40;
-HiveParser.KW_COLUMNS = 41;
-HiveParser.KW_INDEX = 42;
-HiveParser.KW_INDEXES = 43;
-HiveParser.KW_REBUILD = 44;
-HiveParser.KW_FUNCTIONS = 45;
-HiveParser.KW_SHOW = 46;
-HiveParser.KW_MSCK = 47;
-HiveParser.KW_REPAIR = 48;
-HiveParser.KW_DIRECTORY = 49;
-HiveParser.KW_LOCAL = 50;
-HiveParser.KW_TRANSFORM = 51;
-HiveParser.KW_USING = 52;
-HiveParser.KW_CLUSTER = 53;
-HiveParser.KW_DISTRIBUTE = 54;
-HiveParser.KW_SORT = 55;
-HiveParser.KW_UNION = 56;
-HiveParser.KW_EXCEPT = 57;
-HiveParser.KW_LOAD = 58;
-HiveParser.KW_EXPORT = 59;
-HiveParser.KW_IMPORT = 60;
-HiveParser.KW_REPLICATION = 61;
-HiveParser.KW_METADATA = 62;
-HiveParser.KW_DATA = 63;
-HiveParser.KW_INPATH = 64;
-HiveParser.KW_IS = 65;
-HiveParser.KW_NULL = 66;
-HiveParser.KW_CREATE = 67;
-HiveParser.KW_EXTERNAL = 68;
-HiveParser.KW_ALTER = 69;
-HiveParser.KW_CHANGE = 70;
-HiveParser.KW_COLUMN = 71;
-HiveParser.KW_FIRST = 72;
-HiveParser.KW_AFTER = 73;
-HiveParser.KW_DESCRIBE = 74;
-HiveParser.KW_DROP = 75;
-HiveParser.KW_RENAME = 76;
-HiveParser.KW_TO = 77;
-HiveParser.KW_COMMENT = 78;
-HiveParser.KW_BOOLEAN = 79;
-HiveParser.KW_TINYINT = 80;
-HiveParser.KW_SMALLINT = 81;
-HiveParser.KW_INT = 82;
-HiveParser.KW_BIGINT = 83;
-HiveParser.KW_FLOAT = 84;
-HiveParser.KW_DOUBLE = 85;
-HiveParser.KW_PRECISION = 86;
-HiveParser.KW_DATE = 87;
-HiveParser.KW_DATETIME = 88;
-HiveParser.KW_TIMESTAMP = 89;
-HiveParser.KW_TIMESTAMP_NTZ = 90;
-HiveParser.KW_TIMESTAMPLOCALTZ = 91;
-HiveParser.KW_TIME = 92;
-HiveParser.KW_ZONE = 93;
-HiveParser.KW_INTERVAL = 94;
-HiveParser.KW_DECIMAL = 95;
-HiveParser.KW_STRING = 96;
-HiveParser.KW_CHAR = 97;
-HiveParser.KW_VARCHAR = 98;
-HiveParser.KW_ARRAY = 99;
-HiveParser.KW_STRUCT = 100;
-HiveParser.KW_MAP = 101;
-HiveParser.KW_MASK = 102;
-HiveParser.KW_VARIANT = 103;
-HiveParser.KW_UNIONTYPE = 104;
-HiveParser.KW_REDUCE = 105;
-HiveParser.KW_PARTITIONED = 106;
-HiveParser.KW_CLUSTERED = 107;
-HiveParser.KW_SORTED = 108;
-HiveParser.KW_INTO = 109;
-HiveParser.KW_BUCKETS = 110;
-HiveParser.KW_ROW = 111;
-HiveParser.KW_ROWS = 112;
-HiveParser.KW_FORMAT = 113;
-HiveParser.KW_DELIMITED = 114;
-HiveParser.KW_FIELDS = 115;
-HiveParser.KW_TERMINATED = 116;
-HiveParser.KW_ESCAPED = 117;
-HiveParser.KW_COLLECTION = 118;
-HiveParser.KW_ITEMS = 119;
-HiveParser.KW_KEYS = 120;
-HiveParser.KW_KEY_TYPE = 121;
-HiveParser.KW_KILL = 122;
-HiveParser.KW_LINES = 123;
-HiveParser.KW_STORED = 124;
-HiveParser.KW_FILEFORMAT = 125;
-HiveParser.KW_INPUTFORMAT = 126;
-HiveParser.KW_OUTPUTFORMAT = 127;
-HiveParser.KW_INPUTDRIVER = 128;
-HiveParser.KW_OUTPUTDRIVER = 129;
-HiveParser.KW_ENABLE = 130;
-HiveParser.KW_DISABLE = 131;
-HiveParser.KW_LOCATION = 132;
-HiveParser.KW_TABLESAMPLE = 133;
-HiveParser.KW_BUCKET = 134;
-HiveParser.KW_OUT = 135;
-HiveParser.KW_OF = 136;
-HiveParser.KW_PERCENT = 137;
-HiveParser.KW_CAST = 138;
-HiveParser.KW_ADD = 139;
-HiveParser.KW_REPLACE = 140;
-HiveParser.KW_RLIKE = 141;
-HiveParser.KW_REGEXP = 142;
-HiveParser.KW_TEMPORARY = 143;
-HiveParser.KW_FUNCTION = 144;
-HiveParser.KW_MACRO = 145;
-HiveParser.KW_FILE = 146;
-HiveParser.KW_JAR = 147;
-HiveParser.KW_EXPLAIN = 148;
-HiveParser.KW_EXTENDED = 149;
-HiveParser.KW_FORMATTED = 150;
-HiveParser.KW_DEPENDENCY = 151;
-HiveParser.KW_LOGICAL = 152;
-HiveParser.KW_SERDE = 153;
-HiveParser.KW_WITH = 154;
-HiveParser.KW_DEFERRED = 155;
-HiveParser.KW_SERDEPROPERTIES = 156;
-HiveParser.KW_DBPROPERTIES = 157;
-HiveParser.KW_LIMIT = 158;
-HiveParser.KW_OFFSET = 159;
-HiveParser.KW_SET = 160;
-HiveParser.KW_UNSET = 161;
-HiveParser.KW_TBLPROPERTIES = 162;
-HiveParser.KW_IDXPROPERTIES = 163;
-HiveParser.KW_VALUE_TYPE = 164;
-HiveParser.KW_ELEM_TYPE = 165;
-HiveParser.KW_DEFINED = 166;
-HiveParser.KW_CASE = 167;
-HiveParser.KW_WHEN = 168;
-HiveParser.KW_THEN = 169;
-HiveParser.KW_ELSE = 170;
-HiveParser.KW_END = 171;
-HiveParser.KW_MAPJOIN = 172;
-HiveParser.KW_STREAMTABLE = 173;
-HiveParser.KW_CLUSTERSTATUS = 174;
-HiveParser.KW_UTC = 175;
-HiveParser.KW_UTCTIMESTAMP = 176;
-HiveParser.KW_LONG = 177;
-HiveParser.KW_DELETE = 178;
-HiveParser.KW_PLUS = 179;
-HiveParser.KW_MINUS = 180;
-HiveParser.KW_FETCH = 181;
-HiveParser.KW_INTERSECT = 182;
-HiveParser.KW_VIEW = 183;
-HiveParser.KW_VIEWS = 184;
-HiveParser.KW_IN = 185;
-HiveParser.KW_DATABASE = 186;
-HiveParser.KW_DATABASES = 187;
-HiveParser.KW_MATERIALIZED = 188;
-HiveParser.KW_SCHEMA = 189;
-HiveParser.KW_SCHEMAS = 190;
-HiveParser.KW_GRANT = 191;
-HiveParser.KW_REVOKE = 192;
-HiveParser.KW_SSL = 193;
-HiveParser.KW_UNDO = 194;
-HiveParser.KW_LOCK = 195;
-HiveParser.KW_LOCKS = 196;
-HiveParser.KW_UNLOCK = 197;
-HiveParser.KW_SHARED = 198;
-HiveParser.KW_EXCLUSIVE = 199;
-HiveParser.KW_PROCEDURE = 200;
-HiveParser.KW_UNSIGNED = 201;
-HiveParser.KW_WHILE = 202;
-HiveParser.KW_READ = 203;
-HiveParser.KW_READS = 204;
-HiveParser.KW_PURGE = 205;
-HiveParser.KW_RANGE = 206;
-HiveParser.KW_ANALYZE = 207;
-HiveParser.KW_BEFORE = 208;
-HiveParser.KW_BETWEEN = 209;
-HiveParser.KW_BOTH = 210;
-HiveParser.KW_BINARY = 211;
-HiveParser.KW_CROSS = 212;
-HiveParser.KW_CONTINUE = 213;
-HiveParser.KW_CURSOR = 214;
-HiveParser.KW_TRIGGER = 215;
-HiveParser.KW_RECORDREADER = 216;
-HiveParser.KW_RECORDWRITER = 217;
-HiveParser.KW_SEMI = 218;
-HiveParser.KW_LATERAL = 219;
-HiveParser.KW_TOUCH = 220;
-HiveParser.KW_ARCHIVE = 221;
-HiveParser.KW_UNARCHIVE = 222;
-HiveParser.KW_COMPUTE = 223;
-HiveParser.KW_STATISTICS = 224;
-HiveParser.KW_USE = 225;
-HiveParser.KW_OPTIONS = 226;
-HiveParser.KW_OPTION = 227;
-HiveParser.KW_CONCATENATE = 228;
-HiveParser.KW_CATALOG = 229;
-HiveParser.KW_SHOW_DATABASE = 230;
-HiveParser.KW_UPDATE = 231;
-HiveParser.KW_RESTRICT = 232;
-HiveParser.KW_CASCADE = 233;
-HiveParser.KW_SKEWED = 234;
-HiveParser.KW_ROLLUP = 235;
-HiveParser.KW_CUBE = 236;
-HiveParser.KW_DIRECTORIES = 237;
-HiveParser.KW_FOR = 238;
-HiveParser.KW_WINDOW = 239;
-HiveParser.KW_UNBOUNDED = 240;
-HiveParser.KW_PRECEDING = 241;
-HiveParser.KW_FOLLOWING = 242;
-HiveParser.KW_CURRENT = 243;
-HiveParser.KW_CURRENT_DATE = 244;
-HiveParser.KW_CURRENT_TIMESTAMP = 245;
-HiveParser.KW_LESS = 246;
-HiveParser.KW_MORE = 247;
-HiveParser.KW_OVER = 248;
-HiveParser.KW_GROUPING = 249;
-HiveParser.KW_SETS = 250;
-HiveParser.KW_TRUNCATE = 251;
-HiveParser.KW_NOSCAN = 252;
-HiveParser.KW_USER = 253;
-HiveParser.KW_ROLE = 254;
-HiveParser.KW_ROLES = 255;
-HiveParser.KW_INNER = 256;
-HiveParser.KW_EXCHANGE = 257;
-HiveParser.KW_URI = 258;
-HiveParser.KW_SERVER = 259;
-HiveParser.KW_ADMIN = 260;
-HiveParser.KW_OWNER = 261;
-HiveParser.KW_PRINCIPALS = 262;
-HiveParser.KW_COMPACT = 263;
-HiveParser.KW_COMPACTIONS = 264;
-HiveParser.KW_TRANSACTIONS = 265;
-HiveParser.KW_REWRITE = 266;
-HiveParser.KW_AUTHORIZATION = 267;
-HiveParser.KW_REOPTIMIZATION = 268;
-HiveParser.KW_CONF = 269;
-HiveParser.KW_VALUES = 270;
-HiveParser.KW_RELOAD = 271;
-HiveParser.KW_YEAR = 272;
-HiveParser.KW_QUERY = 273;
-HiveParser.KW_QUARTER = 274;
-HiveParser.KW_MONTH = 275;
-HiveParser.KW_WEEK = 276;
-HiveParser.KW_DAY = 277;
-HiveParser.KW_DOW = 278;
-HiveParser.KW_HOUR = 279;
-HiveParser.KW_MINUTE = 280;
-HiveParser.KW_SECOND = 281;
-HiveParser.KW_START = 282;
-HiveParser.KW_TRANSACTION = 283;
-HiveParser.KW_COMMIT = 284;
-HiveParser.KW_ROLLBACK = 285;
-HiveParser.KW_WORK = 286;
-HiveParser.KW_ONLY = 287;
-HiveParser.KW_WRITE = 288;
-HiveParser.KW_ISOLATION = 289;
-HiveParser.KW_LEVEL = 290;
-HiveParser.KW_SNAPSHOT = 291;
-HiveParser.KW_AUTOCOMMIT = 292;
-HiveParser.KW_CACHE = 293;
-HiveParser.KW_PRIMARY = 294;
-HiveParser.KW_FOREIGN = 295;
-HiveParser.KW_REFERENCES = 296;
-HiveParser.KW_CONSTRAINT = 297;
-HiveParser.KW_ENFORCED = 298;
-HiveParser.KW_VALIDATE = 299;
-HiveParser.KW_NOVALIDATE = 300;
-HiveParser.KW_RELY = 301;
-HiveParser.KW_NORELY = 302;
-HiveParser.KW_UNIQUE = 303;
-HiveParser.KW_KEY = 304;
-HiveParser.KW_ABORT = 305;
-HiveParser.KW_EXTRACT = 306;
-HiveParser.KW_FLOOR = 307;
-HiveParser.KW_MERGE = 308;
-HiveParser.KW_MATCHED = 309;
-HiveParser.KW_REPL = 310;
-HiveParser.KW_DUMP = 311;
-HiveParser.KW_STATUS = 312;
-HiveParser.KW_VECTORIZATION = 313;
-HiveParser.KW_SUMMARY = 314;
-HiveParser.KW_OPERATOR = 315;
-HiveParser.KW_EXPRESSION = 316;
-HiveParser.KW_DETAIL = 317;
-HiveParser.KW_WAIT = 318;
-HiveParser.KW_RESOURCE = 319;
-HiveParser.KW_PLAN = 320;
-HiveParser.KW_QUERY_PARALLELISM = 321;
-HiveParser.KW_PLANS = 322;
-HiveParser.KW_ACTIVATE = 323;
-HiveParser.KW_DEFAULT = 324;
-HiveParser.KW_CHECK = 325;
-HiveParser.KW_POOL = 326;
-HiveParser.KW_MOVE = 327;
-HiveParser.KW_DO = 328;
-HiveParser.KW_ALLOC_FRACTION = 329;
-HiveParser.KW_SCHEDULING_POLICY = 330;
-HiveParser.KW_PATH = 331;
-HiveParser.KW_MAPPING = 332;
-HiveParser.KW_WORKLOAD = 333;
-HiveParser.KW_MANAGEMENT = 334;
-HiveParser.KW_ACTIVE = 335;
-HiveParser.KW_MANAGED = 336;
-HiveParser.KW_UNMANAGED = 337;
-HiveParser.KW_APPLICATION = 338;
-HiveParser.KW_SYNC = 339;
-HiveParser.KW_SEQUENCEFILE = 340;
-HiveParser.KW_TEXTFILE = 341;
-HiveParser.KW_RCFILE = 342;
-HiveParser.KW_ORC = 343;
-HiveParser.KW_PARQUET = 344;
-HiveParser.KW_DELTA = 345;
-HiveParser.KW_AVRO = 346;
-HiveParser.KW_CSV = 347;
-HiveParser.KW_JSON = 348;
-HiveParser.KW_JSONFILE = 349;
-HiveParser.KW_BLOOMFILTER = 350;
-HiveParser.KW_GENERATED = 351;
-HiveParser.KW_ALWAYS = 352;
-HiveParser.KW_IDENTITY = 353;
-HiveParser.KW_INCREMENT = 354;
-HiveParser.KW_SCHEDULE = 355;
-HiveParser.KW_REFRESH = 356;
-HiveParser.KW_EVERY = 357;
-HiveParser.KW_CRON = 358;
-HiveParser.KW_AT = 359;
-HiveParser.KW_FILTER = 360;
-HiveParser.KW_STREAM = 361;
-HiveParser.KW_STREAMING = 362;
-HiveParser.KW_MOST = 363;
-HiveParser.KW_EXPECT = 364;
-HiveParser.KW_VIOLATION = 365;
-HiveParser.KW_FAIL = 366;
-HiveParser.DOT = 367;
-HiveParser.COLON = 368;
-HiveParser.COMMA = 369;
-HiveParser.SEMICOLON = 370;
-HiveParser.LPAREN = 371;
-HiveParser.RPAREN = 372;
-HiveParser.LSQUARE = 373;
-HiveParser.RSQUARE = 374;
-HiveParser.LCURLY = 375;
-HiveParser.RCURLY = 376;
-HiveParser.EQUAL = 377;
-HiveParser.EQUAL_NS = 378;
-HiveParser.NOTEQUAL = 379;
-HiveParser.LESSTHANOREQUALTO = 380;
-HiveParser.LESSTHAN = 381;
-HiveParser.GREATERTHANOREQUALTO = 382;
-HiveParser.GREATERTHAN = 383;
-HiveParser.FAT_ARROW = 384;
-HiveParser.DIVIDE = 385;
-HiveParser.PLUS = 386;
-HiveParser.MINUS = 387;
-HiveParser.STAR = 388;
-HiveParser.MOD = 389;
-HiveParser.DIV = 390;
-HiveParser.AMPERSAND = 391;
-HiveParser.TILDE = 392;
-HiveParser.BITWISEOR = 393;
-HiveParser.CONCATENATE = 394;
-HiveParser.BITWISEXOR = 395;
-HiveParser.QUESTION = 396;
-HiveParser.DOLLAR = 397;
-HiveParser.StringLiteral = 398;
-HiveParser.CharSetLiteral = 399;
-HiveParser.IntegralLiteral = 400;
-HiveParser.NumberLiteral = 401;
-HiveParser.ByteLengthLiteral = 402;
-HiveParser.Number = 403;
-HiveParser.Identifier = 404;
-HiveParser.QuotedIdentifier = 405;
-HiveParser.CharSetName = 406;
-HiveParser.WS = 407;
-HiveParser.LINE_COMMENT = 408;
-HiveParser.QUERY_HINT = 409;
-HiveParser.SHOW_HINT = 410;
-HiveParser.HIDDEN_HINT = 411;
-
-HiveParser.RULE_statements = 0;
-HiveParser.RULE_statementSeparator = 1;
-HiveParser.RULE_empty = 2;
-HiveParser.RULE_statement = 3;
-HiveParser.RULE_explainStatement = 4;
-HiveParser.RULE_explainOption = 5;
-HiveParser.RULE_vectorizationOnly = 6;
-HiveParser.RULE_vectorizatonDetail = 7;
-HiveParser.RULE_execStatement = 8;
-HiveParser.RULE_loadStatement = 9;
-HiveParser.RULE_replicationClause = 10;
-HiveParser.RULE_exportStatement = 11;
-HiveParser.RULE_importStatement = 12;
-HiveParser.RULE_replDumpStatement = 13;
-HiveParser.RULE_replLoadStatement = 14;
-HiveParser.RULE_replConfigs = 15;
-HiveParser.RULE_replConfigsList = 16;
-HiveParser.RULE_replStatusStatement = 17;
-HiveParser.RULE_ddlStatement = 18;
-HiveParser.RULE_ifExists = 19;
-HiveParser.RULE_restrictOrCascade = 20;
-HiveParser.RULE_ifNotExists = 21;
-HiveParser.RULE_rewriteEnabled = 22;
-HiveParser.RULE_rewriteDisabled = 23;
-HiveParser.RULE_storedAsDirs = 24;
-HiveParser.RULE_orReplace = 25;
-HiveParser.RULE_orRefresh = 26;
-HiveParser.RULE_createDatabaseStatement = 27;
-HiveParser.RULE_dbLocation = 28;
-HiveParser.RULE_dbProperties = 29;
-HiveParser.RULE_dbPropertiesList = 30;
-HiveParser.RULE_switchCatalogStatement = 31;
-HiveParser.RULE_switchDatabaseStatement = 32;
-HiveParser.RULE_dropDatabaseStatement = 33;
-HiveParser.RULE_databaseComment = 34;
-HiveParser.RULE_createTableStatement = 35;
-HiveParser.RULE_truncateTableStatement = 36;
-HiveParser.RULE_dropTableStatement = 37;
-HiveParser.RULE_tagValue = 38;
-HiveParser.RULE_tagsPair = 39;
-HiveParser.RULE_unityTags = 40;
-HiveParser.RULE_alterStatement = 41;
-HiveParser.RULE_alterTableStatementSuffix = 42;
-HiveParser.RULE_alterTblPartitionStatementSuffix = 43;
-HiveParser.RULE_alterStatementPartitionKeyType = 44;
-HiveParser.RULE_alterViewStatementSuffix = 45;
-HiveParser.RULE_alterMaterializedViewStatementSuffix = 46;
-HiveParser.RULE_alterDatabaseStatementSuffix = 47;
-HiveParser.RULE_alterDatabaseSuffixProperties = 48;
-HiveParser.RULE_alterDatabaseSuffixSetOwner = 49;
-HiveParser.RULE_alterDatabaseSuffixSetLocation = 50;
-HiveParser.RULE_alterStatementSuffixRename = 51;
-HiveParser.RULE_alterStatementSuffixAddCol = 52;
-HiveParser.RULE_alterStatementSuffixAddConstraint = 53;
-HiveParser.RULE_alterStatementSuffixUpdateColumns = 54;
-HiveParser.RULE_alterStatementSuffixDropConstraint = 55;
-HiveParser.RULE_alterStatementSuffixRenameCol = 56;
-HiveParser.RULE_alterStatementSuffixUpdateStatsCol = 57;
-HiveParser.RULE_alterStatementSuffixUpdateStats = 58;
-HiveParser.RULE_alterStatementChangeColPosition = 59;
-HiveParser.RULE_alterStatementSuffixAddPartitions = 60;
-HiveParser.RULE_alterStatementSuffixAddPartitionsElement = 61;
-HiveParser.RULE_alterStatementSuffixTouch = 62;
-HiveParser.RULE_alterStatementSuffixArchive = 63;
-HiveParser.RULE_alterStatementSuffixUnArchive = 64;
-HiveParser.RULE_partitionLocation = 65;
-HiveParser.RULE_alterStatementSuffixDropPartitions = 66;
-HiveParser.RULE_alterStatementSuffixProperties = 67;
-HiveParser.RULE_alterViewSuffixProperties = 68;
-HiveParser.RULE_alterMaterializedViewSuffixRewrite = 69;
-HiveParser.RULE_alterMaterializedViewSuffixRebuild = 70;
-HiveParser.RULE_alterStatementSuffixSerdeProperties = 71;
-HiveParser.RULE_alterIndexStatementSuffix = 72;
-HiveParser.RULE_alterStatementSuffixFileFormat = 73;
-HiveParser.RULE_alterStatementSuffixClusterbySortby = 74;
-HiveParser.RULE_alterStatementSuffixClusterBy = 75;
-HiveParser.RULE_alterTblPartitionStatementSuffixSkewedLocation = 76;
-HiveParser.RULE_skewedLocations = 77;
-HiveParser.RULE_skewedLocationsList = 78;
-HiveParser.RULE_skewedLocationMap = 79;
-HiveParser.RULE_alterStatementSuffixLocation = 80;
-HiveParser.RULE_alterStatementSuffixSkewedby = 81;
-HiveParser.RULE_alterStatementSuffixExchangePartition = 82;
-HiveParser.RULE_alterStatementSuffixRenamePart = 83;
-HiveParser.RULE_alterStatementSuffixStatsPart = 84;
-HiveParser.RULE_alterStatementSuffixMergeFiles = 85;
-HiveParser.RULE_alterStatementSuffixBucketNum = 86;
-HiveParser.RULE_createIndexStatement = 87;
-HiveParser.RULE_createIndexMainStatement = 88;
-HiveParser.RULE_dropIndexStatement = 89;
-HiveParser.RULE_createBloomfilterIndexStatement = 90;
-HiveParser.RULE_createBloomfilterIndexMainStatement = 91;
-HiveParser.RULE_bloomfilterColumnParenthesesList = 92;
-HiveParser.RULE_bloomfilterColumnNameList = 93;
-HiveParser.RULE_bloomfilterColumnName = 94;
-HiveParser.RULE_bloomfilterIndexOptions = 95;
-HiveParser.RULE_dropBloomfilterIndexStatement = 96;
-HiveParser.RULE_dropBloomfilterIndexMainStatement = 97;
-HiveParser.RULE_tablePartitionPrefix = 98;
-HiveParser.RULE_blocking = 99;
-HiveParser.RULE_alterStatementSuffixCompact = 100;
-HiveParser.RULE_alterStatementSuffixSetOwner = 101;
-HiveParser.RULE_fileFormat = 102;
-HiveParser.RULE_inputFileFormat = 103;
-HiveParser.RULE_tabTypeExpr = 104;
-HiveParser.RULE_partTypeExpr = 105;
-HiveParser.RULE_tabPartColTypeExpr = 106;
-HiveParser.RULE_descStatement = 107;
-HiveParser.RULE_analyzeStatement = 108;
-HiveParser.RULE_showStatement = 109;
-HiveParser.RULE_lockStatement = 110;
-HiveParser.RULE_lockDatabase = 111;
-HiveParser.RULE_lockMode = 112;
-HiveParser.RULE_unlockStatement = 113;
-HiveParser.RULE_unlockDatabase = 114;
-HiveParser.RULE_createRoleStatement = 115;
-HiveParser.RULE_dropRoleStatement = 116;
-HiveParser.RULE_grantPrivileges = 117;
-HiveParser.RULE_revokePrivileges = 118;
-HiveParser.RULE_grantRole = 119;
-HiveParser.RULE_revokeRole = 120;
-HiveParser.RULE_showRoleGrants = 121;
-HiveParser.RULE_showRoles = 122;
-HiveParser.RULE_showCurrentRole = 123;
-HiveParser.RULE_setRole = 124;
-HiveParser.RULE_showGrants = 125;
-HiveParser.RULE_showRolePrincipals = 126;
-HiveParser.RULE_privilegeIncludeColObject = 127;
-HiveParser.RULE_privilegeObject = 128;
-HiveParser.RULE_privObject = 129;
-HiveParser.RULE_privObjectCols = 130;
-HiveParser.RULE_privilegeList = 131;
-HiveParser.RULE_privlegeDef = 132;
-HiveParser.RULE_privilegeType = 133;
-HiveParser.RULE_principalSpecification = 134;
-HiveParser.RULE_principalName = 135;
-HiveParser.RULE_withGrantOption = 136;
-HiveParser.RULE_grantOptionFor = 137;
-HiveParser.RULE_adminOptionFor = 138;
-HiveParser.RULE_withAdminOption = 139;
-HiveParser.RULE_metastoreCheck = 140;
-HiveParser.RULE_resourceList = 141;
-HiveParser.RULE_resource = 142;
-HiveParser.RULE_resourceType = 143;
-HiveParser.RULE_createFunctionStatement = 144;
-HiveParser.RULE_dropFunctionStatement = 145;
-HiveParser.RULE_reloadFunctionStatement = 146;
-HiveParser.RULE_createMacroStatement = 147;
-HiveParser.RULE_dropMacroStatement = 148;
-HiveParser.RULE_createViewStatement = 149;
-HiveParser.RULE_createMaterializedViewStatement = 150;
-HiveParser.RULE_materializedViewClause = 151;
-HiveParser.RULE_scheduleClause = 152;
-HiveParser.RULE_timeZoneValue = 153;
-HiveParser.RULE_rowClause = 154;
-HiveParser.RULE_triggerOnUpdateClause = 155;
-HiveParser.RULE_intervalClause = 156;
-HiveParser.RULE_intervalQualifier = 157;
-HiveParser.RULE_viewPartition = 158;
-HiveParser.RULE_dropViewStatement = 159;
-HiveParser.RULE_dropMaterializedViewStatement = 160;
-HiveParser.RULE_showFunctionIdentifier = 161;
-HiveParser.RULE_showStmtIdentifier = 162;
-HiveParser.RULE_tableComment = 163;
-HiveParser.RULE_tableUsingDataSource = 164;
-HiveParser.RULE_tableDataSource = 165;
-HiveParser.RULE_tablePartition = 166;
-HiveParser.RULE_tableBuckets = 167;
-HiveParser.RULE_tableSkewed = 168;
-HiveParser.RULE_rowFormat = 169;
-HiveParser.RULE_recordReader = 170;
-HiveParser.RULE_recordWriter = 171;
-HiveParser.RULE_rowFormatSerde = 172;
-HiveParser.RULE_rowFormatDelimited = 173;
-HiveParser.RULE_tableRowFormat = 174;
-HiveParser.RULE_tableOptions = 175;
-HiveParser.RULE_tablePropertiesPrefixed = 176;
-HiveParser.RULE_tableProperties = 177;
-HiveParser.RULE_tablePropertiesList = 178;
-HiveParser.RULE_keyValueProperty = 179;
-HiveParser.RULE_keyValue = 180;
-HiveParser.RULE_keyProperty = 181;
-HiveParser.RULE_tableRowFormatFieldIdentifier = 182;
-HiveParser.RULE_tableRowFormatFieldIdentifierEcapedBy = 183;
-HiveParser.RULE_tableRowFormatCollItemsIdentifier = 184;
-HiveParser.RULE_tableRowFormatMapKeysIdentifier = 185;
-HiveParser.RULE_tableRowFormatLinesIdentifier = 186;
-HiveParser.RULE_tableRowNullFormat = 187;
-HiveParser.RULE_tableFileFormat = 188;
-HiveParser.RULE_tableFileFormatStoredBy = 189;
-HiveParser.RULE_tableFileFormatStoredAs = 190;
-HiveParser.RULE_tableFileFormatStoredAsFormat = 191;
-HiveParser.RULE_tableInputOutputFileFormat = 192;
-HiveParser.RULE_tableInputLiteral = 193;
-HiveParser.RULE_tableOutputLiteral = 194;
-HiveParser.RULE_tableLocation = 195;
-HiveParser.RULE_columnNameTypeList = 196;
-HiveParser.RULE_columnNameTypeOrConstraintList = 197;
-HiveParser.RULE_columnNameColonTypeList = 198;
-HiveParser.RULE_columnNameList = 199;
-HiveParser.RULE_columnName = 200;
-HiveParser.RULE_extColumnName = 201;
-HiveParser.RULE_columnNameOrderList = 202;
-HiveParser.RULE_columnParenthesesList = 203;
-HiveParser.RULE_enableValidateSpecification = 204;
-HiveParser.RULE_enableSpecification = 205;
-HiveParser.RULE_validateSpecification = 206;
-HiveParser.RULE_enforcedSpecification = 207;
-HiveParser.RULE_relySpecification = 208;
-HiveParser.RULE_createConstraint = 209;
-HiveParser.RULE_alterConstraintWithName = 210;
-HiveParser.RULE_tableLevelConstraint = 211;
-HiveParser.RULE_pkUkConstraint = 212;
-HiveParser.RULE_checkConstraint = 213;
-HiveParser.RULE_expectConstraint = 214;
-HiveParser.RULE_createForeignKey = 215;
-HiveParser.RULE_alterForeignKeyWithName = 216;
-HiveParser.RULE_skewedValueElement = 217;
-HiveParser.RULE_skewedColumnValuePairList = 218;
-HiveParser.RULE_skewedColumnValuePair = 219;
-HiveParser.RULE_skewedColumnValues = 220;
-HiveParser.RULE_skewedColumnValue = 221;
-HiveParser.RULE_skewedValueLocationElement = 222;
-HiveParser.RULE_orderSpecification = 223;
-HiveParser.RULE_nullOrdering = 224;
-HiveParser.RULE_columnNameOrder = 225;
-HiveParser.RULE_columnNameCommentList = 226;
-HiveParser.RULE_columnNameComment = 227;
-HiveParser.RULE_columnRefOrder = 228;
-HiveParser.RULE_columnNameType = 229;
-HiveParser.RULE_columnNameTypeOrConstraint = 230;
-HiveParser.RULE_tableConstraint = 231;
-HiveParser.RULE_columnNameTypeConstraint = 232;
-HiveParser.RULE_columnGeneratedAs = 233;
-HiveParser.RULE_generatedAsExpression = 234;
-HiveParser.RULE_generatedAsIdentity = 235;
-HiveParser.RULE_identityOptions = 236;
-HiveParser.RULE_startWith = 237;
-HiveParser.RULE_incrementBy = 238;
-HiveParser.RULE_partitionedColumnNameTypeConstraint = 239;
-HiveParser.RULE_columnConstraint = 240;
-HiveParser.RULE_foreignKeyConstraint = 241;
-HiveParser.RULE_colConstraint = 242;
-HiveParser.RULE_alterColumnConstraint = 243;
-HiveParser.RULE_alterForeignKeyConstraint = 244;
-HiveParser.RULE_alterColConstraint = 245;
-HiveParser.RULE_columnConstraintType = 246;
-HiveParser.RULE_defaultVal = 247;
-HiveParser.RULE_tableConstraintType = 248;
-HiveParser.RULE_constraintOptsCreate = 249;
-HiveParser.RULE_constraintOptsAlter = 250;
-HiveParser.RULE_columnNameColonType = 251;
-HiveParser.RULE_colType = 252;
-HiveParser.RULE_colTypeList = 253;
-HiveParser.RULE_type_db_col = 254;
-HiveParser.RULE_primitiveType = 255;
-HiveParser.RULE_listType = 256;
-HiveParser.RULE_structType = 257;
-HiveParser.RULE_mapType = 258;
-HiveParser.RULE_unionType = 259;
-HiveParser.RULE_setOperator = 260;
-HiveParser.RULE_queryStatementExpression = 261;
-HiveParser.RULE_queryStatementExpressionBody = 262;
-HiveParser.RULE_withClause = 263;
-HiveParser.RULE_cteStatement = 264;
-HiveParser.RULE_fromStatement = 265;
-HiveParser.RULE_singleFromStatement = 266;
-HiveParser.RULE_regularBody = 267;
-HiveParser.RULE_atomSelectStatement = 268;
-HiveParser.RULE_selectStatement = 269;
-HiveParser.RULE_setOpSelectStatement = 270;
-HiveParser.RULE_selectStatementWithCTE = 271;
-HiveParser.RULE_body = 272;
-HiveParser.RULE_insertClause = 273;
-HiveParser.RULE_destination = 274;
-HiveParser.RULE_limitClause = 275;
-HiveParser.RULE_deleteStatement = 276;
-HiveParser.RULE_columnAssignmentClause = 277;
-HiveParser.RULE_setColumnsClause = 278;
-HiveParser.RULE_updateStatement = 279;
-HiveParser.RULE_sqlTransactionStatement = 280;
-HiveParser.RULE_startTransactionStatement = 281;
-HiveParser.RULE_transactionMode = 282;
-HiveParser.RULE_transactionAccessMode = 283;
-HiveParser.RULE_isolationLevel = 284;
-HiveParser.RULE_levelOfIsolation = 285;
-HiveParser.RULE_commitStatement = 286;
-HiveParser.RULE_rollbackStatement = 287;
-HiveParser.RULE_setAutoCommitStatement = 288;
-HiveParser.RULE_abortTransactionStatement = 289;
-HiveParser.RULE_mergeStatement = 290;
-HiveParser.RULE_whenClauses = 291;
-HiveParser.RULE_whenNotMatchedClause = 292;
-HiveParser.RULE_whenMatchedAndClause = 293;
-HiveParser.RULE_whenMatchedThenClause = 294;
-HiveParser.RULE_updateOrDelete = 295;
-HiveParser.RULE_killQueryStatement = 296;
-HiveParser.RULE_selectClause = 297;
-HiveParser.RULE_selectList = 298;
-HiveParser.RULE_selectTrfmClause = 299;
-HiveParser.RULE_selectItem = 300;
-HiveParser.RULE_trfmClause = 301;
-HiveParser.RULE_selectExpression = 302;
-HiveParser.RULE_selectExpressionList = 303;
-HiveParser.RULE_exceptClause = 304;
-HiveParser.RULE_window_clause = 305;
-HiveParser.RULE_window_defn = 306;
-HiveParser.RULE_window_specification = 307;
-HiveParser.RULE_window_frame = 308;
-HiveParser.RULE_window_range_expression = 309;
-HiveParser.RULE_window_value_expression = 310;
-HiveParser.RULE_window_frame_start_boundary = 311;
-HiveParser.RULE_window_frame_boundary = 312;
-HiveParser.RULE_tableAllColumns = 313;
-HiveParser.RULE_tableOrColumn = 314;
-HiveParser.RULE_expressionList = 315;
-HiveParser.RULE_aliasList = 316;
-HiveParser.RULE_fromClause = 317;
-HiveParser.RULE_fromSource = 318;
-HiveParser.RULE_atomjoinSource = 319;
-HiveParser.RULE_joinSource = 320;
-HiveParser.RULE_streamSource = 321;
-HiveParser.RULE_joinSourcePart = 322;
-HiveParser.RULE_uniqueJoinSource = 323;
-HiveParser.RULE_uniqueJoinExpr = 324;
-HiveParser.RULE_uniqueJoinToken = 325;
-HiveParser.RULE_joinToken = 326;
-HiveParser.RULE_lateralView = 327;
-HiveParser.RULE_tableAlias = 328;
-HiveParser.RULE_tableBucketSample = 329;
-HiveParser.RULE_splitSample = 330;
-HiveParser.RULE_tableSample = 331;
-HiveParser.RULE_tableSource = 332;
-HiveParser.RULE_uniqueJoinTableSource = 333;
-HiveParser.RULE_tableName = 334;
-HiveParser.RULE_viewName = 335;
-HiveParser.RULE_subQuerySource = 336;
-HiveParser.RULE_partitioningSpec = 337;
-HiveParser.RULE_partitionTableFunctionSource = 338;
-HiveParser.RULE_partitionedTableFunction = 339;
-HiveParser.RULE_whereClause = 340;
-HiveParser.RULE_searchCondition = 341;
-HiveParser.RULE_valuesClause = 342;
-HiveParser.RULE_valuesTableConstructor = 343;
-HiveParser.RULE_valueRowConstructor = 344;
-HiveParser.RULE_virtualTableSource = 345;
-HiveParser.RULE_rangeTableValuedFunction = 346;
-HiveParser.RULE_tableFunctionCall = 347;
-HiveParser.RULE_functionArgList = 348;
-HiveParser.RULE_functionArg = 349;
-HiveParser.RULE_namedArg = 350;
-HiveParser.RULE_groupByClause = 351;
-HiveParser.RULE_groupby_expression = 352;
-HiveParser.RULE_groupByEmpty = 353;
-HiveParser.RULE_rollupStandard = 354;
-HiveParser.RULE_rollupOldSyntax = 355;
-HiveParser.RULE_groupingSetExpression = 356;
-HiveParser.RULE_groupingSetExpressionMultiple = 357;
-HiveParser.RULE_groupingExpressionSingle = 358;
-HiveParser.RULE_havingClause = 359;
-HiveParser.RULE_havingCondition = 360;
-HiveParser.RULE_expressionsInParenthesis = 361;
-HiveParser.RULE_expressionsNotInParenthesis = 362;
-HiveParser.RULE_expressionPart = 363;
-HiveParser.RULE_expressions = 364;
-HiveParser.RULE_columnRefOrderInParenthesis = 365;
-HiveParser.RULE_columnRefOrderNotInParenthesis = 366;
-HiveParser.RULE_orderByClause = 367;
-HiveParser.RULE_clusterByClause = 368;
-HiveParser.RULE_partitionByClause = 369;
-HiveParser.RULE_distributeByClause = 370;
-HiveParser.RULE_sortByClause = 371;
-HiveParser.RULE_functionStatement = 372;
-HiveParser.RULE_functionName = 373;
-HiveParser.RULE_castExpression = 374;
-HiveParser.RULE_caseExpression = 375;
-HiveParser.RULE_whenExpression = 376;
-HiveParser.RULE_floorExpression = 377;
-HiveParser.RULE_floorDateQualifiers = 378;
-HiveParser.RULE_extractExpression = 379;
-HiveParser.RULE_timeQualifiers = 380;
-HiveParser.RULE_constant = 381;
-HiveParser.RULE_stringLiteralSequence = 382;
-HiveParser.RULE_charSetStringLiteral = 383;
-HiveParser.RULE_dateLiteral = 384;
-HiveParser.RULE_timestampLiteral = 385;
-HiveParser.RULE_timestampLocalTZLiteral = 386;
-HiveParser.RULE_intervalValue = 387;
-HiveParser.RULE_intervalLiteral = 388;
-HiveParser.RULE_intervalExpression = 389;
-HiveParser.RULE_intervalQualifiers = 390;
-HiveParser.RULE_atomExpression = 391;
-HiveParser.RULE_precedenceUnaryOperator = 392;
-HiveParser.RULE_isCondition = 393;
-HiveParser.RULE_precedenceBitwiseXorOperator = 394;
-HiveParser.RULE_precedenceStarOperator = 395;
-HiveParser.RULE_precedencePlusOperator = 396;
-HiveParser.RULE_precedenceConcatenateOperator = 397;
-HiveParser.RULE_precedenceAmpersandOperator = 398;
-HiveParser.RULE_precedenceBitwiseOrOperator = 399;
-HiveParser.RULE_precedenceRegexpOperator = 400;
-HiveParser.RULE_precedenceSimilarOperator = 401;
-HiveParser.RULE_precedenceDistinctOperator = 402;
-HiveParser.RULE_precedenceEqualOperator = 403;
-HiveParser.RULE_precedenceNotOperator = 404;
-HiveParser.RULE_precedenceAndOperator = 405;
-HiveParser.RULE_precedenceOrOperator = 406;
-HiveParser.RULE_expression = 407;
-HiveParser.RULE_subQueryExpression = 408;
-HiveParser.RULE_precedenceSimilarExpressionPart = 409;
-HiveParser.RULE_precedenceSimilarExpressionAtom = 410;
-HiveParser.RULE_precedenceSimilarExpressionIn = 411;
-HiveParser.RULE_precedenceSimilarExpressionPartNot = 412;
-HiveParser.RULE_booleanValue = 413;
-HiveParser.RULE_booleanValueTok = 414;
-HiveParser.RULE_tableOrPartition = 415;
-HiveParser.RULE_partitionSpec = 416;
-HiveParser.RULE_partitionVal = 417;
-HiveParser.RULE_dropPartitionSpec = 418;
-HiveParser.RULE_dropPartitionVal = 419;
-HiveParser.RULE_dropPartitionOperator = 420;
-HiveParser.RULE_sysFuncNames = 421;
-HiveParser.RULE_descFuncNames = 422;
-HiveParser.RULE_identifier = 423;
-HiveParser.RULE_functionIdentifier = 424;
-HiveParser.RULE_principalIdentifier = 425;
-HiveParser.RULE_nonReserved = 426;
-HiveParser.RULE_sql11ReservedKeywordsUsedAsFunctionName = 427;
-HiveParser.RULE_databricksAllowedReservedNames = 428;
-HiveParser.RULE_resourcePlanDdlStatements = 429;
-HiveParser.RULE_rpAssign = 430;
-HiveParser.RULE_rpAssignList = 431;
-HiveParser.RULE_rpUnassign = 432;
-HiveParser.RULE_rpUnassignList = 433;
-HiveParser.RULE_createResourcePlanStatement = 434;
-HiveParser.RULE_createResourcePlanStatementLikeExisting = 435;
-HiveParser.RULE_createNewResourcePlanStatement = 436;
-HiveParser.RULE_withReplace = 437;
-HiveParser.RULE_activate = 438;
-HiveParser.RULE_enable = 439;
-HiveParser.RULE_disable = 440;
-HiveParser.RULE_unmanaged = 441;
-HiveParser.RULE_alterResourcePlanStatement = 442;
-HiveParser.RULE_alterResourcePlanRenameSuffix = 443;
-HiveParser.RULE_globalWmStatement = 444;
-HiveParser.RULE_replaceResourcePlanStatement = 445;
-HiveParser.RULE_dropResourcePlanStatement = 446;
-HiveParser.RULE_poolPath = 447;
-HiveParser.RULE_triggerExpression = 448;
-HiveParser.RULE_triggerExpressionStandalone = 449;
-HiveParser.RULE_triggerOrExpression = 450;
-HiveParser.RULE_triggerAndExpression = 451;
-HiveParser.RULE_triggerAtomExpression = 452;
-HiveParser.RULE_triggerLiteral = 453;
-HiveParser.RULE_comparisionOperator = 454;
-HiveParser.RULE_triggerActionExpression = 455;
-HiveParser.RULE_triggerActionExpressionStandalone = 456;
-HiveParser.RULE_createTriggerStatement = 457;
-HiveParser.RULE_alterTriggerStatement = 458;
-HiveParser.RULE_triggerConditionExpression = 459;
-HiveParser.RULE_dropTriggerStatement = 460;
-HiveParser.RULE_poolAssign = 461;
-HiveParser.RULE_poolAssignList = 462;
-HiveParser.RULE_createPoolStatement = 463;
-HiveParser.RULE_alterPoolStatement = 464;
-HiveParser.RULE_dropPoolStatement = 465;
-HiveParser.RULE_createMappingStatement = 466;
-HiveParser.RULE_alterMappingStatement = 467;
-HiveParser.RULE_dropMappingStatement = 468;
-
-class StatementsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_statements;
- }
-
- EOF() {
- return this.getToken(HiveParser.EOF, 0);
- }
-
- statement = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(StatementContext);
- } else {
- return this.getTypedRuleContext(StatementContext, i);
- }
- };
-
- empty = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(EmptyContext);
- } else {
- return this.getTypedRuleContext(EmptyContext, i);
- }
- };
-
- statementSeparator = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(StatementSeparatorContext);
- } else {
- return this.getTypedRuleContext(StatementSeparatorContext, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitStatements(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class StatementSeparatorContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_statementSeparator;
- }
-
- SEMICOLON() {
- return this.getToken(HiveParser.SEMICOLON, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitStatementSeparator(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class EmptyContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_empty;
- }
-
- statementSeparator() {
- return this.getTypedRuleContext(StatementSeparatorContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitEmpty(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class StatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_statement;
- }
-
- explainStatement() {
- return this.getTypedRuleContext(ExplainStatementContext, 0);
- }
-
- execStatement() {
- return this.getTypedRuleContext(ExecStatementContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ExplainStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_explainStatement;
- }
-
- KW_EXPLAIN() {
- return this.getToken(HiveParser.KW_EXPLAIN, 0);
- }
-
- execStatement() {
- return this.getTypedRuleContext(ExecStatementContext, 0);
- }
-
- KW_REWRITE() {
- return this.getToken(HiveParser.KW_REWRITE, 0);
- }
-
- queryStatementExpression() {
- return this.getTypedRuleContext(QueryStatementExpressionContext, 0);
- }
-
- explainOption = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ExplainOptionContext);
- } else {
- return this.getTypedRuleContext(ExplainOptionContext, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitExplainStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ExplainOptionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_explainOption;
- }
-
- KW_EXTENDED() {
- return this.getToken(HiveParser.KW_EXTENDED, 0);
- }
-
- KW_FORMATTED() {
- return this.getToken(HiveParser.KW_FORMATTED, 0);
- }
-
- KW_DEPENDENCY() {
- return this.getToken(HiveParser.KW_DEPENDENCY, 0);
- }
-
- KW_LOGICAL() {
- return this.getToken(HiveParser.KW_LOGICAL, 0);
- }
-
- KW_AUTHORIZATION() {
- return this.getToken(HiveParser.KW_AUTHORIZATION, 0);
- }
-
- KW_ANALYZE() {
- return this.getToken(HiveParser.KW_ANALYZE, 0);
- }
-
- KW_REOPTIMIZATION() {
- return this.getToken(HiveParser.KW_REOPTIMIZATION, 0);
- }
-
- KW_VECTORIZATION() {
- return this.getToken(HiveParser.KW_VECTORIZATION, 0);
- }
-
- vectorizationOnly() {
- return this.getTypedRuleContext(VectorizationOnlyContext, 0);
- }
-
- vectorizatonDetail() {
- return this.getTypedRuleContext(VectorizatonDetailContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitExplainOption(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class VectorizationOnlyContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_vectorizationOnly;
- }
-
- KW_ONLY() {
- return this.getToken(HiveParser.KW_ONLY, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitVectorizationOnly(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class VectorizatonDetailContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_vectorizatonDetail;
- }
-
- KW_SUMMARY() {
- return this.getToken(HiveParser.KW_SUMMARY, 0);
- }
-
- KW_OPERATOR() {
- return this.getToken(HiveParser.KW_OPERATOR, 0);
- }
-
- KW_EXPRESSION() {
- return this.getToken(HiveParser.KW_EXPRESSION, 0);
- }
-
- KW_DETAIL() {
- return this.getToken(HiveParser.KW_DETAIL, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitVectorizatonDetail(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ExecStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_execStatement;
- }
-
- queryStatementExpression() {
- return this.getTypedRuleContext(QueryStatementExpressionContext, 0);
- }
-
- loadStatement() {
- return this.getTypedRuleContext(LoadStatementContext, 0);
- }
-
- exportStatement() {
- return this.getTypedRuleContext(ExportStatementContext, 0);
- }
-
- importStatement() {
- return this.getTypedRuleContext(ImportStatementContext, 0);
- }
-
- replDumpStatement() {
- return this.getTypedRuleContext(ReplDumpStatementContext, 0);
- }
-
- replLoadStatement() {
- return this.getTypedRuleContext(ReplLoadStatementContext, 0);
- }
-
- replStatusStatement() {
- return this.getTypedRuleContext(ReplStatusStatementContext, 0);
- }
-
- ddlStatement() {
- return this.getTypedRuleContext(DdlStatementContext, 0);
- }
-
- deleteStatement() {
- return this.getTypedRuleContext(DeleteStatementContext, 0);
- }
-
- updateStatement() {
- return this.getTypedRuleContext(UpdateStatementContext, 0);
- }
-
- sqlTransactionStatement() {
- return this.getTypedRuleContext(SqlTransactionStatementContext, 0);
- }
-
- mergeStatement() {
- return this.getTypedRuleContext(MergeStatementContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitExecStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class LoadStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_loadStatement;
- }
-
- KW_LOAD() {
- return this.getToken(HiveParser.KW_LOAD, 0);
- }
-
- KW_DATA() {
- return this.getToken(HiveParser.KW_DATA, 0);
- }
-
- KW_INPATH() {
- return this.getToken(HiveParser.KW_INPATH, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- KW_INTO() {
- return this.getToken(HiveParser.KW_INTO, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- tableOrPartition() {
- return this.getTypedRuleContext(TableOrPartitionContext, 0);
- }
-
- KW_LOCAL() {
- return this.getToken(HiveParser.KW_LOCAL, 0);
- }
-
- KW_OVERWRITE() {
- return this.getToken(HiveParser.KW_OVERWRITE, 0);
- }
-
- inputFileFormat() {
- return this.getTypedRuleContext(InputFileFormatContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitLoadStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ReplicationClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_replicationClause;
- }
-
- KW_FOR() {
- return this.getToken(HiveParser.KW_FOR, 0);
- }
-
- KW_REPLICATION() {
- return this.getToken(HiveParser.KW_REPLICATION, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- KW_METADATA() {
- return this.getToken(HiveParser.KW_METADATA, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitReplicationClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ExportStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_exportStatement;
- }
-
- KW_EXPORT() {
- return this.getToken(HiveParser.KW_EXPORT, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- tableOrPartition() {
- return this.getTypedRuleContext(TableOrPartitionContext, 0);
- }
-
- KW_TO() {
- return this.getToken(HiveParser.KW_TO, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- replicationClause() {
- return this.getTypedRuleContext(ReplicationClauseContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitExportStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ImportStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_importStatement;
- this.path = null; // Token
- }
-
- KW_IMPORT() {
- return this.getToken(HiveParser.KW_IMPORT, 0);
- }
-
- KW_FROM() {
- return this.getToken(HiveParser.KW_FROM, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- tableOrPartition() {
- return this.getTypedRuleContext(TableOrPartitionContext, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- tableLocation() {
- return this.getTypedRuleContext(TableLocationContext, 0);
- }
-
- KW_EXTERNAL() {
- return this.getToken(HiveParser.KW_EXTERNAL, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitImportStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ReplDumpStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_replDumpStatement;
- }
-
- KW_REPL() {
- return this.getToken(HiveParser.KW_REPL, 0);
- }
-
- KW_DUMP() {
- return this.getToken(HiveParser.KW_DUMP, 0);
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- DOT() {
- return this.getToken(HiveParser.DOT, 0);
- }
-
- KW_FROM() {
- return this.getToken(HiveParser.KW_FROM, 0);
- }
-
- Number = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.Number);
- } else {
- return this.getToken(HiveParser.Number, i);
- }
- };
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- replConfigs() {
- return this.getTypedRuleContext(ReplConfigsContext, 0);
- }
-
- KW_TO() {
- return this.getToken(HiveParser.KW_TO, 0);
- }
-
- KW_LIMIT() {
- return this.getToken(HiveParser.KW_LIMIT, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitReplDumpStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ReplLoadStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_replLoadStatement;
- }
-
- KW_REPL() {
- return this.getToken(HiveParser.KW_REPL, 0);
- }
-
- KW_LOAD() {
- return this.getToken(HiveParser.KW_LOAD, 0);
- }
-
- KW_FROM() {
- return this.getToken(HiveParser.KW_FROM, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- replConfigs() {
- return this.getTypedRuleContext(ReplConfigsContext, 0);
- }
-
- DOT() {
- return this.getToken(HiveParser.DOT, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitReplLoadStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ReplConfigsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_replConfigs;
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- replConfigsList() {
- return this.getTypedRuleContext(ReplConfigsListContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitReplConfigs(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ReplConfigsListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_replConfigsList;
- }
-
- keyValueProperty = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(KeyValuePropertyContext);
- } else {
- return this.getTypedRuleContext(KeyValuePropertyContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitReplConfigsList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ReplStatusStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_replStatusStatement;
- }
-
- KW_REPL() {
- return this.getToken(HiveParser.KW_REPL, 0);
- }
-
- KW_STATUS() {
- return this.getToken(HiveParser.KW_STATUS, 0);
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- DOT() {
- return this.getToken(HiveParser.DOT, 0);
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- replConfigs() {
- return this.getTypedRuleContext(ReplConfigsContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitReplStatusStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DdlStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_ddlStatement;
- }
-
- switchCatalogStatement() {
- return this.getTypedRuleContext(SwitchCatalogStatementContext, 0);
- }
-
- createDatabaseStatement() {
- return this.getTypedRuleContext(CreateDatabaseStatementContext, 0);
- }
-
- switchDatabaseStatement() {
- return this.getTypedRuleContext(SwitchDatabaseStatementContext, 0);
- }
-
- dropDatabaseStatement() {
- return this.getTypedRuleContext(DropDatabaseStatementContext, 0);
- }
-
- createTableStatement() {
- return this.getTypedRuleContext(CreateTableStatementContext, 0);
- }
-
- dropTableStatement() {
- return this.getTypedRuleContext(DropTableStatementContext, 0);
- }
-
- truncateTableStatement() {
- return this.getTypedRuleContext(TruncateTableStatementContext, 0);
- }
-
- unityTags() {
- return this.getTypedRuleContext(UnityTagsContext, 0);
- }
-
- alterStatement() {
- return this.getTypedRuleContext(AlterStatementContext, 0);
- }
-
- descStatement() {
- return this.getTypedRuleContext(DescStatementContext, 0);
- }
-
- showStatement() {
- return this.getTypedRuleContext(ShowStatementContext, 0);
- }
-
- metastoreCheck() {
- return this.getTypedRuleContext(MetastoreCheckContext, 0);
- }
-
- createViewStatement() {
- return this.getTypedRuleContext(CreateViewStatementContext, 0);
- }
-
- createMaterializedViewStatement() {
- return this.getTypedRuleContext(CreateMaterializedViewStatementContext, 0);
- }
-
- dropViewStatement() {
- return this.getTypedRuleContext(DropViewStatementContext, 0);
- }
-
- dropMaterializedViewStatement() {
- return this.getTypedRuleContext(DropMaterializedViewStatementContext, 0);
- }
-
- createFunctionStatement() {
- return this.getTypedRuleContext(CreateFunctionStatementContext, 0);
- }
-
- createMacroStatement() {
- return this.getTypedRuleContext(CreateMacroStatementContext, 0);
- }
-
- dropFunctionStatement() {
- return this.getTypedRuleContext(DropFunctionStatementContext, 0);
- }
-
- reloadFunctionStatement() {
- return this.getTypedRuleContext(ReloadFunctionStatementContext, 0);
- }
-
- dropMacroStatement() {
- return this.getTypedRuleContext(DropMacroStatementContext, 0);
- }
-
- analyzeStatement() {
- return this.getTypedRuleContext(AnalyzeStatementContext, 0);
- }
-
- lockStatement() {
- return this.getTypedRuleContext(LockStatementContext, 0);
- }
-
- unlockStatement() {
- return this.getTypedRuleContext(UnlockStatementContext, 0);
- }
-
- lockDatabase() {
- return this.getTypedRuleContext(LockDatabaseContext, 0);
- }
-
- unlockDatabase() {
- return this.getTypedRuleContext(UnlockDatabaseContext, 0);
- }
-
- createRoleStatement() {
- return this.getTypedRuleContext(CreateRoleStatementContext, 0);
- }
-
- dropRoleStatement() {
- return this.getTypedRuleContext(DropRoleStatementContext, 0);
- }
-
- grantPrivileges() {
- return this.getTypedRuleContext(GrantPrivilegesContext, 0);
- }
-
- revokePrivileges() {
- return this.getTypedRuleContext(RevokePrivilegesContext, 0);
- }
-
- showGrants() {
- return this.getTypedRuleContext(ShowGrantsContext, 0);
- }
-
- showRoleGrants() {
- return this.getTypedRuleContext(ShowRoleGrantsContext, 0);
- }
-
- showRolePrincipals() {
- return this.getTypedRuleContext(ShowRolePrincipalsContext, 0);
- }
-
- showRoles() {
- return this.getTypedRuleContext(ShowRolesContext, 0);
- }
-
- grantRole() {
- return this.getTypedRuleContext(GrantRoleContext, 0);
- }
-
- revokeRole() {
- return this.getTypedRuleContext(RevokeRoleContext, 0);
- }
-
- setRole() {
- return this.getTypedRuleContext(SetRoleContext, 0);
- }
-
- showCurrentRole() {
- return this.getTypedRuleContext(ShowCurrentRoleContext, 0);
- }
-
- abortTransactionStatement() {
- return this.getTypedRuleContext(AbortTransactionStatementContext, 0);
- }
-
- killQueryStatement() {
- return this.getTypedRuleContext(KillQueryStatementContext, 0);
- }
-
- resourcePlanDdlStatements() {
- return this.getTypedRuleContext(ResourcePlanDdlStatementsContext, 0);
- }
-
- createIndexStatement() {
- return this.getTypedRuleContext(CreateIndexStatementContext, 0);
- }
-
- dropIndexStatement() {
- return this.getTypedRuleContext(DropIndexStatementContext, 0);
- }
-
- createBloomfilterIndexStatement() {
- return this.getTypedRuleContext(CreateBloomfilterIndexStatementContext, 0);
- }
-
- dropBloomfilterIndexStatement() {
- return this.getTypedRuleContext(DropBloomfilterIndexStatementContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDdlStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class IfExistsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_ifExists;
- }
-
- KW_IF() {
- return this.getToken(HiveParser.KW_IF, 0);
- }
-
- KW_EXISTS() {
- return this.getToken(HiveParser.KW_EXISTS, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitIfExists(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RestrictOrCascadeContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_restrictOrCascade;
- }
-
- KW_RESTRICT() {
- return this.getToken(HiveParser.KW_RESTRICT, 0);
- }
-
- KW_CASCADE() {
- return this.getToken(HiveParser.KW_CASCADE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRestrictOrCascade(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class IfNotExistsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_ifNotExists;
- }
-
- KW_IF() {
- return this.getToken(HiveParser.KW_IF, 0);
- }
-
- KW_NOT() {
- return this.getToken(HiveParser.KW_NOT, 0);
- }
-
- KW_EXISTS() {
- return this.getToken(HiveParser.KW_EXISTS, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitIfNotExists(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RewriteEnabledContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_rewriteEnabled;
- }
-
- KW_ENABLE() {
- return this.getToken(HiveParser.KW_ENABLE, 0);
- }
-
- KW_REWRITE() {
- return this.getToken(HiveParser.KW_REWRITE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRewriteEnabled(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RewriteDisabledContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_rewriteDisabled;
- }
-
- KW_DISABLE() {
- return this.getToken(HiveParser.KW_DISABLE, 0);
- }
-
- KW_REWRITE() {
- return this.getToken(HiveParser.KW_REWRITE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRewriteDisabled(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class StoredAsDirsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_storedAsDirs;
- }
-
- KW_STORED() {
- return this.getToken(HiveParser.KW_STORED, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- KW_DIRECTORIES() {
- return this.getToken(HiveParser.KW_DIRECTORIES, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitStoredAsDirs(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class OrReplaceContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_orReplace;
- }
-
- KW_OR() {
- return this.getToken(HiveParser.KW_OR, 0);
- }
-
- KW_REPLACE() {
- return this.getToken(HiveParser.KW_REPLACE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitOrReplace(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class OrRefreshContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_orRefresh;
- }
-
- KW_OR() {
- return this.getToken(HiveParser.KW_OR, 0);
- }
-
- KW_REFRESH() {
- return this.getToken(HiveParser.KW_REFRESH, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitOrRefresh(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CreateDatabaseStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_createDatabaseStatement;
- }
-
- KW_CREATE() {
- return this.getToken(HiveParser.KW_CREATE, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_DATABASE() {
- return this.getToken(HiveParser.KW_DATABASE, 0);
- }
-
- KW_SCHEMA() {
- return this.getToken(HiveParser.KW_SCHEMA, 0);
- }
-
- ifNotExists() {
- return this.getTypedRuleContext(IfNotExistsContext, 0);
- }
-
- databaseComment() {
- return this.getTypedRuleContext(DatabaseCommentContext, 0);
- }
-
- dbLocation() {
- return this.getTypedRuleContext(DbLocationContext, 0);
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- KW_DBPROPERTIES() {
- return this.getToken(HiveParser.KW_DBPROPERTIES, 0);
- }
-
- dbProperties() {
- return this.getTypedRuleContext(DbPropertiesContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCreateDatabaseStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DbLocationContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dbLocation;
- }
-
- KW_MANAGED() {
- return this.getToken(HiveParser.KW_MANAGED, 0);
- }
-
- KW_LOCATION() {
- return this.getToken(HiveParser.KW_LOCATION, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDbLocation(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DbPropertiesContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dbProperties;
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- dbPropertiesList() {
- return this.getTypedRuleContext(DbPropertiesListContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDbProperties(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DbPropertiesListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dbPropertiesList;
- }
-
- keyValueProperty = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(KeyValuePropertyContext);
- } else {
- return this.getTypedRuleContext(KeyValuePropertyContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDbPropertiesList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SwitchCatalogStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_switchCatalogStatement;
- }
-
- KW_USE() {
- return this.getToken(HiveParser.KW_USE, 0);
- }
-
- KW_CATALOG() {
- return this.getToken(HiveParser.KW_CATALOG, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSwitchCatalogStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SwitchDatabaseStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_switchDatabaseStatement;
- }
-
- KW_USE() {
- return this.getToken(HiveParser.KW_USE, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSwitchDatabaseStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DropDatabaseStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dropDatabaseStatement;
- }
-
- KW_DROP() {
- return this.getToken(HiveParser.KW_DROP, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_DATABASE() {
- return this.getToken(HiveParser.KW_DATABASE, 0);
- }
-
- KW_SCHEMA() {
- return this.getToken(HiveParser.KW_SCHEMA, 0);
- }
-
- ifExists() {
- return this.getTypedRuleContext(IfExistsContext, 0);
- }
-
- restrictOrCascade() {
- return this.getTypedRuleContext(RestrictOrCascadeContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDropDatabaseStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DatabaseCommentContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_databaseComment;
- }
-
- KW_COMMENT() {
- return this.getToken(HiveParser.KW_COMMENT, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDatabaseComment(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CreateTableStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_createTableStatement;
- }
-
- KW_CREATE() {
- return this.getToken(HiveParser.KW_CREATE, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- tableName = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(TableNameContext);
- } else {
- return this.getTypedRuleContext(TableNameContext, i);
- }
- };
-
- KW_LIKE() {
- return this.getToken(HiveParser.KW_LIKE, 0);
- }
-
- orRefresh() {
- return this.getTypedRuleContext(OrRefreshContext, 0);
- }
-
- KW_TEMPORARY() {
- return this.getToken(HiveParser.KW_TEMPORARY, 0);
- }
-
- KW_EXTERNAL() {
- return this.getToken(HiveParser.KW_EXTERNAL, 0);
- }
-
- KW_STREAMING() {
- return this.getToken(HiveParser.KW_STREAMING, 0);
- }
-
- ifNotExists() {
- return this.getTypedRuleContext(IfNotExistsContext, 0);
- }
-
- tableRowFormat = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(TableRowFormatContext);
- } else {
- return this.getTypedRuleContext(TableRowFormatContext, i);
- }
- };
-
- tableFileFormat = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(TableFileFormatContext);
- } else {
- return this.getTypedRuleContext(TableFileFormatContext, i);
- }
- };
-
- tableUsingDataSource = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(TableUsingDataSourceContext);
- } else {
- return this.getTypedRuleContext(TableUsingDataSourceContext, i);
- }
- };
-
- tableLocation = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(TableLocationContext);
- } else {
- return this.getTypedRuleContext(TableLocationContext, i);
- }
- };
-
- tablePropertiesPrefixed = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(TablePropertiesPrefixedContext);
- } else {
- return this.getTypedRuleContext(TablePropertiesPrefixedContext, i);
- }
- };
-
- tableOptions = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(TableOptionsContext);
- } else {
- return this.getTypedRuleContext(TableOptionsContext, i);
- }
- };
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- columnNameTypeOrConstraintList() {
- return this.getTypedRuleContext(ColumnNameTypeOrConstraintListContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- tableBuckets = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(TableBucketsContext);
- } else {
- return this.getTypedRuleContext(TableBucketsContext, i);
- }
- };
-
- tableSkewed = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(TableSkewedContext);
- } else {
- return this.getTypedRuleContext(TableSkewedContext, i);
- }
- };
-
- tablePartition = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(TablePartitionContext);
- } else {
- return this.getTypedRuleContext(TablePartitionContext, i);
- }
- };
-
- tableComment = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(TableCommentContext);
- } else {
- return this.getTypedRuleContext(TableCommentContext, i);
- }
- };
-
- clusterByClause = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ClusterByClauseContext);
- } else {
- return this.getTypedRuleContext(ClusterByClauseContext, i);
- }
- };
-
- scheduleClause = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ScheduleClauseContext);
- } else {
- return this.getTypedRuleContext(ScheduleClauseContext, i);
- }
- };
-
- rowClause = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(RowClauseContext);
- } else {
- return this.getTypedRuleContext(RowClauseContext, i);
- }
- };
-
- triggerOnUpdateClause = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(TriggerOnUpdateClauseContext);
- } else {
- return this.getTypedRuleContext(TriggerOnUpdateClauseContext, i);
- }
- };
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- selectStatementWithCTE() {
- return this.getTypedRuleContext(SelectStatementWithCTEContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCreateTableStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TruncateTableStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_truncateTableStatement;
- }
-
- KW_TRUNCATE() {
- return this.getToken(HiveParser.KW_TRUNCATE, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- tablePartitionPrefix() {
- return this.getTypedRuleContext(TablePartitionPrefixContext, 0);
- }
-
- KW_COLUMNS() {
- return this.getToken(HiveParser.KW_COLUMNS, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- columnNameList() {
- return this.getTypedRuleContext(ColumnNameListContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTruncateTableStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DropTableStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dropTableStatement;
- }
-
- KW_DROP() {
- return this.getToken(HiveParser.KW_DROP, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- ifExists() {
- return this.getTypedRuleContext(IfExistsContext, 0);
- }
-
- KW_PURGE() {
- return this.getToken(HiveParser.KW_PURGE, 0);
- }
-
- replicationClause() {
- return this.getTypedRuleContext(ReplicationClauseContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDropTableStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TagValueContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tagValue;
- }
-
- EQUAL() {
- return this.getToken(HiveParser.EQUAL, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTagValue(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TagsPairContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tagsPair;
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- tagValue() {
- return this.getTypedRuleContext(TagValueContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTagsPair(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class UnityTagsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_unityTags;
- }
-
- KW_ALTER = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.KW_ALTER);
- } else {
- return this.getToken(HiveParser.KW_ALTER, i);
- }
- };
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- KW_SET() {
- return this.getToken(HiveParser.KW_SET, 0);
- }
-
- KW_TAGS() {
- return this.getToken(HiveParser.KW_TAGS, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- tagsPair = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(TagsPairContext);
- } else {
- return this.getTypedRuleContext(TagsPairContext, i);
- }
- };
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- KW_CATALOG() {
- return this.getToken(HiveParser.KW_CATALOG, 0);
- }
-
- KW_SCHEMA() {
- return this.getToken(HiveParser.KW_SCHEMA, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- KW_VIEW() {
- return this.getToken(HiveParser.KW_VIEW, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- KW_COLUMN() {
- return this.getToken(HiveParser.KW_COLUMN, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitUnityTags(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatement;
- }
-
- KW_ALTER() {
- return this.getToken(HiveParser.KW_ALTER, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- alterTableStatementSuffix() {
- return this.getTypedRuleContext(AlterTableStatementSuffixContext, 0);
- }
-
- KW_VIEW() {
- return this.getToken(HiveParser.KW_VIEW, 0);
- }
-
- alterViewStatementSuffix() {
- return this.getTypedRuleContext(AlterViewStatementSuffixContext, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- KW_MATERIALIZED() {
- return this.getToken(HiveParser.KW_MATERIALIZED, 0);
- }
-
- alterMaterializedViewStatementSuffix() {
- return this.getTypedRuleContext(AlterMaterializedViewStatementSuffixContext, 0);
- }
-
- alterDatabaseStatementSuffix() {
- return this.getTypedRuleContext(AlterDatabaseStatementSuffixContext, 0);
- }
-
- KW_DATABASE() {
- return this.getToken(HiveParser.KW_DATABASE, 0);
- }
-
- KW_SCHEMA() {
- return this.getToken(HiveParser.KW_SCHEMA, 0);
- }
-
- KW_INDEX() {
- return this.getToken(HiveParser.KW_INDEX, 0);
- }
-
- alterIndexStatementSuffix() {
- return this.getTypedRuleContext(AlterIndexStatementSuffixContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterTableStatementSuffixContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterTableStatementSuffix;
- }
-
- alterStatementSuffixRename() {
- return this.getTypedRuleContext(AlterStatementSuffixRenameContext, 0);
- }
-
- alterStatementSuffixDropPartitions() {
- return this.getTypedRuleContext(AlterStatementSuffixDropPartitionsContext, 0);
- }
-
- alterStatementSuffixAddPartitions() {
- return this.getTypedRuleContext(AlterStatementSuffixAddPartitionsContext, 0);
- }
-
- alterStatementSuffixTouch() {
- return this.getTypedRuleContext(AlterStatementSuffixTouchContext, 0);
- }
-
- alterStatementSuffixArchive() {
- return this.getTypedRuleContext(AlterStatementSuffixArchiveContext, 0);
- }
-
- alterStatementSuffixUnArchive() {
- return this.getTypedRuleContext(AlterStatementSuffixUnArchiveContext, 0);
- }
-
- alterStatementSuffixProperties() {
- return this.getTypedRuleContext(AlterStatementSuffixPropertiesContext, 0);
- }
-
- alterStatementSuffixSkewedby() {
- return this.getTypedRuleContext(AlterStatementSuffixSkewedbyContext, 0);
- }
-
- alterStatementSuffixExchangePartition() {
- return this.getTypedRuleContext(AlterStatementSuffixExchangePartitionContext, 0);
- }
-
- alterStatementPartitionKeyType() {
- return this.getTypedRuleContext(AlterStatementPartitionKeyTypeContext, 0);
- }
-
- alterStatementSuffixDropConstraint() {
- return this.getTypedRuleContext(AlterStatementSuffixDropConstraintContext, 0);
- }
-
- alterStatementSuffixAddConstraint() {
- return this.getTypedRuleContext(AlterStatementSuffixAddConstraintContext, 0);
- }
-
- alterTblPartitionStatementSuffix() {
- return this.getTypedRuleContext(AlterTblPartitionStatementSuffixContext, 0);
- }
-
- partitionSpec() {
- return this.getTypedRuleContext(PartitionSpecContext, 0);
- }
-
- alterStatementSuffixSetOwner() {
- return this.getTypedRuleContext(AlterStatementSuffixSetOwnerContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterTableStatementSuffix(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterTblPartitionStatementSuffixContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterTblPartitionStatementSuffix;
- }
-
- alterStatementSuffixFileFormat() {
- return this.getTypedRuleContext(AlterStatementSuffixFileFormatContext, 0);
- }
-
- alterStatementSuffixLocation() {
- return this.getTypedRuleContext(AlterStatementSuffixLocationContext, 0);
- }
-
- alterStatementSuffixMergeFiles() {
- return this.getTypedRuleContext(AlterStatementSuffixMergeFilesContext, 0);
- }
-
- alterStatementSuffixSerdeProperties() {
- return this.getTypedRuleContext(AlterStatementSuffixSerdePropertiesContext, 0);
- }
-
- alterStatementSuffixRenamePart() {
- return this.getTypedRuleContext(AlterStatementSuffixRenamePartContext, 0);
- }
-
- alterStatementSuffixBucketNum() {
- return this.getTypedRuleContext(AlterStatementSuffixBucketNumContext, 0);
- }
-
- alterTblPartitionStatementSuffixSkewedLocation() {
- return this.getTypedRuleContext(AlterTblPartitionStatementSuffixSkewedLocationContext, 0);
- }
-
- alterStatementSuffixClusterbySortby() {
- return this.getTypedRuleContext(AlterStatementSuffixClusterbySortbyContext, 0);
- }
-
- alterStatementSuffixCompact() {
- return this.getTypedRuleContext(AlterStatementSuffixCompactContext, 0);
- }
-
- alterStatementSuffixUpdateStatsCol() {
- return this.getTypedRuleContext(AlterStatementSuffixUpdateStatsColContext, 0);
- }
-
- alterStatementSuffixUpdateStats() {
- return this.getTypedRuleContext(AlterStatementSuffixUpdateStatsContext, 0);
- }
-
- alterStatementSuffixRenameCol() {
- return this.getTypedRuleContext(AlterStatementSuffixRenameColContext, 0);
- }
-
- alterStatementSuffixAddCol() {
- return this.getTypedRuleContext(AlterStatementSuffixAddColContext, 0);
- }
-
- alterStatementSuffixUpdateColumns() {
- return this.getTypedRuleContext(AlterStatementSuffixUpdateColumnsContext, 0);
- }
-
- alterStatementSuffixClusterBy() {
- return this.getTypedRuleContext(AlterStatementSuffixClusterByContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterTblPartitionStatementSuffix(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementPartitionKeyTypeContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementPartitionKeyType;
- }
-
- KW_PARTITION() {
- return this.getToken(HiveParser.KW_PARTITION, 0);
- }
-
- KW_COLUMN() {
- return this.getToken(HiveParser.KW_COLUMN, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- columnNameType() {
- return this.getTypedRuleContext(ColumnNameTypeContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementPartitionKeyType(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterViewStatementSuffixContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterViewStatementSuffix;
- }
-
- alterViewSuffixProperties() {
- return this.getTypedRuleContext(AlterViewSuffixPropertiesContext, 0);
- }
-
- alterStatementSuffixRename() {
- return this.getTypedRuleContext(AlterStatementSuffixRenameContext, 0);
- }
-
- alterStatementSuffixAddPartitions() {
- return this.getTypedRuleContext(AlterStatementSuffixAddPartitionsContext, 0);
- }
-
- alterStatementSuffixDropPartitions() {
- return this.getTypedRuleContext(AlterStatementSuffixDropPartitionsContext, 0);
- }
-
- selectStatementWithCTE() {
- return this.getTypedRuleContext(SelectStatementWithCTEContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterViewStatementSuffix(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterMaterializedViewStatementSuffixContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterMaterializedViewStatementSuffix;
- }
-
- alterMaterializedViewSuffixRewrite() {
- return this.getTypedRuleContext(AlterMaterializedViewSuffixRewriteContext, 0);
- }
-
- alterMaterializedViewSuffixRebuild() {
- return this.getTypedRuleContext(AlterMaterializedViewSuffixRebuildContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterMaterializedViewStatementSuffix(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterDatabaseStatementSuffixContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterDatabaseStatementSuffix;
- }
-
- alterDatabaseSuffixProperties() {
- return this.getTypedRuleContext(AlterDatabaseSuffixPropertiesContext, 0);
- }
-
- alterDatabaseSuffixSetOwner() {
- return this.getTypedRuleContext(AlterDatabaseSuffixSetOwnerContext, 0);
- }
-
- alterDatabaseSuffixSetLocation() {
- return this.getTypedRuleContext(AlterDatabaseSuffixSetLocationContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterDatabaseStatementSuffix(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterDatabaseSuffixPropertiesContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterDatabaseSuffixProperties;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_SET() {
- return this.getToken(HiveParser.KW_SET, 0);
- }
-
- KW_DBPROPERTIES() {
- return this.getToken(HiveParser.KW_DBPROPERTIES, 0);
- }
-
- dbProperties() {
- return this.getTypedRuleContext(DbPropertiesContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterDatabaseSuffixProperties(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterDatabaseSuffixSetOwnerContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterDatabaseSuffixSetOwner;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_SET() {
- return this.getToken(HiveParser.KW_SET, 0);
- }
-
- KW_OWNER() {
- return this.getToken(HiveParser.KW_OWNER, 0);
- }
-
- principalName() {
- return this.getTypedRuleContext(PrincipalNameContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterDatabaseSuffixSetOwner(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterDatabaseSuffixSetLocationContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterDatabaseSuffixSetLocation;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_SET() {
- return this.getToken(HiveParser.KW_SET, 0);
- }
-
- KW_LOCATION() {
- return this.getToken(HiveParser.KW_LOCATION, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterDatabaseSuffixSetLocation(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixRenameContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixRename;
- }
-
- KW_RENAME() {
- return this.getToken(HiveParser.KW_RENAME, 0);
- }
-
- KW_TO() {
- return this.getToken(HiveParser.KW_TO, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixRename(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixAddColContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixAddCol;
- }
-
- KW_COLUMNS() {
- return this.getToken(HiveParser.KW_COLUMNS, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- columnNameTypeList() {
- return this.getTypedRuleContext(ColumnNameTypeListContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- KW_ADD() {
- return this.getToken(HiveParser.KW_ADD, 0);
- }
-
- KW_REPLACE() {
- return this.getToken(HiveParser.KW_REPLACE, 0);
- }
-
- restrictOrCascade() {
- return this.getTypedRuleContext(RestrictOrCascadeContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixAddCol(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixAddConstraintContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixAddConstraint;
- }
-
- KW_ADD() {
- return this.getToken(HiveParser.KW_ADD, 0);
- }
-
- alterForeignKeyWithName() {
- return this.getTypedRuleContext(AlterForeignKeyWithNameContext, 0);
- }
-
- alterConstraintWithName() {
- return this.getTypedRuleContext(AlterConstraintWithNameContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixAddConstraint(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixUpdateColumnsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixUpdateColumns;
- }
-
- KW_UPDATE() {
- return this.getToken(HiveParser.KW_UPDATE, 0);
- }
-
- KW_COLUMNS() {
- return this.getToken(HiveParser.KW_COLUMNS, 0);
- }
-
- restrictOrCascade() {
- return this.getTypedRuleContext(RestrictOrCascadeContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixUpdateColumns(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixDropConstraintContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixDropConstraint;
- }
-
- KW_DROP() {
- return this.getToken(HiveParser.KW_DROP, 0);
- }
-
- KW_CONSTRAINT() {
- return this.getToken(HiveParser.KW_CONSTRAINT, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixDropConstraint(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixRenameColContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixRenameCol;
- }
-
- KW_CHANGE() {
- return this.getToken(HiveParser.KW_CHANGE, 0);
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- colType() {
- return this.getTypedRuleContext(ColTypeContext, 0);
- }
-
- KW_COLUMN() {
- return this.getToken(HiveParser.KW_COLUMN, 0);
- }
-
- alterColumnConstraint() {
- return this.getTypedRuleContext(AlterColumnConstraintContext, 0);
- }
-
- KW_COMMENT() {
- return this.getToken(HiveParser.KW_COMMENT, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- alterStatementChangeColPosition() {
- return this.getTypedRuleContext(AlterStatementChangeColPositionContext, 0);
- }
-
- restrictOrCascade() {
- return this.getTypedRuleContext(RestrictOrCascadeContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixRenameCol(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixUpdateStatsColContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixUpdateStatsCol;
- }
-
- KW_UPDATE() {
- return this.getToken(HiveParser.KW_UPDATE, 0);
- }
-
- KW_STATISTICS() {
- return this.getToken(HiveParser.KW_STATISTICS, 0);
- }
-
- KW_FOR() {
- return this.getToken(HiveParser.KW_FOR, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_SET() {
- return this.getToken(HiveParser.KW_SET, 0);
- }
-
- tableProperties() {
- return this.getTypedRuleContext(TablePropertiesContext, 0);
- }
-
- KW_COLUMN() {
- return this.getToken(HiveParser.KW_COLUMN, 0);
- }
-
- KW_COMMENT() {
- return this.getToken(HiveParser.KW_COMMENT, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixUpdateStatsCol(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixUpdateStatsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixUpdateStats;
- }
-
- KW_UPDATE() {
- return this.getToken(HiveParser.KW_UPDATE, 0);
- }
-
- KW_STATISTICS() {
- return this.getToken(HiveParser.KW_STATISTICS, 0);
- }
-
- KW_SET() {
- return this.getToken(HiveParser.KW_SET, 0);
- }
-
- tableProperties() {
- return this.getTypedRuleContext(TablePropertiesContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixUpdateStats(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementChangeColPositionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementChangeColPosition;
- this.first = null; // Token
- }
-
- KW_FIRST() {
- return this.getToken(HiveParser.KW_FIRST, 0);
- }
-
- KW_AFTER() {
- return this.getToken(HiveParser.KW_AFTER, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementChangeColPosition(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixAddPartitionsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixAddPartitions;
- }
-
- KW_ADD() {
- return this.getToken(HiveParser.KW_ADD, 0);
- }
-
- ifNotExists() {
- return this.getTypedRuleContext(IfNotExistsContext, 0);
- }
-
- alterStatementSuffixAddPartitionsElement = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(AlterStatementSuffixAddPartitionsElementContext);
- } else {
- return this.getTypedRuleContext(AlterStatementSuffixAddPartitionsElementContext, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixAddPartitions(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixAddPartitionsElementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixAddPartitionsElement;
- }
-
- partitionSpec() {
- return this.getTypedRuleContext(PartitionSpecContext, 0);
- }
-
- partitionLocation() {
- return this.getTypedRuleContext(PartitionLocationContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixAddPartitionsElement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixTouchContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixTouch;
- }
-
- KW_TOUCH() {
- return this.getToken(HiveParser.KW_TOUCH, 0);
- }
-
- partitionSpec = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(PartitionSpecContext);
- } else {
- return this.getTypedRuleContext(PartitionSpecContext, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixTouch(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixArchiveContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixArchive;
- }
-
- KW_ARCHIVE() {
- return this.getToken(HiveParser.KW_ARCHIVE, 0);
- }
-
- partitionSpec = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(PartitionSpecContext);
- } else {
- return this.getTypedRuleContext(PartitionSpecContext, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixArchive(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixUnArchiveContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixUnArchive;
- }
-
- KW_UNARCHIVE() {
- return this.getToken(HiveParser.KW_UNARCHIVE, 0);
- }
-
- partitionSpec = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(PartitionSpecContext);
- } else {
- return this.getTypedRuleContext(PartitionSpecContext, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixUnArchive(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PartitionLocationContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_partitionLocation;
- }
-
- KW_LOCATION() {
- return this.getToken(HiveParser.KW_LOCATION, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPartitionLocation(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixDropPartitionsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixDropPartitions;
- }
-
- KW_DROP() {
- return this.getToken(HiveParser.KW_DROP, 0);
- }
-
- dropPartitionSpec = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(DropPartitionSpecContext);
- } else {
- return this.getTypedRuleContext(DropPartitionSpecContext, i);
- }
- };
-
- ifExists() {
- return this.getTypedRuleContext(IfExistsContext, 0);
- }
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- KW_PURGE() {
- return this.getToken(HiveParser.KW_PURGE, 0);
- }
-
- replicationClause() {
- return this.getTypedRuleContext(ReplicationClauseContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixDropPartitions(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixPropertiesContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixProperties;
- }
-
- KW_SET() {
- return this.getToken(HiveParser.KW_SET, 0);
- }
-
- KW_TBLPROPERTIES() {
- return this.getToken(HiveParser.KW_TBLPROPERTIES, 0);
- }
-
- tableProperties() {
- return this.getTypedRuleContext(TablePropertiesContext, 0);
- }
-
- KW_UNSET() {
- return this.getToken(HiveParser.KW_UNSET, 0);
- }
-
- ifExists() {
- return this.getTypedRuleContext(IfExistsContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixProperties(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterViewSuffixPropertiesContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterViewSuffixProperties;
- }
-
- KW_SET() {
- return this.getToken(HiveParser.KW_SET, 0);
- }
-
- KW_TBLPROPERTIES() {
- return this.getToken(HiveParser.KW_TBLPROPERTIES, 0);
- }
-
- tableProperties() {
- return this.getTypedRuleContext(TablePropertiesContext, 0);
- }
-
- KW_UNSET() {
- return this.getToken(HiveParser.KW_UNSET, 0);
- }
-
- ifExists() {
- return this.getTypedRuleContext(IfExistsContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterViewSuffixProperties(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterMaterializedViewSuffixRewriteContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterMaterializedViewSuffixRewrite;
- }
-
- rewriteEnabled() {
- return this.getTypedRuleContext(RewriteEnabledContext, 0);
- }
-
- rewriteDisabled() {
- return this.getTypedRuleContext(RewriteDisabledContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterMaterializedViewSuffixRewrite(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterMaterializedViewSuffixRebuildContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterMaterializedViewSuffixRebuild;
- }
-
- KW_REBUILD() {
- return this.getToken(HiveParser.KW_REBUILD, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterMaterializedViewSuffixRebuild(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixSerdePropertiesContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixSerdeProperties;
- }
-
- KW_SET() {
- return this.getToken(HiveParser.KW_SET, 0);
- }
-
- KW_SERDE() {
- return this.getToken(HiveParser.KW_SERDE, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- KW_SERDEPROPERTIES() {
- return this.getToken(HiveParser.KW_SERDEPROPERTIES, 0);
- }
-
- tableProperties() {
- return this.getTypedRuleContext(TablePropertiesContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixSerdeProperties(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterIndexStatementSuffixContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterIndexStatementSuffix;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_ON() {
- return this.getToken(HiveParser.KW_ON, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- KW_REBUILD() {
- return this.getToken(HiveParser.KW_REBUILD, 0);
- }
-
- partitionSpec() {
- return this.getTypedRuleContext(PartitionSpecContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterIndexStatementSuffix(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixFileFormatContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixFileFormat;
- }
-
- KW_SET() {
- return this.getToken(HiveParser.KW_SET, 0);
- }
-
- KW_FILEFORMAT() {
- return this.getToken(HiveParser.KW_FILEFORMAT, 0);
- }
-
- fileFormat() {
- return this.getTypedRuleContext(FileFormatContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixFileFormat(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixClusterbySortbyContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixClusterbySortby;
- }
-
- KW_NOT() {
- return this.getToken(HiveParser.KW_NOT, 0);
- }
-
- KW_CLUSTERED() {
- return this.getToken(HiveParser.KW_CLUSTERED, 0);
- }
-
- KW_SORTED() {
- return this.getToken(HiveParser.KW_SORTED, 0);
- }
-
- tableBuckets() {
- return this.getTypedRuleContext(TableBucketsContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixClusterbySortby(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixClusterByContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixClusterBy;
- }
-
- clusterByClause() {
- return this.getTypedRuleContext(ClusterByClauseContext, 0);
- }
-
- KW_CLUSTER() {
- return this.getToken(HiveParser.KW_CLUSTER, 0);
- }
-
- KW_BY() {
- return this.getToken(HiveParser.KW_BY, 0);
- }
-
- KW_NONE() {
- return this.getToken(HiveParser.KW_NONE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixClusterBy(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterTblPartitionStatementSuffixSkewedLocationContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterTblPartitionStatementSuffixSkewedLocation;
- }
-
- KW_SET() {
- return this.getToken(HiveParser.KW_SET, 0);
- }
-
- KW_SKEWED() {
- return this.getToken(HiveParser.KW_SKEWED, 0);
- }
-
- KW_LOCATION() {
- return this.getToken(HiveParser.KW_LOCATION, 0);
- }
-
- skewedLocations() {
- return this.getTypedRuleContext(SkewedLocationsContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterTblPartitionStatementSuffixSkewedLocation(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SkewedLocationsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_skewedLocations;
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- skewedLocationsList() {
- return this.getTypedRuleContext(SkewedLocationsListContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSkewedLocations(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SkewedLocationsListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_skewedLocationsList;
- }
-
- skewedLocationMap = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(SkewedLocationMapContext);
- } else {
- return this.getTypedRuleContext(SkewedLocationMapContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSkewedLocationsList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SkewedLocationMapContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_skewedLocationMap;
- }
-
- skewedValueLocationElement() {
- return this.getTypedRuleContext(SkewedValueLocationElementContext, 0);
- }
-
- EQUAL() {
- return this.getToken(HiveParser.EQUAL, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSkewedLocationMap(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixLocationContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixLocation;
- }
-
- KW_SET() {
- return this.getToken(HiveParser.KW_SET, 0);
- }
-
- KW_LOCATION() {
- return this.getToken(HiveParser.KW_LOCATION, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixLocation(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixSkewedbyContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixSkewedby;
- }
-
- tableSkewed() {
- return this.getTypedRuleContext(TableSkewedContext, 0);
- }
-
- KW_NOT() {
- return this.getToken(HiveParser.KW_NOT, 0);
- }
-
- KW_SKEWED() {
- return this.getToken(HiveParser.KW_SKEWED, 0);
- }
-
- storedAsDirs() {
- return this.getTypedRuleContext(StoredAsDirsContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixSkewedby(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixExchangePartitionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixExchangePartition;
- }
-
- KW_EXCHANGE() {
- return this.getToken(HiveParser.KW_EXCHANGE, 0);
- }
-
- partitionSpec() {
- return this.getTypedRuleContext(PartitionSpecContext, 0);
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixExchangePartition(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixRenamePartContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixRenamePart;
- }
-
- KW_RENAME() {
- return this.getToken(HiveParser.KW_RENAME, 0);
- }
-
- KW_TO() {
- return this.getToken(HiveParser.KW_TO, 0);
- }
-
- partitionSpec() {
- return this.getTypedRuleContext(PartitionSpecContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixRenamePart(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixStatsPartContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixStatsPart;
- }
-
- KW_UPDATE() {
- return this.getToken(HiveParser.KW_UPDATE, 0);
- }
-
- KW_STATISTICS() {
- return this.getToken(HiveParser.KW_STATISTICS, 0);
- }
-
- KW_FOR() {
- return this.getToken(HiveParser.KW_FOR, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_SET() {
- return this.getToken(HiveParser.KW_SET, 0);
- }
-
- tableProperties() {
- return this.getTypedRuleContext(TablePropertiesContext, 0);
- }
-
- KW_COLUMN() {
- return this.getToken(HiveParser.KW_COLUMN, 0);
- }
-
- KW_COMMENT() {
- return this.getToken(HiveParser.KW_COMMENT, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixStatsPart(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixMergeFilesContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixMergeFiles;
- }
-
- KW_CONCATENATE() {
- return this.getToken(HiveParser.KW_CONCATENATE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixMergeFiles(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixBucketNumContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixBucketNum;
- }
-
- KW_INTO() {
- return this.getToken(HiveParser.KW_INTO, 0);
- }
-
- Number() {
- return this.getToken(HiveParser.Number, 0);
- }
-
- KW_BUCKETS() {
- return this.getToken(HiveParser.KW_BUCKETS, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixBucketNum(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CreateIndexStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_createIndexStatement;
- }
-
- createIndexMainStatement() {
- return this.getTypedRuleContext(CreateIndexMainStatementContext, 0);
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- KW_DEFERRED() {
- return this.getToken(HiveParser.KW_DEFERRED, 0);
- }
-
- KW_REBUILD() {
- return this.getToken(HiveParser.KW_REBUILD, 0);
- }
-
- KW_IDXPROPERTIES() {
- return this.getToken(HiveParser.KW_IDXPROPERTIES, 0);
- }
-
- tableProperties() {
- return this.getTypedRuleContext(TablePropertiesContext, 0);
- }
-
- KW_IN() {
- return this.getToken(HiveParser.KW_IN, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- KW_PARTITIONED() {
- return this.getToken(HiveParser.KW_PARTITIONED, 0);
- }
-
- KW_BY() {
- return this.getToken(HiveParser.KW_BY, 0);
- }
-
- columnParenthesesList() {
- return this.getTypedRuleContext(ColumnParenthesesListContext, 0);
- }
-
- tableFileFormat() {
- return this.getTypedRuleContext(TableFileFormatContext, 0);
- }
-
- KW_LOCATION() {
- return this.getToken(HiveParser.KW_LOCATION, 0);
- }
-
- poolPath() {
- return this.getTypedRuleContext(PoolPathContext, 0);
- }
-
- tablePropertiesPrefixed() {
- return this.getTypedRuleContext(TablePropertiesPrefixedContext, 0);
- }
-
- tableComment() {
- return this.getTypedRuleContext(TableCommentContext, 0);
- }
-
- tableRowFormat() {
- return this.getTypedRuleContext(TableRowFormatContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCreateIndexStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CreateIndexMainStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_createIndexMainStatement;
- }
-
- KW_CREATE() {
- return this.getToken(HiveParser.KW_CREATE, 0);
- }
-
- KW_INDEX() {
- return this.getToken(HiveParser.KW_INDEX, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_ON() {
- return this.getToken(HiveParser.KW_ON, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- columnParenthesesList() {
- return this.getTypedRuleContext(ColumnParenthesesListContext, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCreateIndexMainStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DropIndexStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dropIndexStatement;
- }
-
- KW_DROP() {
- return this.getToken(HiveParser.KW_DROP, 0);
- }
-
- KW_INDEX() {
- return this.getToken(HiveParser.KW_INDEX, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_ON() {
- return this.getToken(HiveParser.KW_ON, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDropIndexStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CreateBloomfilterIndexStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_createBloomfilterIndexStatement;
- }
-
- createBloomfilterIndexMainStatement() {
- return this.getTypedRuleContext(CreateBloomfilterIndexMainStatementContext, 0);
- }
-
- KW_FOR() {
- return this.getToken(HiveParser.KW_FOR, 0);
- }
-
- KW_COLUMNS() {
- return this.getToken(HiveParser.KW_COLUMNS, 0);
- }
-
- bloomfilterColumnParenthesesList() {
- return this.getTypedRuleContext(BloomfilterColumnParenthesesListContext, 0);
- }
-
- bloomfilterIndexOptions() {
- return this.getTypedRuleContext(BloomfilterIndexOptionsContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCreateBloomfilterIndexStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CreateBloomfilterIndexMainStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_createBloomfilterIndexMainStatement;
- }
-
- KW_CREATE() {
- return this.getToken(HiveParser.KW_CREATE, 0);
- }
-
- KW_BLOOMFILTER() {
- return this.getToken(HiveParser.KW_BLOOMFILTER, 0);
- }
-
- KW_INDEX() {
- return this.getToken(HiveParser.KW_INDEX, 0);
- }
-
- KW_ON() {
- return this.getToken(HiveParser.KW_ON, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCreateBloomfilterIndexMainStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class BloomfilterColumnParenthesesListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_bloomfilterColumnParenthesesList;
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- bloomfilterColumnNameList() {
- return this.getTypedRuleContext(BloomfilterColumnNameListContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitBloomfilterColumnParenthesesList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class BloomfilterColumnNameListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_bloomfilterColumnNameList;
- }
-
- bloomfilterColumnName = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(BloomfilterColumnNameContext);
- } else {
- return this.getTypedRuleContext(BloomfilterColumnNameContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitBloomfilterColumnNameList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class BloomfilterColumnNameContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_bloomfilterColumnName;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- bloomfilterIndexOptions() {
- return this.getTypedRuleContext(BloomfilterIndexOptionsContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitBloomfilterColumnName(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class BloomfilterIndexOptionsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_bloomfilterIndexOptions;
- }
-
- KW_OPTIONS() {
- return this.getToken(HiveParser.KW_OPTIONS, 0);
- }
-
- tableProperties() {
- return this.getTypedRuleContext(TablePropertiesContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitBloomfilterIndexOptions(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DropBloomfilterIndexStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dropBloomfilterIndexStatement;
- }
-
- dropBloomfilterIndexMainStatement() {
- return this.getTypedRuleContext(DropBloomfilterIndexMainStatementContext, 0);
- }
-
- KW_FOR() {
- return this.getToken(HiveParser.KW_FOR, 0);
- }
-
- KW_COLUMNS() {
- return this.getToken(HiveParser.KW_COLUMNS, 0);
- }
-
- bloomfilterColumnParenthesesList() {
- return this.getTypedRuleContext(BloomfilterColumnParenthesesListContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDropBloomfilterIndexStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DropBloomfilterIndexMainStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dropBloomfilterIndexMainStatement;
- }
-
- KW_DROP() {
- return this.getToken(HiveParser.KW_DROP, 0);
- }
-
- KW_BLOOMFILTER() {
- return this.getToken(HiveParser.KW_BLOOMFILTER, 0);
- }
-
- KW_INDEX() {
- return this.getToken(HiveParser.KW_INDEX, 0);
- }
-
- KW_ON() {
- return this.getToken(HiveParser.KW_ON, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDropBloomfilterIndexMainStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TablePartitionPrefixContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tablePartitionPrefix;
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- partitionSpec() {
- return this.getTypedRuleContext(PartitionSpecContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTablePartitionPrefix(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class BlockingContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_blocking;
- }
-
- KW_AND() {
- return this.getToken(HiveParser.KW_AND, 0);
- }
-
- KW_WAIT() {
- return this.getToken(HiveParser.KW_WAIT, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitBlocking(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixCompactContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixCompact;
- }
-
- KW_COMPACT() {
- return this.getToken(HiveParser.KW_COMPACT, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- blocking() {
- return this.getTypedRuleContext(BlockingContext, 0);
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- KW_OVERWRITE() {
- return this.getToken(HiveParser.KW_OVERWRITE, 0);
- }
-
- KW_TBLPROPERTIES() {
- return this.getToken(HiveParser.KW_TBLPROPERTIES, 0);
- }
-
- tableProperties() {
- return this.getTypedRuleContext(TablePropertiesContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixCompact(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterStatementSuffixSetOwnerContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterStatementSuffixSetOwner;
- }
-
- KW_SET() {
- return this.getToken(HiveParser.KW_SET, 0);
- }
-
- KW_OWNER() {
- return this.getToken(HiveParser.KW_OWNER, 0);
- }
-
- principalName() {
- return this.getTypedRuleContext(PrincipalNameContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterStatementSuffixSetOwner(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class FileFormatContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_fileFormat;
- }
-
- KW_INPUTFORMAT() {
- return this.getToken(HiveParser.KW_INPUTFORMAT, 0);
- }
-
- StringLiteral = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.StringLiteral);
- } else {
- return this.getToken(HiveParser.StringLiteral, i);
- }
- };
-
- KW_OUTPUTFORMAT() {
- return this.getToken(HiveParser.KW_OUTPUTFORMAT, 0);
- }
-
- KW_SERDE() {
- return this.getToken(HiveParser.KW_SERDE, 0);
- }
-
- KW_INPUTDRIVER() {
- return this.getToken(HiveParser.KW_INPUTDRIVER, 0);
- }
-
- KW_OUTPUTDRIVER() {
- return this.getToken(HiveParser.KW_OUTPUTDRIVER, 0);
- }
-
- tableFileFormatStoredAsFormat() {
- return this.getTypedRuleContext(TableFileFormatStoredAsFormatContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitFileFormat(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class InputFileFormatContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_inputFileFormat;
- }
-
- KW_INPUTFORMAT() {
- return this.getToken(HiveParser.KW_INPUTFORMAT, 0);
- }
-
- StringLiteral = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.StringLiteral);
- } else {
- return this.getToken(HiveParser.StringLiteral, i);
- }
- };
-
- KW_SERDE() {
- return this.getToken(HiveParser.KW_SERDE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitInputFileFormat(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TabTypeExprContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tabTypeExpr;
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- DOT = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.DOT);
- } else {
- return this.getToken(HiveParser.DOT, i);
- }
- };
-
- KW_ELEM_TYPE = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.KW_ELEM_TYPE);
- } else {
- return this.getToken(HiveParser.KW_ELEM_TYPE, i);
- }
- };
-
- KW_KEY_TYPE = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.KW_KEY_TYPE);
- } else {
- return this.getToken(HiveParser.KW_KEY_TYPE, i);
- }
- };
-
- KW_VALUE_TYPE = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.KW_VALUE_TYPE);
- } else {
- return this.getToken(HiveParser.KW_VALUE_TYPE, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTabTypeExpr(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PartTypeExprContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_partTypeExpr;
- }
-
- tabTypeExpr() {
- return this.getTypedRuleContext(TabTypeExprContext, 0);
- }
-
- partitionSpec() {
- return this.getTypedRuleContext(PartitionSpecContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPartTypeExpr(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TabPartColTypeExprContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tabPartColTypeExpr;
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- partitionSpec() {
- return this.getTypedRuleContext(PartitionSpecContext, 0);
- }
-
- extColumnName() {
- return this.getTypedRuleContext(ExtColumnNameContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTabPartColTypeExpr(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DescStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_descStatement;
- }
-
- KW_DESCRIBE() {
- return this.getToken(HiveParser.KW_DESCRIBE, 0);
- }
-
- KW_DESC() {
- return this.getToken(HiveParser.KW_DESC, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_FUNCTION() {
- return this.getToken(HiveParser.KW_FUNCTION, 0);
- }
-
- descFuncNames() {
- return this.getTypedRuleContext(DescFuncNamesContext, 0);
- }
-
- tabPartColTypeExpr() {
- return this.getTypedRuleContext(TabPartColTypeExprContext, 0);
- }
-
- KW_DATABASE() {
- return this.getToken(HiveParser.KW_DATABASE, 0);
- }
-
- KW_SCHEMA() {
- return this.getToken(HiveParser.KW_SCHEMA, 0);
- }
-
- KW_EXTENDED() {
- return this.getToken(HiveParser.KW_EXTENDED, 0);
- }
-
- KW_FORMATTED() {
- return this.getToken(HiveParser.KW_FORMATTED, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDescStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AnalyzeStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_analyzeStatement;
- }
-
- KW_ANALYZE() {
- return this.getToken(HiveParser.KW_ANALYZE, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- tableOrPartition() {
- return this.getTypedRuleContext(TableOrPartitionContext, 0);
- }
-
- KW_COMPUTE() {
- return this.getToken(HiveParser.KW_COMPUTE, 0);
- }
-
- KW_STATISTICS() {
- return this.getToken(HiveParser.KW_STATISTICS, 0);
- }
-
- KW_CACHE() {
- return this.getToken(HiveParser.KW_CACHE, 0);
- }
-
- KW_METADATA() {
- return this.getToken(HiveParser.KW_METADATA, 0);
- }
-
- KW_NOSCAN() {
- return this.getToken(HiveParser.KW_NOSCAN, 0);
- }
-
- KW_FOR() {
- return this.getToken(HiveParser.KW_FOR, 0);
- }
-
- KW_COLUMNS() {
- return this.getToken(HiveParser.KW_COLUMNS, 0);
- }
-
- columnNameList() {
- return this.getTypedRuleContext(ColumnNameListContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAnalyzeStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ShowStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_showStatement;
- }
-
- KW_SHOW() {
- return this.getToken(HiveParser.KW_SHOW, 0);
- }
-
- KW_DATABASES() {
- return this.getToken(HiveParser.KW_DATABASES, 0);
- }
-
- KW_SCHEMAS() {
- return this.getToken(HiveParser.KW_SCHEMAS, 0);
- }
-
- KW_LIKE() {
- return this.getToken(HiveParser.KW_LIKE, 0);
- }
-
- showStmtIdentifier() {
- return this.getTypedRuleContext(ShowStmtIdentifierContext, 0);
- }
-
- KW_TABLES() {
- return this.getToken(HiveParser.KW_TABLES, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_FROM = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.KW_FROM);
- } else {
- return this.getToken(HiveParser.KW_FROM, i);
- }
- };
-
- KW_IN = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.KW_IN);
- } else {
- return this.getToken(HiveParser.KW_IN, i);
- }
- };
-
- KW_VIEWS() {
- return this.getToken(HiveParser.KW_VIEWS, 0);
- }
-
- KW_MATERIALIZED() {
- return this.getToken(HiveParser.KW_MATERIALIZED, 0);
- }
-
- KW_COLUMNS() {
- return this.getToken(HiveParser.KW_COLUMNS, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- KW_FUNCTIONS() {
- return this.getToken(HiveParser.KW_FUNCTIONS, 0);
- }
-
- showFunctionIdentifier() {
- return this.getTypedRuleContext(ShowFunctionIdentifierContext, 0);
- }
-
- KW_PARTITIONS() {
- return this.getToken(HiveParser.KW_PARTITIONS, 0);
- }
-
- partitionSpec() {
- return this.getTypedRuleContext(PartitionSpecContext, 0);
- }
-
- KW_CREATE() {
- return this.getToken(HiveParser.KW_CREATE, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- KW_DATABASE() {
- return this.getToken(HiveParser.KW_DATABASE, 0);
- }
-
- KW_SCHEMA() {
- return this.getToken(HiveParser.KW_SCHEMA, 0);
- }
-
- KW_EXTENDED() {
- return this.getToken(HiveParser.KW_EXTENDED, 0);
- }
-
- KW_TBLPROPERTIES() {
- return this.getToken(HiveParser.KW_TBLPROPERTIES, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- KW_LOCKS() {
- return this.getToken(HiveParser.KW_LOCKS, 0);
- }
-
- partTypeExpr() {
- return this.getTypedRuleContext(PartTypeExprContext, 0);
- }
-
- KW_COMPACTIONS() {
- return this.getToken(HiveParser.KW_COMPACTIONS, 0);
- }
-
- KW_TRANSACTIONS() {
- return this.getToken(HiveParser.KW_TRANSACTIONS, 0);
- }
-
- KW_CONF() {
- return this.getToken(HiveParser.KW_CONF, 0);
- }
-
- KW_RESOURCE() {
- return this.getToken(HiveParser.KW_RESOURCE, 0);
- }
-
- KW_PLANS() {
- return this.getToken(HiveParser.KW_PLANS, 0);
- }
-
- KW_PLAN() {
- return this.getToken(HiveParser.KW_PLAN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitShowStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class LockStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_lockStatement;
- }
-
- KW_LOCK() {
- return this.getToken(HiveParser.KW_LOCK, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- lockMode() {
- return this.getTypedRuleContext(LockModeContext, 0);
- }
-
- partitionSpec() {
- return this.getTypedRuleContext(PartitionSpecContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitLockStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class LockDatabaseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_lockDatabase;
- }
-
- KW_LOCK() {
- return this.getToken(HiveParser.KW_LOCK, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- lockMode() {
- return this.getTypedRuleContext(LockModeContext, 0);
- }
-
- KW_DATABASE() {
- return this.getToken(HiveParser.KW_DATABASE, 0);
- }
-
- KW_SCHEMA() {
- return this.getToken(HiveParser.KW_SCHEMA, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitLockDatabase(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class LockModeContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_lockMode;
- }
-
- KW_SHARED() {
- return this.getToken(HiveParser.KW_SHARED, 0);
- }
-
- KW_EXCLUSIVE() {
- return this.getToken(HiveParser.KW_EXCLUSIVE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitLockMode(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class UnlockStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_unlockStatement;
- }
-
- KW_UNLOCK() {
- return this.getToken(HiveParser.KW_UNLOCK, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- partitionSpec() {
- return this.getTypedRuleContext(PartitionSpecContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitUnlockStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class UnlockDatabaseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_unlockDatabase;
- }
-
- KW_UNLOCK() {
- return this.getToken(HiveParser.KW_UNLOCK, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_DATABASE() {
- return this.getToken(HiveParser.KW_DATABASE, 0);
- }
-
- KW_SCHEMA() {
- return this.getToken(HiveParser.KW_SCHEMA, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitUnlockDatabase(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CreateRoleStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_createRoleStatement;
- }
-
- KW_CREATE() {
- return this.getToken(HiveParser.KW_CREATE, 0);
- }
-
- KW_ROLE() {
- return this.getToken(HiveParser.KW_ROLE, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCreateRoleStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DropRoleStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dropRoleStatement;
- }
-
- KW_DROP() {
- return this.getToken(HiveParser.KW_DROP, 0);
- }
-
- KW_ROLE() {
- return this.getToken(HiveParser.KW_ROLE, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDropRoleStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class GrantPrivilegesContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_grantPrivileges;
- }
-
- KW_GRANT() {
- return this.getToken(HiveParser.KW_GRANT, 0);
- }
-
- privilegeList() {
- return this.getTypedRuleContext(PrivilegeListContext, 0);
- }
-
- KW_TO() {
- return this.getToken(HiveParser.KW_TO, 0);
- }
-
- principalSpecification() {
- return this.getTypedRuleContext(PrincipalSpecificationContext, 0);
- }
-
- privilegeObject() {
- return this.getTypedRuleContext(PrivilegeObjectContext, 0);
- }
-
- withGrantOption() {
- return this.getTypedRuleContext(WithGrantOptionContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitGrantPrivileges(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RevokePrivilegesContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_revokePrivileges;
- }
-
- KW_REVOKE() {
- return this.getToken(HiveParser.KW_REVOKE, 0);
- }
-
- privilegeList() {
- return this.getTypedRuleContext(PrivilegeListContext, 0);
- }
-
- KW_FROM() {
- return this.getToken(HiveParser.KW_FROM, 0);
- }
-
- principalSpecification() {
- return this.getTypedRuleContext(PrincipalSpecificationContext, 0);
- }
-
- grantOptionFor() {
- return this.getTypedRuleContext(GrantOptionForContext, 0);
- }
-
- privilegeObject() {
- return this.getTypedRuleContext(PrivilegeObjectContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRevokePrivileges(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class GrantRoleContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_grantRole;
- }
-
- KW_GRANT() {
- return this.getToken(HiveParser.KW_GRANT, 0);
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- KW_TO() {
- return this.getToken(HiveParser.KW_TO, 0);
- }
-
- principalSpecification() {
- return this.getTypedRuleContext(PrincipalSpecificationContext, 0);
- }
-
- KW_ROLE() {
- return this.getToken(HiveParser.KW_ROLE, 0);
- }
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- withAdminOption() {
- return this.getTypedRuleContext(WithAdminOptionContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitGrantRole(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RevokeRoleContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_revokeRole;
- }
-
- KW_REVOKE() {
- return this.getToken(HiveParser.KW_REVOKE, 0);
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- KW_FROM() {
- return this.getToken(HiveParser.KW_FROM, 0);
- }
-
- principalSpecification() {
- return this.getTypedRuleContext(PrincipalSpecificationContext, 0);
- }
-
- adminOptionFor() {
- return this.getTypedRuleContext(AdminOptionForContext, 0);
- }
-
- KW_ROLE() {
- return this.getToken(HiveParser.KW_ROLE, 0);
- }
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRevokeRole(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ShowRoleGrantsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_showRoleGrants;
- }
-
- KW_SHOW() {
- return this.getToken(HiveParser.KW_SHOW, 0);
- }
-
- KW_ROLE() {
- return this.getToken(HiveParser.KW_ROLE, 0);
- }
-
- KW_GRANT() {
- return this.getToken(HiveParser.KW_GRANT, 0);
- }
-
- principalName() {
- return this.getTypedRuleContext(PrincipalNameContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitShowRoleGrants(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ShowRolesContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_showRoles;
- }
-
- KW_SHOW() {
- return this.getToken(HiveParser.KW_SHOW, 0);
- }
-
- KW_ROLES() {
- return this.getToken(HiveParser.KW_ROLES, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitShowRoles(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ShowCurrentRoleContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_showCurrentRole;
- }
-
- KW_SHOW() {
- return this.getToken(HiveParser.KW_SHOW, 0);
- }
-
- KW_CURRENT() {
- return this.getToken(HiveParser.KW_CURRENT, 0);
- }
-
- KW_ROLES() {
- return this.getToken(HiveParser.KW_ROLES, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitShowCurrentRole(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SetRoleContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_setRole;
- }
-
- KW_SET() {
- return this.getToken(HiveParser.KW_SET, 0);
- }
-
- KW_ROLE() {
- return this.getToken(HiveParser.KW_ROLE, 0);
- }
-
- KW_ALL() {
- return this.getToken(HiveParser.KW_ALL, 0);
- }
-
- KW_NONE() {
- return this.getToken(HiveParser.KW_NONE, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSetRole(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ShowGrantsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_showGrants;
- }
-
- KW_SHOW() {
- return this.getToken(HiveParser.KW_SHOW, 0);
- }
-
- KW_GRANT() {
- return this.getToken(HiveParser.KW_GRANT, 0);
- }
-
- principalName() {
- return this.getTypedRuleContext(PrincipalNameContext, 0);
- }
-
- KW_ON() {
- return this.getToken(HiveParser.KW_ON, 0);
- }
-
- privilegeIncludeColObject() {
- return this.getTypedRuleContext(PrivilegeIncludeColObjectContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitShowGrants(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ShowRolePrincipalsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_showRolePrincipals;
- }
-
- KW_SHOW() {
- return this.getToken(HiveParser.KW_SHOW, 0);
- }
-
- KW_PRINCIPALS() {
- return this.getToken(HiveParser.KW_PRINCIPALS, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitShowRolePrincipals(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrivilegeIncludeColObjectContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_privilegeIncludeColObject;
- }
-
- KW_ALL() {
- return this.getToken(HiveParser.KW_ALL, 0);
- }
-
- privObjectCols() {
- return this.getTypedRuleContext(PrivObjectColsContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrivilegeIncludeColObject(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrivilegeObjectContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_privilegeObject;
- }
-
- KW_ON() {
- return this.getToken(HiveParser.KW_ON, 0);
- }
-
- privObject() {
- return this.getTypedRuleContext(PrivObjectContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrivilegeObject(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrivObjectContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_privObject;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_DATABASE() {
- return this.getToken(HiveParser.KW_DATABASE, 0);
- }
-
- KW_SCHEMA() {
- return this.getToken(HiveParser.KW_SCHEMA, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- partitionSpec() {
- return this.getTypedRuleContext(PartitionSpecContext, 0);
- }
-
- KW_URI() {
- return this.getToken(HiveParser.KW_URI, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- KW_SERVER() {
- return this.getToken(HiveParser.KW_SERVER, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrivObject(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrivObjectColsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_privObjectCols;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_DATABASE() {
- return this.getToken(HiveParser.KW_DATABASE, 0);
- }
-
- KW_SCHEMA() {
- return this.getToken(HiveParser.KW_SCHEMA, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- columnNameList() {
- return this.getTypedRuleContext(ColumnNameListContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- partitionSpec() {
- return this.getTypedRuleContext(PartitionSpecContext, 0);
- }
-
- KW_URI() {
- return this.getToken(HiveParser.KW_URI, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- KW_SERVER() {
- return this.getToken(HiveParser.KW_SERVER, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrivObjectCols(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrivilegeListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_privilegeList;
- }
-
- privlegeDef = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(PrivlegeDefContext);
- } else {
- return this.getTypedRuleContext(PrivlegeDefContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrivilegeList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrivlegeDefContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_privlegeDef;
- }
-
- privilegeType() {
- return this.getTypedRuleContext(PrivilegeTypeContext, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- columnNameList() {
- return this.getTypedRuleContext(ColumnNameListContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrivlegeDef(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrivilegeTypeContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_privilegeType;
- }
-
- KW_ALL() {
- return this.getToken(HiveParser.KW_ALL, 0);
- }
-
- KW_ALTER() {
- return this.getToken(HiveParser.KW_ALTER, 0);
- }
-
- KW_UPDATE() {
- return this.getToken(HiveParser.KW_UPDATE, 0);
- }
-
- KW_CREATE() {
- return this.getToken(HiveParser.KW_CREATE, 0);
- }
-
- KW_DROP() {
- return this.getToken(HiveParser.KW_DROP, 0);
- }
-
- KW_LOCK() {
- return this.getToken(HiveParser.KW_LOCK, 0);
- }
-
- KW_SELECT() {
- return this.getToken(HiveParser.KW_SELECT, 0);
- }
-
- KW_SHOW_DATABASE() {
- return this.getToken(HiveParser.KW_SHOW_DATABASE, 0);
- }
-
- KW_INSERT() {
- return this.getToken(HiveParser.KW_INSERT, 0);
- }
-
- KW_DELETE() {
- return this.getToken(HiveParser.KW_DELETE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrivilegeType(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrincipalSpecificationContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_principalSpecification;
- }
-
- principalName = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(PrincipalNameContext);
- } else {
- return this.getTypedRuleContext(PrincipalNameContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrincipalSpecification(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrincipalNameContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_principalName;
- }
-
- KW_USER() {
- return this.getToken(HiveParser.KW_USER, 0);
- }
-
- principalIdentifier() {
- return this.getTypedRuleContext(PrincipalIdentifierContext, 0);
- }
-
- KW_GROUP() {
- return this.getToken(HiveParser.KW_GROUP, 0);
- }
-
- KW_ROLE() {
- return this.getToken(HiveParser.KW_ROLE, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrincipalName(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class WithGrantOptionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_withGrantOption;
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- KW_GRANT() {
- return this.getToken(HiveParser.KW_GRANT, 0);
- }
-
- KW_OPTION() {
- return this.getToken(HiveParser.KW_OPTION, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitWithGrantOption(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class GrantOptionForContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_grantOptionFor;
- }
-
- KW_GRANT() {
- return this.getToken(HiveParser.KW_GRANT, 0);
- }
-
- KW_OPTION() {
- return this.getToken(HiveParser.KW_OPTION, 0);
- }
-
- KW_FOR() {
- return this.getToken(HiveParser.KW_FOR, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitGrantOptionFor(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AdminOptionForContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_adminOptionFor;
- }
-
- KW_ADMIN() {
- return this.getToken(HiveParser.KW_ADMIN, 0);
- }
-
- KW_OPTION() {
- return this.getToken(HiveParser.KW_OPTION, 0);
- }
-
- KW_FOR() {
- return this.getToken(HiveParser.KW_FOR, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAdminOptionFor(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class WithAdminOptionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_withAdminOption;
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- KW_ADMIN() {
- return this.getToken(HiveParser.KW_ADMIN, 0);
- }
-
- KW_OPTION() {
- return this.getToken(HiveParser.KW_OPTION, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitWithAdminOption(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class MetastoreCheckContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_metastoreCheck;
- }
-
- KW_MSCK() {
- return this.getToken(HiveParser.KW_MSCK, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- KW_REPAIR() {
- return this.getToken(HiveParser.KW_REPAIR, 0);
- }
-
- KW_PARTITIONS() {
- return this.getToken(HiveParser.KW_PARTITIONS, 0);
- }
-
- partitionSpec() {
- return this.getTypedRuleContext(PartitionSpecContext, 0);
- }
-
- KW_ADD() {
- return this.getToken(HiveParser.KW_ADD, 0);
- }
-
- KW_DROP() {
- return this.getToken(HiveParser.KW_DROP, 0);
- }
-
- KW_SYNC() {
- return this.getToken(HiveParser.KW_SYNC, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitMetastoreCheck(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ResourceListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_resourceList;
- }
-
- resource = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ResourceContext);
- } else {
- return this.getTypedRuleContext(ResourceContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitResourceList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ResourceContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_resource;
- }
-
- resourceType() {
- return this.getTypedRuleContext(ResourceTypeContext, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitResource(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ResourceTypeContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_resourceType;
- }
-
- KW_JAR() {
- return this.getToken(HiveParser.KW_JAR, 0);
- }
-
- KW_FILE() {
- return this.getToken(HiveParser.KW_FILE, 0);
- }
-
- KW_ARCHIVE() {
- return this.getToken(HiveParser.KW_ARCHIVE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitResourceType(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CreateFunctionStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_createFunctionStatement;
- }
-
- KW_CREATE() {
- return this.getToken(HiveParser.KW_CREATE, 0);
- }
-
- KW_FUNCTION() {
- return this.getToken(HiveParser.KW_FUNCTION, 0);
- }
-
- functionIdentifier() {
- return this.getTypedRuleContext(FunctionIdentifierContext, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- KW_TEMPORARY() {
- return this.getToken(HiveParser.KW_TEMPORARY, 0);
- }
-
- KW_USING() {
- return this.getToken(HiveParser.KW_USING, 0);
- }
-
- resourceList() {
- return this.getTypedRuleContext(ResourceListContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCreateFunctionStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DropFunctionStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dropFunctionStatement;
- }
-
- KW_DROP() {
- return this.getToken(HiveParser.KW_DROP, 0);
- }
-
- KW_FUNCTION() {
- return this.getToken(HiveParser.KW_FUNCTION, 0);
- }
-
- functionIdentifier() {
- return this.getTypedRuleContext(FunctionIdentifierContext, 0);
- }
-
- KW_TEMPORARY() {
- return this.getToken(HiveParser.KW_TEMPORARY, 0);
- }
-
- ifExists() {
- return this.getTypedRuleContext(IfExistsContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDropFunctionStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ReloadFunctionStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_reloadFunctionStatement;
- }
-
- KW_RELOAD() {
- return this.getToken(HiveParser.KW_RELOAD, 0);
- }
-
- KW_FUNCTION() {
- return this.getToken(HiveParser.KW_FUNCTION, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitReloadFunctionStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CreateMacroStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_createMacroStatement;
- }
-
- KW_CREATE() {
- return this.getToken(HiveParser.KW_CREATE, 0);
- }
-
- KW_TEMPORARY() {
- return this.getToken(HiveParser.KW_TEMPORARY, 0);
- }
-
- KW_MACRO() {
- return this.getToken(HiveParser.KW_MACRO, 0);
- }
-
- Identifier() {
- return this.getToken(HiveParser.Identifier, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- columnNameTypeList() {
- return this.getTypedRuleContext(ColumnNameTypeListContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCreateMacroStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DropMacroStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dropMacroStatement;
- }
-
- KW_DROP() {
- return this.getToken(HiveParser.KW_DROP, 0);
- }
-
- KW_TEMPORARY() {
- return this.getToken(HiveParser.KW_TEMPORARY, 0);
- }
-
- KW_MACRO() {
- return this.getToken(HiveParser.KW_MACRO, 0);
- }
-
- Identifier() {
- return this.getToken(HiveParser.Identifier, 0);
- }
-
- ifExists() {
- return this.getTypedRuleContext(IfExistsContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDropMacroStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CreateViewStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_createViewStatement;
- }
-
- KW_CREATE() {
- return this.getToken(HiveParser.KW_CREATE, 0);
- }
-
- KW_VIEW() {
- return this.getToken(HiveParser.KW_VIEW, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- selectStatementWithCTE() {
- return this.getTypedRuleContext(SelectStatementWithCTEContext, 0);
- }
-
- orReplace() {
- return this.getTypedRuleContext(OrReplaceContext, 0);
- }
-
- ifNotExists() {
- return this.getTypedRuleContext(IfNotExistsContext, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- columnNameCommentList() {
- return this.getTypedRuleContext(ColumnNameCommentListContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- tableComment() {
- return this.getTypedRuleContext(TableCommentContext, 0);
- }
-
- viewPartition() {
- return this.getTypedRuleContext(ViewPartitionContext, 0);
- }
-
- tablePropertiesPrefixed() {
- return this.getTypedRuleContext(TablePropertiesPrefixedContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCreateViewStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CreateMaterializedViewStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_createMaterializedViewStatement;
- }
-
- KW_CREATE() {
- return this.getToken(HiveParser.KW_CREATE, 0);
- }
-
- KW_MATERIALIZED() {
- return this.getToken(HiveParser.KW_MATERIALIZED, 0);
- }
-
- KW_VIEW() {
- return this.getToken(HiveParser.KW_VIEW, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- selectStatementWithCTE() {
- return this.getTypedRuleContext(SelectStatementWithCTEContext, 0);
- }
-
- orReplace() {
- return this.getTypedRuleContext(OrReplaceContext, 0);
- }
-
- ifNotExists() {
- return this.getTypedRuleContext(IfNotExistsContext, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- materializedViewClause = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(MaterializedViewClauseContext);
- } else {
- return this.getTypedRuleContext(MaterializedViewClauseContext, i);
- }
- };
-
- columnNameCommentList() {
- return this.getTypedRuleContext(ColumnNameCommentListContext, 0);
- }
-
- columnNameTypeOrConstraintList() {
- return this.getTypedRuleContext(ColumnNameTypeOrConstraintListContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCreateMaterializedViewStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class MaterializedViewClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_materializedViewClause;
- }
-
- tableComment() {
- return this.getTypedRuleContext(TableCommentContext, 0);
- }
-
- tableRowFormat() {
- return this.getTypedRuleContext(TableRowFormatContext, 0);
- }
-
- tableFileFormat() {
- return this.getTypedRuleContext(TableFileFormatContext, 0);
- }
-
- tableLocation() {
- return this.getTypedRuleContext(TableLocationContext, 0);
- }
-
- tablePropertiesPrefixed() {
- return this.getTypedRuleContext(TablePropertiesPrefixedContext, 0);
- }
-
- tablePartition() {
- return this.getTypedRuleContext(TablePartitionContext, 0);
- }
-
- clusterByClause() {
- return this.getTypedRuleContext(ClusterByClauseContext, 0);
- }
-
- rewriteDisabled() {
- return this.getTypedRuleContext(RewriteDisabledContext, 0);
- }
-
- scheduleClause() {
- return this.getTypedRuleContext(ScheduleClauseContext, 0);
- }
-
- rowClause() {
- return this.getTypedRuleContext(RowClauseContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitMaterializedViewClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ScheduleClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_scheduleClause;
- }
-
- KW_SCHEDULE() {
- return this.getToken(HiveParser.KW_SCHEDULE, 0);
- }
-
- KW_EVERY() {
- return this.getToken(HiveParser.KW_EVERY, 0);
- }
-
- Number() {
- return this.getToken(HiveParser.Number, 0);
- }
-
- KW_HOUR() {
- return this.getToken(HiveParser.KW_HOUR, 0);
- }
-
- KW_DAY() {
- return this.getToken(HiveParser.KW_DAY, 0);
- }
-
- KW_WEEK() {
- return this.getToken(HiveParser.KW_WEEK, 0);
- }
-
- KW_REFRESH() {
- return this.getToken(HiveParser.KW_REFRESH, 0);
- }
-
- KW_CRON() {
- return this.getToken(HiveParser.KW_CRON, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- KW_AT() {
- return this.getToken(HiveParser.KW_AT, 0);
- }
-
- KW_TIME() {
- return this.getToken(HiveParser.KW_TIME, 0);
- }
-
- KW_ZONE() {
- return this.getToken(HiveParser.KW_ZONE, 0);
- }
-
- timeZoneValue() {
- return this.getTypedRuleContext(TimeZoneValueContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitScheduleClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TimeZoneValueContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_timeZoneValue;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTimeZoneValue(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RowClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_rowClause;
- }
-
- KW_ROW() {
- return this.getToken(HiveParser.KW_ROW, 0);
- }
-
- KW_FILTER() {
- return this.getToken(HiveParser.KW_FILTER, 0);
- }
-
- functionIdentifier() {
- return this.getTypedRuleContext(FunctionIdentifierContext, 0);
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- KW_ON() {
- return this.getToken(HiveParser.KW_ON, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRowClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TriggerOnUpdateClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_triggerOnUpdateClause;
- }
-
- KW_TRIGGER() {
- return this.getToken(HiveParser.KW_TRIGGER, 0);
- }
-
- KW_ON() {
- return this.getToken(HiveParser.KW_ON, 0);
- }
-
- KW_UPDATE() {
- return this.getToken(HiveParser.KW_UPDATE, 0);
- }
-
- KW_AT() {
- return this.getToken(HiveParser.KW_AT, 0);
- }
-
- KW_MOST() {
- return this.getToken(HiveParser.KW_MOST, 0);
- }
-
- KW_EVERY() {
- return this.getToken(HiveParser.KW_EVERY, 0);
- }
-
- intervalClause() {
- return this.getTypedRuleContext(IntervalClauseContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTriggerOnUpdateClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class IntervalClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_intervalClause;
- }
-
- KW_INTERVAL() {
- return this.getToken(HiveParser.KW_INTERVAL, 0);
- }
-
- intervalQualifier() {
- return this.getTypedRuleContext(IntervalQualifierContext, 0);
- }
-
- Number() {
- return this.getToken(HiveParser.Number, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitIntervalClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class IntervalQualifierContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_intervalQualifier;
- }
-
- KW_YEAR() {
- return this.getToken(HiveParser.KW_YEAR, 0);
- }
-
- KW_TO() {
- return this.getToken(HiveParser.KW_TO, 0);
- }
-
- KW_MONTH() {
- return this.getToken(HiveParser.KW_MONTH, 0);
- }
-
- KW_DAY() {
- return this.getToken(HiveParser.KW_DAY, 0);
- }
-
- KW_HOUR() {
- return this.getToken(HiveParser.KW_HOUR, 0);
- }
-
- KW_MINUTE() {
- return this.getToken(HiveParser.KW_MINUTE, 0);
- }
-
- KW_SECOND() {
- return this.getToken(HiveParser.KW_SECOND, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitIntervalQualifier(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ViewPartitionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_viewPartition;
- }
-
- KW_PARTITIONED() {
- return this.getToken(HiveParser.KW_PARTITIONED, 0);
- }
-
- KW_ON() {
- return this.getToken(HiveParser.KW_ON, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- columnNameList() {
- return this.getTypedRuleContext(ColumnNameListContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitViewPartition(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DropViewStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dropViewStatement;
- }
-
- KW_DROP() {
- return this.getToken(HiveParser.KW_DROP, 0);
- }
-
- KW_VIEW() {
- return this.getToken(HiveParser.KW_VIEW, 0);
- }
-
- viewName() {
- return this.getTypedRuleContext(ViewNameContext, 0);
- }
-
- ifExists() {
- return this.getTypedRuleContext(IfExistsContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDropViewStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DropMaterializedViewStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dropMaterializedViewStatement;
- }
-
- KW_DROP() {
- return this.getToken(HiveParser.KW_DROP, 0);
- }
-
- KW_MATERIALIZED() {
- return this.getToken(HiveParser.KW_MATERIALIZED, 0);
- }
-
- KW_VIEW() {
- return this.getToken(HiveParser.KW_VIEW, 0);
- }
-
- viewName() {
- return this.getTypedRuleContext(ViewNameContext, 0);
- }
-
- ifExists() {
- return this.getTypedRuleContext(IfExistsContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDropMaterializedViewStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ShowFunctionIdentifierContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_showFunctionIdentifier;
- }
-
- functionIdentifier() {
- return this.getTypedRuleContext(FunctionIdentifierContext, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitShowFunctionIdentifier(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ShowStmtIdentifierContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_showStmtIdentifier;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitShowStmtIdentifier(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableCommentContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableComment;
- }
-
- KW_COMMENT() {
- return this.getToken(HiveParser.KW_COMMENT, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableComment(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableUsingDataSourceContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableUsingDataSource;
- }
-
- KW_USING() {
- return this.getToken(HiveParser.KW_USING, 0);
- }
-
- tableDataSource() {
- return this.getTypedRuleContext(TableDataSourceContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableUsingDataSource(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableDataSourceContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableDataSource;
- }
-
- KW_AVRO() {
- return this.getToken(HiveParser.KW_AVRO, 0);
- }
-
- KW_CSV() {
- return this.getToken(HiveParser.KW_CSV, 0);
- }
-
- KW_JSON() {
- return this.getToken(HiveParser.KW_JSON, 0);
- }
-
- KW_PARQUET() {
- return this.getToken(HiveParser.KW_PARQUET, 0);
- }
-
- KW_ORC() {
- return this.getToken(HiveParser.KW_ORC, 0);
- }
-
- KW_DELTA() {
- return this.getToken(HiveParser.KW_DELTA, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableDataSource(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TablePartitionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tablePartition;
- }
-
- KW_PARTITIONED() {
- return this.getToken(HiveParser.KW_PARTITIONED, 0);
- }
-
- KW_BY() {
- return this.getToken(HiveParser.KW_BY, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- partitionedColumnNameTypeConstraint = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(PartitionedColumnNameTypeConstraintContext);
- } else {
- return this.getTypedRuleContext(PartitionedColumnNameTypeConstraintContext, i);
- }
- };
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTablePartition(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableBucketsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableBuckets;
- }
-
- KW_CLUSTERED() {
- return this.getToken(HiveParser.KW_CLUSTERED, 0);
- }
-
- KW_BY = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.KW_BY);
- } else {
- return this.getToken(HiveParser.KW_BY, i);
- }
- };
-
- LPAREN = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.LPAREN);
- } else {
- return this.getToken(HiveParser.LPAREN, i);
- }
- };
-
- columnNameList() {
- return this.getTypedRuleContext(ColumnNameListContext, 0);
- }
-
- RPAREN = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.RPAREN);
- } else {
- return this.getToken(HiveParser.RPAREN, i);
- }
- };
-
- KW_INTO() {
- return this.getToken(HiveParser.KW_INTO, 0);
- }
-
- Number() {
- return this.getToken(HiveParser.Number, 0);
- }
-
- KW_BUCKETS() {
- return this.getToken(HiveParser.KW_BUCKETS, 0);
- }
-
- KW_SORTED() {
- return this.getToken(HiveParser.KW_SORTED, 0);
- }
-
- columnNameOrderList() {
- return this.getTypedRuleContext(ColumnNameOrderListContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableBuckets(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableSkewedContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableSkewed;
- }
-
- KW_SKEWED() {
- return this.getToken(HiveParser.KW_SKEWED, 0);
- }
-
- KW_BY() {
- return this.getToken(HiveParser.KW_BY, 0);
- }
-
- LPAREN = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.LPAREN);
- } else {
- return this.getToken(HiveParser.LPAREN, i);
- }
- };
-
- columnNameList() {
- return this.getTypedRuleContext(ColumnNameListContext, 0);
- }
-
- RPAREN = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.RPAREN);
- } else {
- return this.getToken(HiveParser.RPAREN, i);
- }
- };
-
- KW_ON() {
- return this.getToken(HiveParser.KW_ON, 0);
- }
-
- skewedValueElement() {
- return this.getTypedRuleContext(SkewedValueElementContext, 0);
- }
-
- storedAsDirs() {
- return this.getTypedRuleContext(StoredAsDirsContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableSkewed(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RowFormatContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_rowFormat;
- }
-
- rowFormatSerde() {
- return this.getTypedRuleContext(RowFormatSerdeContext, 0);
- }
-
- rowFormatDelimited() {
- return this.getTypedRuleContext(RowFormatDelimitedContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRowFormat(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RecordReaderContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_recordReader;
- }
-
- KW_RECORDREADER() {
- return this.getToken(HiveParser.KW_RECORDREADER, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRecordReader(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RecordWriterContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_recordWriter;
- }
-
- KW_RECORDWRITER() {
- return this.getToken(HiveParser.KW_RECORDWRITER, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRecordWriter(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RowFormatSerdeContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_rowFormatSerde;
- }
-
- KW_ROW() {
- return this.getToken(HiveParser.KW_ROW, 0);
- }
-
- KW_FORMAT() {
- return this.getToken(HiveParser.KW_FORMAT, 0);
- }
-
- KW_SERDE() {
- return this.getToken(HiveParser.KW_SERDE, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- KW_SERDEPROPERTIES() {
- return this.getToken(HiveParser.KW_SERDEPROPERTIES, 0);
- }
-
- tableProperties() {
- return this.getTypedRuleContext(TablePropertiesContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRowFormatSerde(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RowFormatDelimitedContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_rowFormatDelimited;
- }
-
- KW_ROW() {
- return this.getToken(HiveParser.KW_ROW, 0);
- }
-
- KW_FORMAT() {
- return this.getToken(HiveParser.KW_FORMAT, 0);
- }
-
- KW_DELIMITED() {
- return this.getToken(HiveParser.KW_DELIMITED, 0);
- }
-
- tableRowFormatFieldIdentifier() {
- return this.getTypedRuleContext(TableRowFormatFieldIdentifierContext, 0);
- }
-
- tableRowFormatCollItemsIdentifier() {
- return this.getTypedRuleContext(TableRowFormatCollItemsIdentifierContext, 0);
- }
-
- tableRowFormatMapKeysIdentifier() {
- return this.getTypedRuleContext(TableRowFormatMapKeysIdentifierContext, 0);
- }
-
- tableRowFormatLinesIdentifier() {
- return this.getTypedRuleContext(TableRowFormatLinesIdentifierContext, 0);
- }
-
- tableRowNullFormat() {
- return this.getTypedRuleContext(TableRowNullFormatContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRowFormatDelimited(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableRowFormatContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableRowFormat;
- }
-
- rowFormatDelimited() {
- return this.getTypedRuleContext(RowFormatDelimitedContext, 0);
- }
-
- rowFormatSerde() {
- return this.getTypedRuleContext(RowFormatSerdeContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableRowFormat(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableOptionsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableOptions;
- }
-
- KW_OPTIONS() {
- return this.getToken(HiveParser.KW_OPTIONS, 0);
- }
-
- tableProperties() {
- return this.getTypedRuleContext(TablePropertiesContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableOptions(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TablePropertiesPrefixedContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tablePropertiesPrefixed;
- }
-
- KW_TBLPROPERTIES() {
- return this.getToken(HiveParser.KW_TBLPROPERTIES, 0);
- }
-
- tableProperties() {
- return this.getTypedRuleContext(TablePropertiesContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTablePropertiesPrefixed(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TablePropertiesContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableProperties;
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- tablePropertiesList() {
- return this.getTypedRuleContext(TablePropertiesListContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableProperties(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TablePropertiesListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tablePropertiesList;
- }
-
- keyValueProperty = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(KeyValuePropertyContext);
- } else {
- return this.getTypedRuleContext(KeyValuePropertyContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- keyProperty = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(KeyPropertyContext);
- } else {
- return this.getTypedRuleContext(KeyPropertyContext, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTablePropertiesList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class KeyValuePropertyContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_keyValueProperty;
- }
-
- keyProperty() {
- return this.getTypedRuleContext(KeyPropertyContext, 0);
- }
-
- keyValue() {
- return this.getTypedRuleContext(KeyValueContext, 0);
- }
-
- EQUAL() {
- return this.getToken(HiveParser.EQUAL, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitKeyValueProperty(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class KeyValueContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_keyValue;
- }
-
- Number() {
- return this.getToken(HiveParser.Number, 0);
- }
-
- booleanValue() {
- return this.getTypedRuleContext(BooleanValueContext, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitKeyValue(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class KeyPropertyContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_keyProperty;
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- DOT = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.DOT);
- } else {
- return this.getToken(HiveParser.DOT, i);
- }
- };
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitKeyProperty(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableRowFormatFieldIdentifierContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableRowFormatFieldIdentifier;
- }
-
- KW_FIELDS() {
- return this.getToken(HiveParser.KW_FIELDS, 0);
- }
-
- KW_TERMINATED() {
- return this.getToken(HiveParser.KW_TERMINATED, 0);
- }
-
- KW_BY() {
- return this.getToken(HiveParser.KW_BY, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- tableRowFormatFieldIdentifierEcapedBy() {
- return this.getTypedRuleContext(TableRowFormatFieldIdentifierEcapedByContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableRowFormatFieldIdentifier(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableRowFormatFieldIdentifierEcapedByContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableRowFormatFieldIdentifierEcapedBy;
- }
-
- KW_ESCAPED() {
- return this.getToken(HiveParser.KW_ESCAPED, 0);
- }
-
- KW_BY() {
- return this.getToken(HiveParser.KW_BY, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableRowFormatFieldIdentifierEcapedBy(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableRowFormatCollItemsIdentifierContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableRowFormatCollItemsIdentifier;
- }
-
- KW_COLLECTION() {
- return this.getToken(HiveParser.KW_COLLECTION, 0);
- }
-
- KW_ITEMS() {
- return this.getToken(HiveParser.KW_ITEMS, 0);
- }
-
- KW_TERMINATED() {
- return this.getToken(HiveParser.KW_TERMINATED, 0);
- }
-
- KW_BY() {
- return this.getToken(HiveParser.KW_BY, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableRowFormatCollItemsIdentifier(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableRowFormatMapKeysIdentifierContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableRowFormatMapKeysIdentifier;
- }
-
- KW_MAP() {
- return this.getToken(HiveParser.KW_MAP, 0);
- }
-
- KW_KEYS() {
- return this.getToken(HiveParser.KW_KEYS, 0);
- }
-
- KW_TERMINATED() {
- return this.getToken(HiveParser.KW_TERMINATED, 0);
- }
-
- KW_BY() {
- return this.getToken(HiveParser.KW_BY, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableRowFormatMapKeysIdentifier(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableRowFormatLinesIdentifierContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableRowFormatLinesIdentifier;
- }
-
- KW_LINES() {
- return this.getToken(HiveParser.KW_LINES, 0);
- }
-
- KW_TERMINATED() {
- return this.getToken(HiveParser.KW_TERMINATED, 0);
- }
-
- KW_BY() {
- return this.getToken(HiveParser.KW_BY, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableRowFormatLinesIdentifier(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableRowNullFormatContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableRowNullFormat;
- }
-
- KW_NULL() {
- return this.getToken(HiveParser.KW_NULL, 0);
- }
-
- KW_DEFINED() {
- return this.getToken(HiveParser.KW_DEFINED, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableRowNullFormat(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableFileFormatContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableFileFormat;
- }
-
- tableInputOutputFileFormat() {
- return this.getTypedRuleContext(TableInputOutputFileFormatContext, 0);
- }
-
- tableFileFormatStoredBy() {
- return this.getTypedRuleContext(TableFileFormatStoredByContext, 0);
- }
-
- tableFileFormatStoredAs() {
- return this.getTypedRuleContext(TableFileFormatStoredAsContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableFileFormat(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableFileFormatStoredByContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableFileFormatStoredBy;
- }
-
- KW_STORED() {
- return this.getToken(HiveParser.KW_STORED, 0);
- }
-
- KW_BY() {
- return this.getToken(HiveParser.KW_BY, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- KW_SERDEPROPERTIES() {
- return this.getToken(HiveParser.KW_SERDEPROPERTIES, 0);
- }
-
- tableProperties() {
- return this.getTypedRuleContext(TablePropertiesContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableFileFormatStoredBy(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableFileFormatStoredAsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableFileFormatStoredAs;
- }
-
- KW_STORED() {
- return this.getToken(HiveParser.KW_STORED, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- tableFileFormatStoredAsFormat() {
- return this.getTypedRuleContext(TableFileFormatStoredAsFormatContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableFileFormatStoredAs(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableFileFormatStoredAsFormatContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableFileFormatStoredAsFormat;
- }
-
- KW_SEQUENCEFILE() {
- return this.getToken(HiveParser.KW_SEQUENCEFILE, 0);
- }
-
- KW_TEXTFILE() {
- return this.getToken(HiveParser.KW_TEXTFILE, 0);
- }
-
- KW_RCFILE() {
- return this.getToken(HiveParser.KW_RCFILE, 0);
- }
-
- KW_ORC() {
- return this.getToken(HiveParser.KW_ORC, 0);
- }
-
- KW_PARQUET() {
- return this.getToken(HiveParser.KW_PARQUET, 0);
- }
-
- KW_AVRO() {
- return this.getToken(HiveParser.KW_AVRO, 0);
- }
-
- KW_JSONFILE() {
- return this.getToken(HiveParser.KW_JSONFILE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableFileFormatStoredAsFormat(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableInputOutputFileFormatContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableInputOutputFileFormat;
- }
-
- KW_STORED() {
- return this.getToken(HiveParser.KW_STORED, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- tableInputLiteral() {
- return this.getTypedRuleContext(TableInputLiteralContext, 0);
- }
-
- tableOutputLiteral() {
- return this.getTypedRuleContext(TableOutputLiteralContext, 0);
- }
-
- KW_INPUTDRIVER() {
- return this.getToken(HiveParser.KW_INPUTDRIVER, 0);
- }
-
- StringLiteral = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.StringLiteral);
- } else {
- return this.getToken(HiveParser.StringLiteral, i);
- }
- };
-
- KW_OUTPUTDRIVER() {
- return this.getToken(HiveParser.KW_OUTPUTDRIVER, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableInputOutputFileFormat(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableInputLiteralContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableInputLiteral;
- }
-
- KW_INPUTFORMAT() {
- return this.getToken(HiveParser.KW_INPUTFORMAT, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableInputLiteral(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableOutputLiteralContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableOutputLiteral;
- }
-
- KW_OUTPUTFORMAT() {
- return this.getToken(HiveParser.KW_OUTPUTFORMAT, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableOutputLiteral(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableLocationContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableLocation;
- }
-
- KW_LOCATION() {
- return this.getToken(HiveParser.KW_LOCATION, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableLocation(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnNameTypeListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnNameTypeList;
- }
-
- columnNameType = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ColumnNameTypeContext);
- } else {
- return this.getTypedRuleContext(ColumnNameTypeContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnNameTypeList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnNameTypeOrConstraintListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnNameTypeOrConstraintList;
- }
-
- columnNameTypeOrConstraint = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ColumnNameTypeOrConstraintContext);
- } else {
- return this.getTypedRuleContext(ColumnNameTypeOrConstraintContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnNameTypeOrConstraintList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnNameColonTypeListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnNameColonTypeList;
- }
-
- columnNameColonType = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ColumnNameColonTypeContext);
- } else {
- return this.getTypedRuleContext(ColumnNameColonTypeContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnNameColonTypeList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnNameListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnNameList;
- }
-
- columnName = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ColumnNameContext);
- } else {
- return this.getTypedRuleContext(ColumnNameContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnNameList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnNameContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnName;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnName(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ExtColumnNameContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_extColumnName;
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- DOT = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.DOT);
- } else {
- return this.getToken(HiveParser.DOT, i);
- }
- };
-
- KW_ELEM_TYPE = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.KW_ELEM_TYPE);
- } else {
- return this.getToken(HiveParser.KW_ELEM_TYPE, i);
- }
- };
-
- KW_KEY_TYPE = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.KW_KEY_TYPE);
- } else {
- return this.getToken(HiveParser.KW_KEY_TYPE, i);
- }
- };
-
- KW_VALUE_TYPE = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.KW_VALUE_TYPE);
- } else {
- return this.getToken(HiveParser.KW_VALUE_TYPE, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitExtColumnName(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnNameOrderListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnNameOrderList;
- }
-
- columnNameOrder = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ColumnNameOrderContext);
- } else {
- return this.getTypedRuleContext(ColumnNameOrderContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnNameOrderList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnParenthesesListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnParenthesesList;
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- columnNameList() {
- return this.getTypedRuleContext(ColumnNameListContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnParenthesesList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class EnableValidateSpecificationContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_enableValidateSpecification;
- }
-
- enableSpecification() {
- return this.getTypedRuleContext(EnableSpecificationContext, 0);
- }
-
- validateSpecification() {
- return this.getTypedRuleContext(ValidateSpecificationContext, 0);
- }
-
- enforcedSpecification() {
- return this.getTypedRuleContext(EnforcedSpecificationContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitEnableValidateSpecification(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class EnableSpecificationContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_enableSpecification;
- }
-
- KW_ENABLE() {
- return this.getToken(HiveParser.KW_ENABLE, 0);
- }
-
- KW_DISABLE() {
- return this.getToken(HiveParser.KW_DISABLE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitEnableSpecification(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ValidateSpecificationContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_validateSpecification;
- }
-
- KW_VALIDATE() {
- return this.getToken(HiveParser.KW_VALIDATE, 0);
- }
-
- KW_NOVALIDATE() {
- return this.getToken(HiveParser.KW_NOVALIDATE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitValidateSpecification(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class EnforcedSpecificationContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_enforcedSpecification;
- }
-
- KW_ENFORCED() {
- return this.getToken(HiveParser.KW_ENFORCED, 0);
- }
-
- KW_NOT() {
- return this.getToken(HiveParser.KW_NOT, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitEnforcedSpecification(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RelySpecificationContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_relySpecification;
- }
-
- KW_RELY() {
- return this.getToken(HiveParser.KW_RELY, 0);
- }
-
- KW_NORELY() {
- return this.getToken(HiveParser.KW_NORELY, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRelySpecification(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CreateConstraintContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_createConstraint;
- }
-
- tableLevelConstraint() {
- return this.getTypedRuleContext(TableLevelConstraintContext, 0);
- }
-
- KW_CONSTRAINT() {
- return this.getToken(HiveParser.KW_CONSTRAINT, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- constraintOptsCreate() {
- return this.getTypedRuleContext(ConstraintOptsCreateContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCreateConstraint(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterConstraintWithNameContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterConstraintWithName;
- }
-
- KW_CONSTRAINT() {
- return this.getToken(HiveParser.KW_CONSTRAINT, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- tableLevelConstraint() {
- return this.getTypedRuleContext(TableLevelConstraintContext, 0);
- }
-
- constraintOptsAlter() {
- return this.getTypedRuleContext(ConstraintOptsAlterContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterConstraintWithName(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableLevelConstraintContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableLevelConstraint;
- }
-
- pkUkConstraint() {
- return this.getTypedRuleContext(PkUkConstraintContext, 0);
- }
-
- checkConstraint() {
- return this.getTypedRuleContext(CheckConstraintContext, 0);
- }
-
- expectConstraint() {
- return this.getTypedRuleContext(ExpectConstraintContext, 0);
- }
-
- createForeignKey() {
- return this.getTypedRuleContext(CreateForeignKeyContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableLevelConstraint(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PkUkConstraintContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_pkUkConstraint;
- this.pkCols = null; // ColumnParenthesesListContext
- }
-
- tableConstraintType() {
- return this.getTypedRuleContext(TableConstraintTypeContext, 0);
- }
-
- columnParenthesesList() {
- return this.getTypedRuleContext(ColumnParenthesesListContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPkUkConstraint(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CheckConstraintContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_checkConstraint;
- }
-
- KW_CHECK() {
- return this.getToken(HiveParser.KW_CHECK, 0);
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCheckConstraint(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ExpectConstraintContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_expectConstraint;
- }
-
- KW_EXPECT() {
- return this.getToken(HiveParser.KW_EXPECT, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- KW_ON() {
- return this.getToken(HiveParser.KW_ON, 0);
- }
-
- KW_VIOLATION() {
- return this.getToken(HiveParser.KW_VIOLATION, 0);
- }
-
- KW_FAIL() {
- return this.getToken(HiveParser.KW_FAIL, 0);
- }
-
- KW_UPDATE() {
- return this.getToken(HiveParser.KW_UPDATE, 0);
- }
-
- KW_DROP() {
- return this.getToken(HiveParser.KW_DROP, 0);
- }
-
- KW_ROW() {
- return this.getToken(HiveParser.KW_ROW, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitExpectConstraint(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CreateForeignKeyContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_createForeignKey;
- }
-
- KW_FOREIGN() {
- return this.getToken(HiveParser.KW_FOREIGN, 0);
- }
-
- KW_KEY() {
- return this.getToken(HiveParser.KW_KEY, 0);
- }
-
- columnParenthesesList = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ColumnParenthesesListContext);
- } else {
- return this.getTypedRuleContext(ColumnParenthesesListContext, i);
- }
- };
-
- KW_REFERENCES() {
- return this.getToken(HiveParser.KW_REFERENCES, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- KW_CONSTRAINT() {
- return this.getToken(HiveParser.KW_CONSTRAINT, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- constraintOptsCreate() {
- return this.getTypedRuleContext(ConstraintOptsCreateContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCreateForeignKey(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterForeignKeyWithNameContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterForeignKeyWithName;
- }
-
- KW_CONSTRAINT() {
- return this.getToken(HiveParser.KW_CONSTRAINT, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_FOREIGN() {
- return this.getToken(HiveParser.KW_FOREIGN, 0);
- }
-
- KW_KEY() {
- return this.getToken(HiveParser.KW_KEY, 0);
- }
-
- columnParenthesesList = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ColumnParenthesesListContext);
- } else {
- return this.getTypedRuleContext(ColumnParenthesesListContext, i);
- }
- };
-
- KW_REFERENCES() {
- return this.getToken(HiveParser.KW_REFERENCES, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- constraintOptsAlter() {
- return this.getTypedRuleContext(ConstraintOptsAlterContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterForeignKeyWithName(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SkewedValueElementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_skewedValueElement;
- }
-
- skewedColumnValues() {
- return this.getTypedRuleContext(SkewedColumnValuesContext, 0);
- }
-
- skewedColumnValuePairList() {
- return this.getTypedRuleContext(SkewedColumnValuePairListContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSkewedValueElement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SkewedColumnValuePairListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_skewedColumnValuePairList;
- }
-
- skewedColumnValuePair = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(SkewedColumnValuePairContext);
- } else {
- return this.getTypedRuleContext(SkewedColumnValuePairContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSkewedColumnValuePairList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SkewedColumnValuePairContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_skewedColumnValuePair;
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- skewedColumnValues() {
- return this.getTypedRuleContext(SkewedColumnValuesContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSkewedColumnValuePair(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SkewedColumnValuesContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_skewedColumnValues;
- }
-
- skewedColumnValue = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(SkewedColumnValueContext);
- } else {
- return this.getTypedRuleContext(SkewedColumnValueContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSkewedColumnValues(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SkewedColumnValueContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_skewedColumnValue;
- }
-
- constant() {
- return this.getTypedRuleContext(ConstantContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSkewedColumnValue(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SkewedValueLocationElementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_skewedValueLocationElement;
- }
-
- skewedColumnValue() {
- return this.getTypedRuleContext(SkewedColumnValueContext, 0);
- }
-
- skewedColumnValuePair() {
- return this.getTypedRuleContext(SkewedColumnValuePairContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSkewedValueLocationElement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class OrderSpecificationContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_orderSpecification;
- }
-
- KW_ASC() {
- return this.getToken(HiveParser.KW_ASC, 0);
- }
-
- KW_DESC() {
- return this.getToken(HiveParser.KW_DESC, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitOrderSpecification(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class NullOrderingContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_nullOrdering;
- }
-
- KW_NULLS() {
- return this.getToken(HiveParser.KW_NULLS, 0);
- }
-
- KW_FIRST() {
- return this.getToken(HiveParser.KW_FIRST, 0);
- }
-
- KW_LAST() {
- return this.getToken(HiveParser.KW_LAST, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitNullOrdering(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnNameOrderContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnNameOrder;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- orderSpecification() {
- return this.getTypedRuleContext(OrderSpecificationContext, 0);
- }
-
- nullOrdering() {
- return this.getTypedRuleContext(NullOrderingContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnNameOrder(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnNameCommentListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnNameCommentList;
- }
-
- columnNameComment = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ColumnNameCommentContext);
- } else {
- return this.getTypedRuleContext(ColumnNameCommentContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnNameCommentList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnNameCommentContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnNameComment;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_COMMENT() {
- return this.getToken(HiveParser.KW_COMMENT, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnNameComment(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnRefOrderContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnRefOrder;
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- orderSpecification() {
- return this.getTypedRuleContext(OrderSpecificationContext, 0);
- }
-
- nullOrdering() {
- return this.getTypedRuleContext(NullOrderingContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnRefOrder(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnNameTypeContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnNameType;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- colType() {
- return this.getTypedRuleContext(ColTypeContext, 0);
- }
-
- KW_COMMENT() {
- return this.getToken(HiveParser.KW_COMMENT, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnNameType(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnNameTypeOrConstraintContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnNameTypeOrConstraint;
- }
-
- tableConstraint() {
- return this.getTypedRuleContext(TableConstraintContext, 0);
- }
-
- columnNameTypeConstraint() {
- return this.getTypedRuleContext(ColumnNameTypeConstraintContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnNameTypeOrConstraint(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableConstraintContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableConstraint;
- }
-
- createForeignKey() {
- return this.getTypedRuleContext(CreateForeignKeyContext, 0);
- }
-
- createConstraint() {
- return this.getTypedRuleContext(CreateConstraintContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableConstraint(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnNameTypeConstraintContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnNameTypeConstraint;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- colType() {
- return this.getTypedRuleContext(ColTypeContext, 0);
- }
-
- columnConstraint = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ColumnConstraintContext);
- } else {
- return this.getTypedRuleContext(ColumnConstraintContext, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnNameTypeConstraint(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnGeneratedAsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnGeneratedAs;
- }
-
- KW_GENERATED() {
- return this.getToken(HiveParser.KW_GENERATED, 0);
- }
-
- generatedAsExpression() {
- return this.getTypedRuleContext(GeneratedAsExpressionContext, 0);
- }
-
- generatedAsIdentity() {
- return this.getTypedRuleContext(GeneratedAsIdentityContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnGeneratedAs(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class GeneratedAsExpressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_generatedAsExpression;
- }
-
- KW_ALWAYS() {
- return this.getToken(HiveParser.KW_ALWAYS, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitGeneratedAsExpression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class GeneratedAsIdentityContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_generatedAsIdentity;
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- KW_IDENTITY() {
- return this.getToken(HiveParser.KW_IDENTITY, 0);
- }
-
- KW_ALWAYS() {
- return this.getToken(HiveParser.KW_ALWAYS, 0);
- }
-
- KW_BY() {
- return this.getToken(HiveParser.KW_BY, 0);
- }
-
- KW_DEFAULT() {
- return this.getToken(HiveParser.KW_DEFAULT, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- identityOptions() {
- return this.getTypedRuleContext(IdentityOptionsContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitGeneratedAsIdentity(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class IdentityOptionsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_identityOptions;
- }
-
- startWith() {
- return this.getTypedRuleContext(StartWithContext, 0);
- }
-
- incrementBy() {
- return this.getTypedRuleContext(IncrementByContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitIdentityOptions(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class StartWithContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_startWith;
- }
-
- KW_START() {
- return this.getToken(HiveParser.KW_START, 0);
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- Number() {
- return this.getToken(HiveParser.Number, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitStartWith(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class IncrementByContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_incrementBy;
- }
-
- KW_INCREMENT() {
- return this.getToken(HiveParser.KW_INCREMENT, 0);
- }
-
- KW_BY() {
- return this.getToken(HiveParser.KW_BY, 0);
- }
-
- Number() {
- return this.getToken(HiveParser.Number, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitIncrementBy(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PartitionedColumnNameTypeConstraintContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_partitionedColumnNameTypeConstraint;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- colType() {
- return this.getTypedRuleContext(ColTypeContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPartitionedColumnNameTypeConstraint(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnConstraintContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnConstraint;
- }
-
- foreignKeyConstraint() {
- return this.getTypedRuleContext(ForeignKeyConstraintContext, 0);
- }
-
- colConstraint() {
- return this.getTypedRuleContext(ColConstraintContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnConstraint(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ForeignKeyConstraintContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_foreignKeyConstraint;
- }
-
- KW_REFERENCES() {
- return this.getToken(HiveParser.KW_REFERENCES, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- columnName() {
- return this.getTypedRuleContext(ColumnNameContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- KW_CONSTRAINT() {
- return this.getToken(HiveParser.KW_CONSTRAINT, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- constraintOptsCreate() {
- return this.getTypedRuleContext(ConstraintOptsCreateContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitForeignKeyConstraint(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColConstraintContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_colConstraint;
- }
-
- columnConstraintType = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ColumnConstraintTypeContext);
- } else {
- return this.getTypedRuleContext(ColumnConstraintTypeContext, i);
- }
- };
-
- KW_CONSTRAINT() {
- return this.getToken(HiveParser.KW_CONSTRAINT, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- constraintOptsCreate() {
- return this.getTypedRuleContext(ConstraintOptsCreateContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColConstraint(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterColumnConstraintContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterColumnConstraint;
- }
-
- alterForeignKeyConstraint() {
- return this.getTypedRuleContext(AlterForeignKeyConstraintContext, 0);
- }
-
- alterColConstraint() {
- return this.getTypedRuleContext(AlterColConstraintContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterColumnConstraint(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterForeignKeyConstraintContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterForeignKeyConstraint;
- }
-
- KW_REFERENCES() {
- return this.getToken(HiveParser.KW_REFERENCES, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- columnName() {
- return this.getTypedRuleContext(ColumnNameContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- KW_CONSTRAINT() {
- return this.getToken(HiveParser.KW_CONSTRAINT, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- constraintOptsAlter() {
- return this.getTypedRuleContext(ConstraintOptsAlterContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterForeignKeyConstraint(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterColConstraintContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterColConstraint;
- }
-
- columnConstraintType() {
- return this.getTypedRuleContext(ColumnConstraintTypeContext, 0);
- }
-
- KW_CONSTRAINT() {
- return this.getToken(HiveParser.KW_CONSTRAINT, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- constraintOptsAlter() {
- return this.getTypedRuleContext(ConstraintOptsAlterContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterColConstraint(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnConstraintTypeContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnConstraintType;
- }
-
- KW_NOT() {
- return this.getToken(HiveParser.KW_NOT, 0);
- }
-
- KW_NULL() {
- return this.getToken(HiveParser.KW_NULL, 0);
- }
-
- KW_DEFAULT() {
- return this.getToken(HiveParser.KW_DEFAULT, 0);
- }
-
- defaultVal() {
- return this.getTypedRuleContext(DefaultValContext, 0);
- }
-
- columnGeneratedAs() {
- return this.getTypedRuleContext(ColumnGeneratedAsContext, 0);
- }
-
- checkConstraint() {
- return this.getTypedRuleContext(CheckConstraintContext, 0);
- }
-
- tableConstraintType() {
- return this.getTypedRuleContext(TableConstraintTypeContext, 0);
- }
-
- KW_COMMENT() {
- return this.getToken(HiveParser.KW_COMMENT, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- KW_MASK() {
- return this.getToken(HiveParser.KW_MASK, 0);
- }
-
- functionIdentifier() {
- return this.getTypedRuleContext(FunctionIdentifierContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnConstraintType(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DefaultValContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_defaultVal;
- }
-
- constant() {
- return this.getTypedRuleContext(ConstantContext, 0);
- }
-
- functionStatement() {
- return this.getTypedRuleContext(FunctionStatementContext, 0);
- }
-
- castExpression() {
- return this.getTypedRuleContext(CastExpressionContext, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDefaultVal(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableConstraintTypeContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableConstraintType;
- }
-
- KW_PRIMARY() {
- return this.getToken(HiveParser.KW_PRIMARY, 0);
- }
-
- KW_KEY() {
- return this.getToken(HiveParser.KW_KEY, 0);
- }
-
- KW_UNIQUE() {
- return this.getToken(HiveParser.KW_UNIQUE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableConstraintType(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ConstraintOptsCreateContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_constraintOptsCreate;
- }
-
- relySpecification() {
- return this.getTypedRuleContext(RelySpecificationContext, 0);
- }
-
- enableValidateSpecification() {
- return this.getTypedRuleContext(EnableValidateSpecificationContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitConstraintOptsCreate(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ConstraintOptsAlterContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_constraintOptsAlter;
- }
-
- relySpecification() {
- return this.getTypedRuleContext(RelySpecificationContext, 0);
- }
-
- enableValidateSpecification() {
- return this.getTypedRuleContext(EnableValidateSpecificationContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitConstraintOptsAlter(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnNameColonTypeContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnNameColonType;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- COLON() {
- return this.getToken(HiveParser.COLON, 0);
- }
-
- colType() {
- return this.getTypedRuleContext(ColTypeContext, 0);
- }
-
- KW_COMMENT() {
- return this.getToken(HiveParser.KW_COMMENT, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnNameColonType(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColTypeContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_colType;
- }
-
- type_db_col() {
- return this.getTypedRuleContext(Type_db_colContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColType(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColTypeListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_colTypeList;
- }
-
- colType = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ColTypeContext);
- } else {
- return this.getTypedRuleContext(ColTypeContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColTypeList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class Type_db_colContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_type_db_col;
- }
-
- primitiveType() {
- return this.getTypedRuleContext(PrimitiveTypeContext, 0);
- }
-
- listType() {
- return this.getTypedRuleContext(ListTypeContext, 0);
- }
-
- structType() {
- return this.getTypedRuleContext(StructTypeContext, 0);
- }
-
- mapType() {
- return this.getTypedRuleContext(MapTypeContext, 0);
- }
-
- unionType() {
- return this.getTypedRuleContext(UnionTypeContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitType_db_col(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrimitiveTypeContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_primitiveType;
- }
-
- KW_TINYINT() {
- return this.getToken(HiveParser.KW_TINYINT, 0);
- }
-
- KW_SMALLINT() {
- return this.getToken(HiveParser.KW_SMALLINT, 0);
- }
-
- KW_INT() {
- return this.getToken(HiveParser.KW_INT, 0);
- }
-
- KW_BIGINT() {
- return this.getToken(HiveParser.KW_BIGINT, 0);
- }
-
- KW_BOOLEAN() {
- return this.getToken(HiveParser.KW_BOOLEAN, 0);
- }
-
- KW_FLOAT() {
- return this.getToken(HiveParser.KW_FLOAT, 0);
- }
-
- KW_DOUBLE() {
- return this.getToken(HiveParser.KW_DOUBLE, 0);
- }
-
- KW_PRECISION() {
- return this.getToken(HiveParser.KW_PRECISION, 0);
- }
-
- KW_DATE() {
- return this.getToken(HiveParser.KW_DATE, 0);
- }
-
- KW_DATETIME() {
- return this.getToken(HiveParser.KW_DATETIME, 0);
- }
-
- KW_TIMESTAMP() {
- return this.getToken(HiveParser.KW_TIMESTAMP, 0);
- }
-
- KW_TIMESTAMP_NTZ() {
- return this.getToken(HiveParser.KW_TIMESTAMP_NTZ, 0);
- }
-
- KW_TIMESTAMPLOCALTZ() {
- return this.getToken(HiveParser.KW_TIMESTAMPLOCALTZ, 0);
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- KW_LOCAL() {
- return this.getToken(HiveParser.KW_LOCAL, 0);
- }
-
- KW_TIME() {
- return this.getToken(HiveParser.KW_TIME, 0);
- }
-
- KW_ZONE() {
- return this.getToken(HiveParser.KW_ZONE, 0);
- }
-
- KW_STRING() {
- return this.getToken(HiveParser.KW_STRING, 0);
- }
-
- KW_BINARY() {
- return this.getToken(HiveParser.KW_BINARY, 0);
- }
-
- KW_DECIMAL() {
- return this.getToken(HiveParser.KW_DECIMAL, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- Number = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.Number);
- } else {
- return this.getToken(HiveParser.Number, i);
- }
- };
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- COMMA() {
- return this.getToken(HiveParser.COMMA, 0);
- }
-
- KW_VARCHAR() {
- return this.getToken(HiveParser.KW_VARCHAR, 0);
- }
-
- KW_CHAR() {
- return this.getToken(HiveParser.KW_CHAR, 0);
- }
-
- KW_VARIANT() {
- return this.getToken(HiveParser.KW_VARIANT, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrimitiveType(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ListTypeContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_listType;
- }
-
- KW_ARRAY() {
- return this.getToken(HiveParser.KW_ARRAY, 0);
- }
-
- LESSTHAN() {
- return this.getToken(HiveParser.LESSTHAN, 0);
- }
-
- type_db_col() {
- return this.getTypedRuleContext(Type_db_colContext, 0);
- }
-
- GREATERTHAN() {
- return this.getToken(HiveParser.GREATERTHAN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitListType(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class StructTypeContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_structType;
- }
-
- KW_STRUCT() {
- return this.getToken(HiveParser.KW_STRUCT, 0);
- }
-
- LESSTHAN() {
- return this.getToken(HiveParser.LESSTHAN, 0);
- }
-
- columnNameColonTypeList() {
- return this.getTypedRuleContext(ColumnNameColonTypeListContext, 0);
- }
-
- GREATERTHAN() {
- return this.getToken(HiveParser.GREATERTHAN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitStructType(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class MapTypeContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_mapType;
- }
-
- KW_MAP() {
- return this.getToken(HiveParser.KW_MAP, 0);
- }
-
- LESSTHAN() {
- return this.getToken(HiveParser.LESSTHAN, 0);
- }
-
- primitiveType() {
- return this.getTypedRuleContext(PrimitiveTypeContext, 0);
- }
-
- COMMA() {
- return this.getToken(HiveParser.COMMA, 0);
- }
-
- type_db_col() {
- return this.getTypedRuleContext(Type_db_colContext, 0);
- }
-
- GREATERTHAN() {
- return this.getToken(HiveParser.GREATERTHAN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitMapType(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class UnionTypeContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_unionType;
- }
-
- KW_UNIONTYPE() {
- return this.getToken(HiveParser.KW_UNIONTYPE, 0);
- }
-
- LESSTHAN() {
- return this.getToken(HiveParser.LESSTHAN, 0);
- }
-
- colTypeList() {
- return this.getTypedRuleContext(ColTypeListContext, 0);
- }
-
- GREATERTHAN() {
- return this.getToken(HiveParser.GREATERTHAN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitUnionType(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SetOperatorContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_setOperator;
- }
-
- KW_UNION() {
- return this.getToken(HiveParser.KW_UNION, 0);
- }
-
- KW_ALL() {
- return this.getToken(HiveParser.KW_ALL, 0);
- }
-
- KW_DISTINCT() {
- return this.getToken(HiveParser.KW_DISTINCT, 0);
- }
-
- KW_INTERSECT() {
- return this.getToken(HiveParser.KW_INTERSECT, 0);
- }
-
- KW_EXCEPT() {
- return this.getToken(HiveParser.KW_EXCEPT, 0);
- }
-
- KW_MINUS() {
- return this.getToken(HiveParser.KW_MINUS, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSetOperator(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class QueryStatementExpressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_queryStatementExpression;
- }
-
- queryStatementExpressionBody() {
- return this.getTypedRuleContext(QueryStatementExpressionBodyContext, 0);
- }
-
- withClause() {
- return this.getTypedRuleContext(WithClauseContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitQueryStatementExpression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class QueryStatementExpressionBodyContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_queryStatementExpressionBody;
- }
-
- fromStatement() {
- return this.getTypedRuleContext(FromStatementContext, 0);
- }
-
- regularBody() {
- return this.getTypedRuleContext(RegularBodyContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitQueryStatementExpressionBody(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class WithClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_withClause;
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- cteStatement = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(CteStatementContext);
- } else {
- return this.getTypedRuleContext(CteStatementContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitWithClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CteStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_cteStatement;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- queryStatementExpression() {
- return this.getTypedRuleContext(QueryStatementExpressionContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCteStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class FromStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_fromStatement;
- }
-
- singleFromStatement = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(SingleFromStatementContext);
- } else {
- return this.getTypedRuleContext(SingleFromStatementContext, i);
- }
- };
-
- setOperator = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(SetOperatorContext);
- } else {
- return this.getTypedRuleContext(SetOperatorContext, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitFromStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SingleFromStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_singleFromStatement;
- }
-
- fromClause() {
- return this.getTypedRuleContext(FromClauseContext, 0);
- }
-
- body = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(BodyContext);
- } else {
- return this.getTypedRuleContext(BodyContext, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSingleFromStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RegularBodyContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_regularBody;
- }
-
- insertClause() {
- return this.getTypedRuleContext(InsertClauseContext, 0);
- }
-
- selectStatement() {
- return this.getTypedRuleContext(SelectStatementContext, 0);
- }
-
- valuesClause() {
- return this.getTypedRuleContext(ValuesClauseContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRegularBody(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AtomSelectStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_atomSelectStatement;
- }
-
- selectClause() {
- return this.getTypedRuleContext(SelectClauseContext, 0);
- }
-
- fromClause() {
- return this.getTypedRuleContext(FromClauseContext, 0);
- }
-
- whereClause() {
- return this.getTypedRuleContext(WhereClauseContext, 0);
- }
-
- groupByClause() {
- return this.getTypedRuleContext(GroupByClauseContext, 0);
- }
-
- havingClause() {
- return this.getTypedRuleContext(HavingClauseContext, 0);
- }
-
- window_clause() {
- return this.getTypedRuleContext(Window_clauseContext, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- selectStatement() {
- return this.getTypedRuleContext(SelectStatementContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAtomSelectStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SelectStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_selectStatement;
- }
-
- atomSelectStatement() {
- return this.getTypedRuleContext(AtomSelectStatementContext, 0);
- }
-
- setOpSelectStatement() {
- return this.getTypedRuleContext(SetOpSelectStatementContext, 0);
- }
-
- orderByClause() {
- return this.getTypedRuleContext(OrderByClauseContext, 0);
- }
-
- clusterByClause() {
- return this.getTypedRuleContext(ClusterByClauseContext, 0);
- }
-
- distributeByClause() {
- return this.getTypedRuleContext(DistributeByClauseContext, 0);
- }
-
- sortByClause() {
- return this.getTypedRuleContext(SortByClauseContext, 0);
- }
-
- limitClause() {
- return this.getTypedRuleContext(LimitClauseContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSelectStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SetOpSelectStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_setOpSelectStatement;
- }
-
- setOperator = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(SetOperatorContext);
- } else {
- return this.getTypedRuleContext(SetOperatorContext, i);
- }
- };
-
- atomSelectStatement = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(AtomSelectStatementContext);
- } else {
- return this.getTypedRuleContext(AtomSelectStatementContext, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSetOpSelectStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SelectStatementWithCTEContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_selectStatementWithCTE;
- }
-
- selectStatement() {
- return this.getTypedRuleContext(SelectStatementContext, 0);
- }
-
- withClause() {
- return this.getTypedRuleContext(WithClauseContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSelectStatementWithCTE(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class BodyContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_body;
- }
-
- insertClause() {
- return this.getTypedRuleContext(InsertClauseContext, 0);
- }
-
- selectClause() {
- return this.getTypedRuleContext(SelectClauseContext, 0);
- }
-
- lateralView() {
- return this.getTypedRuleContext(LateralViewContext, 0);
- }
-
- whereClause() {
- return this.getTypedRuleContext(WhereClauseContext, 0);
- }
-
- groupByClause() {
- return this.getTypedRuleContext(GroupByClauseContext, 0);
- }
-
- havingClause() {
- return this.getTypedRuleContext(HavingClauseContext, 0);
- }
-
- window_clause() {
- return this.getTypedRuleContext(Window_clauseContext, 0);
- }
-
- orderByClause() {
- return this.getTypedRuleContext(OrderByClauseContext, 0);
- }
-
- clusterByClause() {
- return this.getTypedRuleContext(ClusterByClauseContext, 0);
- }
-
- distributeByClause() {
- return this.getTypedRuleContext(DistributeByClauseContext, 0);
- }
-
- sortByClause() {
- return this.getTypedRuleContext(SortByClauseContext, 0);
- }
-
- limitClause() {
- return this.getTypedRuleContext(LimitClauseContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitBody(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class InsertClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_insertClause;
- }
-
- KW_INSERT() {
- return this.getToken(HiveParser.KW_INSERT, 0);
- }
-
- KW_OVERWRITE() {
- return this.getToken(HiveParser.KW_OVERWRITE, 0);
- }
-
- destination() {
- return this.getTypedRuleContext(DestinationContext, 0);
- }
-
- ifNotExists() {
- return this.getTypedRuleContext(IfNotExistsContext, 0);
- }
-
- KW_INTO() {
- return this.getToken(HiveParser.KW_INTO, 0);
- }
-
- tableOrPartition() {
- return this.getTypedRuleContext(TableOrPartitionContext, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- columnNameList() {
- return this.getTypedRuleContext(ColumnNameListContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitInsertClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DestinationContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_destination;
- }
-
- KW_DIRECTORY() {
- return this.getToken(HiveParser.KW_DIRECTORY, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- KW_LOCAL() {
- return this.getToken(HiveParser.KW_LOCAL, 0);
- }
-
- tableRowFormat() {
- return this.getTypedRuleContext(TableRowFormatContext, 0);
- }
-
- tableFileFormat() {
- return this.getTypedRuleContext(TableFileFormatContext, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- tableOrPartition() {
- return this.getTypedRuleContext(TableOrPartitionContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDestination(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class LimitClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_limitClause;
- }
-
- KW_LIMIT() {
- return this.getToken(HiveParser.KW_LIMIT, 0);
- }
-
- Number = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.Number);
- } else {
- return this.getToken(HiveParser.Number, i);
- }
- };
-
- COMMA() {
- return this.getToken(HiveParser.COMMA, 0);
- }
-
- KW_OFFSET() {
- return this.getToken(HiveParser.KW_OFFSET, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitLimitClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DeleteStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_deleteStatement;
- }
-
- KW_DELETE() {
- return this.getToken(HiveParser.KW_DELETE, 0);
- }
-
- KW_FROM() {
- return this.getToken(HiveParser.KW_FROM, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- whereClause() {
- return this.getTypedRuleContext(WhereClauseContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDeleteStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnAssignmentClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnAssignmentClause;
- }
-
- tableOrColumn() {
- return this.getTypedRuleContext(TableOrColumnContext, 0);
- }
-
- EQUAL() {
- return this.getToken(HiveParser.EQUAL, 0);
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnAssignmentClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SetColumnsClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_setColumnsClause;
- }
-
- KW_SET() {
- return this.getToken(HiveParser.KW_SET, 0);
- }
-
- columnAssignmentClause = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ColumnAssignmentClauseContext);
- } else {
- return this.getTypedRuleContext(ColumnAssignmentClauseContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSetColumnsClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class UpdateStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_updateStatement;
- }
-
- KW_UPDATE() {
- return this.getToken(HiveParser.KW_UPDATE, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- setColumnsClause() {
- return this.getTypedRuleContext(SetColumnsClauseContext, 0);
- }
-
- whereClause() {
- return this.getTypedRuleContext(WhereClauseContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitUpdateStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SqlTransactionStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_sqlTransactionStatement;
- }
-
- startTransactionStatement() {
- return this.getTypedRuleContext(StartTransactionStatementContext, 0);
- }
-
- commitStatement() {
- return this.getTypedRuleContext(CommitStatementContext, 0);
- }
-
- rollbackStatement() {
- return this.getTypedRuleContext(RollbackStatementContext, 0);
- }
-
- setAutoCommitStatement() {
- return this.getTypedRuleContext(SetAutoCommitStatementContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSqlTransactionStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class StartTransactionStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_startTransactionStatement;
- }
-
- KW_START() {
- return this.getToken(HiveParser.KW_START, 0);
- }
-
- KW_TRANSACTION() {
- return this.getToken(HiveParser.KW_TRANSACTION, 0);
- }
-
- transactionMode = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(TransactionModeContext);
- } else {
- return this.getTypedRuleContext(TransactionModeContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitStartTransactionStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TransactionModeContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_transactionMode;
- }
-
- isolationLevel() {
- return this.getTypedRuleContext(IsolationLevelContext, 0);
- }
-
- transactionAccessMode() {
- return this.getTypedRuleContext(TransactionAccessModeContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTransactionMode(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TransactionAccessModeContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_transactionAccessMode;
- }
-
- KW_READ() {
- return this.getToken(HiveParser.KW_READ, 0);
- }
-
- KW_ONLY() {
- return this.getToken(HiveParser.KW_ONLY, 0);
- }
-
- KW_WRITE() {
- return this.getToken(HiveParser.KW_WRITE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTransactionAccessMode(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class IsolationLevelContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_isolationLevel;
- }
-
- KW_ISOLATION() {
- return this.getToken(HiveParser.KW_ISOLATION, 0);
- }
-
- KW_LEVEL() {
- return this.getToken(HiveParser.KW_LEVEL, 0);
- }
-
- levelOfIsolation() {
- return this.getTypedRuleContext(LevelOfIsolationContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitIsolationLevel(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class LevelOfIsolationContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_levelOfIsolation;
- }
-
- KW_SNAPSHOT() {
- return this.getToken(HiveParser.KW_SNAPSHOT, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitLevelOfIsolation(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CommitStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_commitStatement;
- }
-
- KW_COMMIT() {
- return this.getToken(HiveParser.KW_COMMIT, 0);
- }
-
- KW_WORK() {
- return this.getToken(HiveParser.KW_WORK, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCommitStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RollbackStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_rollbackStatement;
- }
-
- KW_ROLLBACK() {
- return this.getToken(HiveParser.KW_ROLLBACK, 0);
- }
-
- KW_WORK() {
- return this.getToken(HiveParser.KW_WORK, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRollbackStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SetAutoCommitStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_setAutoCommitStatement;
- }
-
- KW_SET() {
- return this.getToken(HiveParser.KW_SET, 0);
- }
-
- KW_AUTOCOMMIT() {
- return this.getToken(HiveParser.KW_AUTOCOMMIT, 0);
- }
-
- booleanValueTok() {
- return this.getTypedRuleContext(BooleanValueTokContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSetAutoCommitStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AbortTransactionStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_abortTransactionStatement;
- }
-
- KW_ABORT() {
- return this.getToken(HiveParser.KW_ABORT, 0);
- }
-
- KW_TRANSACTIONS() {
- return this.getToken(HiveParser.KW_TRANSACTIONS, 0);
- }
-
- Number = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.Number);
- } else {
- return this.getToken(HiveParser.Number, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAbortTransactionStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class MergeStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_mergeStatement;
- }
-
- KW_MERGE() {
- return this.getToken(HiveParser.KW_MERGE, 0);
- }
-
- KW_INTO() {
- return this.getToken(HiveParser.KW_INTO, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- KW_USING() {
- return this.getToken(HiveParser.KW_USING, 0);
- }
-
- joinSourcePart() {
- return this.getTypedRuleContext(JoinSourcePartContext, 0);
- }
-
- KW_ON() {
- return this.getToken(HiveParser.KW_ON, 0);
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- whenClauses() {
- return this.getTypedRuleContext(WhenClausesContext, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitMergeStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class WhenClausesContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_whenClauses;
- }
-
- whenMatchedAndClause = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(WhenMatchedAndClauseContext);
- } else {
- return this.getTypedRuleContext(WhenMatchedAndClauseContext, i);
- }
- };
-
- whenMatchedThenClause = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(WhenMatchedThenClauseContext);
- } else {
- return this.getTypedRuleContext(WhenMatchedThenClauseContext, i);
- }
- };
-
- whenNotMatchedClause() {
- return this.getTypedRuleContext(WhenNotMatchedClauseContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitWhenClauses(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class WhenNotMatchedClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_whenNotMatchedClause;
- }
-
- KW_WHEN() {
- return this.getToken(HiveParser.KW_WHEN, 0);
- }
-
- KW_NOT() {
- return this.getToken(HiveParser.KW_NOT, 0);
- }
-
- KW_MATCHED() {
- return this.getToken(HiveParser.KW_MATCHED, 0);
- }
-
- KW_THEN() {
- return this.getToken(HiveParser.KW_THEN, 0);
- }
-
- KW_INSERT() {
- return this.getToken(HiveParser.KW_INSERT, 0);
- }
-
- KW_VALUES() {
- return this.getToken(HiveParser.KW_VALUES, 0);
- }
-
- valueRowConstructor() {
- return this.getTypedRuleContext(ValueRowConstructorContext, 0);
- }
-
- KW_AND() {
- return this.getToken(HiveParser.KW_AND, 0);
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitWhenNotMatchedClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class WhenMatchedAndClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_whenMatchedAndClause;
- }
-
- KW_WHEN() {
- return this.getToken(HiveParser.KW_WHEN, 0);
- }
-
- KW_MATCHED() {
- return this.getToken(HiveParser.KW_MATCHED, 0);
- }
-
- KW_AND() {
- return this.getToken(HiveParser.KW_AND, 0);
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- KW_THEN() {
- return this.getToken(HiveParser.KW_THEN, 0);
- }
-
- updateOrDelete() {
- return this.getTypedRuleContext(UpdateOrDeleteContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitWhenMatchedAndClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class WhenMatchedThenClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_whenMatchedThenClause;
- }
-
- KW_WHEN() {
- return this.getToken(HiveParser.KW_WHEN, 0);
- }
-
- KW_MATCHED() {
- return this.getToken(HiveParser.KW_MATCHED, 0);
- }
-
- KW_THEN() {
- return this.getToken(HiveParser.KW_THEN, 0);
- }
-
- updateOrDelete() {
- return this.getTypedRuleContext(UpdateOrDeleteContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitWhenMatchedThenClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class UpdateOrDeleteContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_updateOrDelete;
- }
-
- KW_UPDATE() {
- return this.getToken(HiveParser.KW_UPDATE, 0);
- }
-
- setColumnsClause() {
- return this.getTypedRuleContext(SetColumnsClauseContext, 0);
- }
-
- KW_DELETE() {
- return this.getToken(HiveParser.KW_DELETE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitUpdateOrDelete(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class KillQueryStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_killQueryStatement;
- }
-
- KW_KILL() {
- return this.getToken(HiveParser.KW_KILL, 0);
- }
-
- KW_QUERY() {
- return this.getToken(HiveParser.KW_QUERY, 0);
- }
-
- StringLiteral = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.StringLiteral);
- } else {
- return this.getToken(HiveParser.StringLiteral, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitKillQueryStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SelectClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_selectClause;
- }
-
- KW_SELECT() {
- return this.getToken(HiveParser.KW_SELECT, 0);
- }
-
- QUERY_HINT() {
- return this.getToken(HiveParser.QUERY_HINT, 0);
- }
-
- selectList() {
- return this.getTypedRuleContext(SelectListContext, 0);
- }
-
- KW_TRANSFORM() {
- return this.getToken(HiveParser.KW_TRANSFORM, 0);
- }
-
- selectTrfmClause() {
- return this.getTypedRuleContext(SelectTrfmClauseContext, 0);
- }
-
- KW_ALL() {
- return this.getToken(HiveParser.KW_ALL, 0);
- }
-
- KW_DISTINCT() {
- return this.getToken(HiveParser.KW_DISTINCT, 0);
- }
-
- trfmClause() {
- return this.getTypedRuleContext(TrfmClauseContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSelectClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SelectListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_selectList;
- }
-
- selectItem = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(SelectItemContext);
- } else {
- return this.getTypedRuleContext(SelectItemContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSelectList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SelectTrfmClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_selectTrfmClause;
- }
-
- LPAREN = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.LPAREN);
- } else {
- return this.getToken(HiveParser.LPAREN, i);
- }
- };
-
- selectExpressionList() {
- return this.getTypedRuleContext(SelectExpressionListContext, 0);
- }
-
- RPAREN = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.RPAREN);
- } else {
- return this.getToken(HiveParser.RPAREN, i);
- }
- };
-
- KW_USING() {
- return this.getToken(HiveParser.KW_USING, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- rowFormat = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(RowFormatContext);
- } else {
- return this.getTypedRuleContext(RowFormatContext, i);
- }
- };
-
- recordWriter() {
- return this.getTypedRuleContext(RecordWriterContext, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- recordReader() {
- return this.getTypedRuleContext(RecordReaderContext, 0);
- }
-
- aliasList() {
- return this.getTypedRuleContext(AliasListContext, 0);
- }
-
- columnNameTypeList() {
- return this.getTypedRuleContext(ColumnNameTypeListContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSelectTrfmClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SelectItemContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_selectItem;
- }
-
- tableAllColumns() {
- return this.getTypedRuleContext(TableAllColumnsContext, 0);
- }
-
- exceptClause() {
- return this.getTypedRuleContext(ExceptClauseContext, 0);
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSelectItem(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TrfmClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_trfmClause;
- }
-
- KW_USING() {
- return this.getToken(HiveParser.KW_USING, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- KW_MAP() {
- return this.getToken(HiveParser.KW_MAP, 0);
- }
-
- selectExpressionList() {
- return this.getTypedRuleContext(SelectExpressionListContext, 0);
- }
-
- KW_REDUCE() {
- return this.getToken(HiveParser.KW_REDUCE, 0);
- }
-
- rowFormat = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(RowFormatContext);
- } else {
- return this.getTypedRuleContext(RowFormatContext, i);
- }
- };
-
- recordWriter() {
- return this.getTypedRuleContext(RecordWriterContext, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- recordReader() {
- return this.getTypedRuleContext(RecordReaderContext, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- aliasList() {
- return this.getTypedRuleContext(AliasListContext, 0);
- }
-
- columnNameTypeList() {
- return this.getTypedRuleContext(ColumnNameTypeListContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTrfmClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SelectExpressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_selectExpression;
- }
-
- tableAllColumns() {
- return this.getTypedRuleContext(TableAllColumnsContext, 0);
- }
-
- exceptClause() {
- return this.getTypedRuleContext(ExceptClauseContext, 0);
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSelectExpression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SelectExpressionListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_selectExpressionList;
- }
-
- selectExpression = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(SelectExpressionContext);
- } else {
- return this.getTypedRuleContext(SelectExpressionContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSelectExpressionList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ExceptClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_exceptClause;
- }
-
- KW_EXCEPT() {
- return this.getToken(HiveParser.KW_EXCEPT, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- selectExpressionList() {
- return this.getTypedRuleContext(SelectExpressionListContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitExceptClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class Window_clauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_window_clause;
- }
-
- KW_WINDOW() {
- return this.getToken(HiveParser.KW_WINDOW, 0);
- }
-
- window_defn = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(Window_defnContext);
- } else {
- return this.getTypedRuleContext(Window_defnContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitWindow_clause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class Window_defnContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_window_defn;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- window_specification() {
- return this.getTypedRuleContext(Window_specificationContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitWindow_defn(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class Window_specificationContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_window_specification;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- partitioningSpec() {
- return this.getTypedRuleContext(PartitioningSpecContext, 0);
- }
-
- window_frame() {
- return this.getTypedRuleContext(Window_frameContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitWindow_specification(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class Window_frameContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_window_frame;
- }
-
- window_range_expression() {
- return this.getTypedRuleContext(Window_range_expressionContext, 0);
- }
-
- window_value_expression() {
- return this.getTypedRuleContext(Window_value_expressionContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitWindow_frame(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class Window_range_expressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_window_range_expression;
- }
-
- KW_ROWS() {
- return this.getToken(HiveParser.KW_ROWS, 0);
- }
-
- window_frame_start_boundary() {
- return this.getTypedRuleContext(Window_frame_start_boundaryContext, 0);
- }
-
- KW_BETWEEN() {
- return this.getToken(HiveParser.KW_BETWEEN, 0);
- }
-
- window_frame_boundary = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(Window_frame_boundaryContext);
- } else {
- return this.getTypedRuleContext(Window_frame_boundaryContext, i);
- }
- };
-
- KW_AND() {
- return this.getToken(HiveParser.KW_AND, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitWindow_range_expression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class Window_value_expressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_window_value_expression;
- }
-
- KW_RANGE() {
- return this.getToken(HiveParser.KW_RANGE, 0);
- }
-
- window_frame_start_boundary() {
- return this.getTypedRuleContext(Window_frame_start_boundaryContext, 0);
- }
-
- KW_BETWEEN() {
- return this.getToken(HiveParser.KW_BETWEEN, 0);
- }
-
- window_frame_boundary = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(Window_frame_boundaryContext);
- } else {
- return this.getTypedRuleContext(Window_frame_boundaryContext, i);
- }
- };
-
- KW_AND() {
- return this.getToken(HiveParser.KW_AND, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitWindow_value_expression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class Window_frame_start_boundaryContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_window_frame_start_boundary;
- }
-
- KW_UNBOUNDED() {
- return this.getToken(HiveParser.KW_UNBOUNDED, 0);
- }
-
- KW_PRECEDING() {
- return this.getToken(HiveParser.KW_PRECEDING, 0);
- }
-
- KW_CURRENT() {
- return this.getToken(HiveParser.KW_CURRENT, 0);
- }
-
- KW_ROW() {
- return this.getToken(HiveParser.KW_ROW, 0);
- }
-
- Number() {
- return this.getToken(HiveParser.Number, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitWindow_frame_start_boundary(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class Window_frame_boundaryContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_window_frame_boundary;
- }
-
- KW_UNBOUNDED() {
- return this.getToken(HiveParser.KW_UNBOUNDED, 0);
- }
-
- KW_PRECEDING() {
- return this.getToken(HiveParser.KW_PRECEDING, 0);
- }
-
- KW_FOLLOWING() {
- return this.getToken(HiveParser.KW_FOLLOWING, 0);
- }
-
- KW_CURRENT() {
- return this.getToken(HiveParser.KW_CURRENT, 0);
- }
-
- KW_ROW() {
- return this.getToken(HiveParser.KW_ROW, 0);
- }
-
- Number() {
- return this.getToken(HiveParser.Number, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitWindow_frame_boundary(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableAllColumnsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableAllColumns;
- }
-
- STAR() {
- return this.getToken(HiveParser.STAR, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- DOT() {
- return this.getToken(HiveParser.DOT, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableAllColumns(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableOrColumnContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableOrColumn;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableOrColumn(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ExpressionListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_expressionList;
- }
-
- expression = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ExpressionContext);
- } else {
- return this.getTypedRuleContext(ExpressionContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitExpressionList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AliasListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_aliasList;
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAliasList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class FromClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_fromClause;
- }
-
- KW_FROM() {
- return this.getToken(HiveParser.KW_FROM, 0);
- }
-
- fromSource() {
- return this.getTypedRuleContext(FromSourceContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitFromClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class FromSourceContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_fromSource;
- }
-
- uniqueJoinToken() {
- return this.getTypedRuleContext(UniqueJoinTokenContext, 0);
- }
-
- uniqueJoinSource = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(UniqueJoinSourceContext);
- } else {
- return this.getTypedRuleContext(UniqueJoinSourceContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- joinSource() {
- return this.getTypedRuleContext(JoinSourceContext, 0);
- }
-
- rangeTableValuedFunction() {
- return this.getTypedRuleContext(RangeTableValuedFunctionContext, 0);
- }
-
- streamSource() {
- return this.getTypedRuleContext(StreamSourceContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitFromSource(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AtomjoinSourceContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_atomjoinSource;
- }
-
- tableSource() {
- return this.getTypedRuleContext(TableSourceContext, 0);
- }
-
- lateralView = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(LateralViewContext);
- } else {
- return this.getTypedRuleContext(LateralViewContext, i);
- }
- };
-
- virtualTableSource() {
- return this.getTypedRuleContext(VirtualTableSourceContext, 0);
- }
-
- subQuerySource() {
- return this.getTypedRuleContext(SubQuerySourceContext, 0);
- }
-
- partitionedTableFunction() {
- return this.getTypedRuleContext(PartitionedTableFunctionContext, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- joinSource() {
- return this.getTypedRuleContext(JoinSourceContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAtomjoinSource(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class JoinSourceContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_joinSource;
- }
-
- atomjoinSource() {
- return this.getTypedRuleContext(AtomjoinSourceContext, 0);
- }
-
- joinToken = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(JoinTokenContext);
- } else {
- return this.getTypedRuleContext(JoinTokenContext, i);
- }
- };
-
- joinSourcePart = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(JoinSourcePartContext);
- } else {
- return this.getTypedRuleContext(JoinSourcePartContext, i);
- }
- };
-
- KW_ON = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.KW_ON);
- } else {
- return this.getToken(HiveParser.KW_ON, i);
- }
- };
-
- expression = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ExpressionContext);
- } else {
- return this.getTypedRuleContext(ExpressionContext, i);
- }
- };
-
- KW_USING = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.KW_USING);
- } else {
- return this.getToken(HiveParser.KW_USING, i);
- }
- };
-
- columnParenthesesList = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ColumnParenthesesListContext);
- } else {
- return this.getTypedRuleContext(ColumnParenthesesListContext, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitJoinSource(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class StreamSourceContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_streamSource;
- }
-
- KW_STREAM() {
- return this.getToken(HiveParser.KW_STREAM, 0);
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- tableAlias() {
- return this.getTypedRuleContext(TableAliasContext, 0);
- }
-
- tableFunctionCall() {
- return this.getTypedRuleContext(TableFunctionCallContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitStreamSource(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class JoinSourcePartContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_joinSourcePart;
- }
-
- tableSource() {
- return this.getTypedRuleContext(TableSourceContext, 0);
- }
-
- virtualTableSource() {
- return this.getTypedRuleContext(VirtualTableSourceContext, 0);
- }
-
- subQuerySource() {
- return this.getTypedRuleContext(SubQuerySourceContext, 0);
- }
-
- partitionedTableFunction() {
- return this.getTypedRuleContext(PartitionedTableFunctionContext, 0);
- }
-
- lateralView = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(LateralViewContext);
- } else {
- return this.getTypedRuleContext(LateralViewContext, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitJoinSourcePart(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class UniqueJoinSourceContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_uniqueJoinSource;
- }
-
- uniqueJoinTableSource() {
- return this.getTypedRuleContext(UniqueJoinTableSourceContext, 0);
- }
-
- uniqueJoinExpr() {
- return this.getTypedRuleContext(UniqueJoinExprContext, 0);
- }
-
- KW_PRESERVE() {
- return this.getToken(HiveParser.KW_PRESERVE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitUniqueJoinSource(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class UniqueJoinExprContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_uniqueJoinExpr;
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- expressionList() {
- return this.getTypedRuleContext(ExpressionListContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitUniqueJoinExpr(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class UniqueJoinTokenContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_uniqueJoinToken;
- }
-
- KW_UNIQUEJOIN() {
- return this.getToken(HiveParser.KW_UNIQUEJOIN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitUniqueJoinToken(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class JoinTokenContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_joinToken;
- }
-
- KW_JOIN() {
- return this.getToken(HiveParser.KW_JOIN, 0);
- }
-
- KW_INNER() {
- return this.getToken(HiveParser.KW_INNER, 0);
- }
-
- COMMA() {
- return this.getToken(HiveParser.COMMA, 0);
- }
-
- KW_CROSS() {
- return this.getToken(HiveParser.KW_CROSS, 0);
- }
-
- KW_LEFT() {
- return this.getToken(HiveParser.KW_LEFT, 0);
- }
-
- KW_OUTER() {
- return this.getToken(HiveParser.KW_OUTER, 0);
- }
-
- KW_RIGHT() {
- return this.getToken(HiveParser.KW_RIGHT, 0);
- }
-
- KW_FULL() {
- return this.getToken(HiveParser.KW_FULL, 0);
- }
-
- KW_SEMI() {
- return this.getToken(HiveParser.KW_SEMI, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitJoinToken(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class LateralViewContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_lateralView;
- }
-
- KW_LATERAL() {
- return this.getToken(HiveParser.KW_LATERAL, 0);
- }
-
- KW_VIEW() {
- return this.getToken(HiveParser.KW_VIEW, 0);
- }
-
- KW_OUTER() {
- return this.getToken(HiveParser.KW_OUTER, 0);
- }
-
- functionStatement() {
- return this.getTypedRuleContext(FunctionStatementContext, 0);
- }
-
- tableAlias() {
- return this.getTypedRuleContext(TableAliasContext, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- LPAREN = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.LPAREN);
- } else {
- return this.getToken(HiveParser.LPAREN, i);
- }
- };
-
- valuesClause() {
- return this.getTypedRuleContext(ValuesClauseContext, 0);
- }
-
- RPAREN = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.RPAREN);
- } else {
- return this.getToken(HiveParser.RPAREN, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitLateralView(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableAliasContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableAlias;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableAlias(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableBucketSampleContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableBucketSample;
- }
-
- KW_TABLESAMPLE() {
- return this.getToken(HiveParser.KW_TABLESAMPLE, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- KW_BUCKET() {
- return this.getToken(HiveParser.KW_BUCKET, 0);
- }
-
- Number = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.Number);
- } else {
- return this.getToken(HiveParser.Number, i);
- }
- };
-
- KW_OUT() {
- return this.getToken(HiveParser.KW_OUT, 0);
- }
-
- KW_OF() {
- return this.getToken(HiveParser.KW_OF, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- KW_ON() {
- return this.getToken(HiveParser.KW_ON, 0);
- }
-
- expression = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ExpressionContext);
- } else {
- return this.getTypedRuleContext(ExpressionContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableBucketSample(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SplitSampleContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_splitSample;
- }
-
- KW_TABLESAMPLE() {
- return this.getToken(HiveParser.KW_TABLESAMPLE, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- Number() {
- return this.getToken(HiveParser.Number, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- KW_PERCENT() {
- return this.getToken(HiveParser.KW_PERCENT, 0);
- }
-
- KW_ROWS() {
- return this.getToken(HiveParser.KW_ROWS, 0);
- }
-
- ByteLengthLiteral() {
- return this.getToken(HiveParser.ByteLengthLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSplitSample(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableSampleContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableSample;
- }
-
- tableBucketSample() {
- return this.getTypedRuleContext(TableBucketSampleContext, 0);
- }
-
- splitSample() {
- return this.getTypedRuleContext(SplitSampleContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableSample(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableSourceContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableSource;
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- tableProperties() {
- return this.getTypedRuleContext(TablePropertiesContext, 0);
- }
-
- tableSample() {
- return this.getTypedRuleContext(TableSampleContext, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableSource(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class UniqueJoinTableSourceContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_uniqueJoinTableSource;
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- tableSample() {
- return this.getTypedRuleContext(TableSampleContext, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitUniqueJoinTableSource(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableNameContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableName;
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- DOT = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.DOT);
- } else {
- return this.getToken(HiveParser.DOT, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableName(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ViewNameContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_viewName;
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- DOT() {
- return this.getToken(HiveParser.DOT, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitViewName(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SubQuerySourceContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_subQuerySource;
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- queryStatementExpression() {
- return this.getTypedRuleContext(QueryStatementExpressionContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSubQuerySource(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PartitioningSpecContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_partitioningSpec;
- }
-
- partitionByClause() {
- return this.getTypedRuleContext(PartitionByClauseContext, 0);
- }
-
- orderByClause() {
- return this.getTypedRuleContext(OrderByClauseContext, 0);
- }
-
- distributeByClause() {
- return this.getTypedRuleContext(DistributeByClauseContext, 0);
- }
-
- sortByClause() {
- return this.getTypedRuleContext(SortByClauseContext, 0);
- }
-
- clusterByClause() {
- return this.getTypedRuleContext(ClusterByClauseContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPartitioningSpec(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PartitionTableFunctionSourceContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_partitionTableFunctionSource;
- }
-
- subQuerySource() {
- return this.getTypedRuleContext(SubQuerySourceContext, 0);
- }
-
- tableSource() {
- return this.getTypedRuleContext(TableSourceContext, 0);
- }
-
- partitionedTableFunction() {
- return this.getTypedRuleContext(PartitionedTableFunctionContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPartitionTableFunctionSource(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PartitionedTableFunctionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_partitionedTableFunction;
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- LPAREN = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.LPAREN);
- } else {
- return this.getToken(HiveParser.LPAREN, i);
- }
- };
-
- KW_ON() {
- return this.getToken(HiveParser.KW_ON, 0);
- }
-
- partitionTableFunctionSource() {
- return this.getTypedRuleContext(PartitionTableFunctionSourceContext, 0);
- }
-
- RPAREN = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.RPAREN);
- } else {
- return this.getToken(HiveParser.RPAREN, i);
- }
- };
-
- partitioningSpec() {
- return this.getTypedRuleContext(PartitioningSpecContext, 0);
- }
-
- Identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.Identifier);
- } else {
- return this.getToken(HiveParser.Identifier, i);
- }
- };
-
- expression = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ExpressionContext);
- } else {
- return this.getTypedRuleContext(ExpressionContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPartitionedTableFunction(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class WhereClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_whereClause;
- }
-
- KW_WHERE() {
- return this.getToken(HiveParser.KW_WHERE, 0);
- }
-
- searchCondition() {
- return this.getTypedRuleContext(SearchConditionContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitWhereClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SearchConditionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_searchCondition;
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSearchCondition(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ValuesClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_valuesClause;
- }
-
- KW_VALUES() {
- return this.getToken(HiveParser.KW_VALUES, 0);
- }
-
- valuesTableConstructor() {
- return this.getTypedRuleContext(ValuesTableConstructorContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitValuesClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ValuesTableConstructorContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_valuesTableConstructor;
- }
-
- valueRowConstructor = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ValueRowConstructorContext);
- } else {
- return this.getTypedRuleContext(ValueRowConstructorContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitValuesTableConstructor(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ValueRowConstructorContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_valueRowConstructor;
- }
-
- expressionsInParenthesis() {
- return this.getTypedRuleContext(ExpressionsInParenthesisContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitValueRowConstructor(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class VirtualTableSourceContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_virtualTableSource;
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- LPAREN = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.LPAREN);
- } else {
- return this.getToken(HiveParser.LPAREN, i);
- }
- };
-
- valuesClause() {
- return this.getTypedRuleContext(ValuesClauseContext, 0);
- }
-
- RPAREN = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.RPAREN);
- } else {
- return this.getToken(HiveParser.RPAREN, i);
- }
- };
-
- tableAlias() {
- return this.getTypedRuleContext(TableAliasContext, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitVirtualTableSource(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RangeTableValuedFunctionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_rangeTableValuedFunction;
- }
-
- KW_RANGE() {
- return this.getToken(HiveParser.KW_RANGE, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- Number = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.Number);
- } else {
- return this.getToken(HiveParser.Number, i);
- }
- };
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRangeTableValuedFunction(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableFunctionCallContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableFunctionCall;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- functionArgList() {
- return this.getTypedRuleContext(FunctionArgListContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableFunctionCall(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class FunctionArgListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_functionArgList;
- }
-
- functionArg = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(FunctionArgContext);
- } else {
- return this.getTypedRuleContext(FunctionArgContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitFunctionArgList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class FunctionArgContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_functionArg;
- }
-
- namedArg() {
- return this.getTypedRuleContext(NamedArgContext, 0);
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitFunctionArg(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class NamedArgContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_namedArg;
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- FAT_ARROW() {
- return this.getToken(HiveParser.FAT_ARROW, 0);
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitNamedArg(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class GroupByClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_groupByClause;
- }
-
- KW_GROUP() {
- return this.getToken(HiveParser.KW_GROUP, 0);
- }
-
- KW_BY() {
- return this.getToken(HiveParser.KW_BY, 0);
- }
-
- groupby_expression() {
- return this.getTypedRuleContext(Groupby_expressionContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitGroupByClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class Groupby_expressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_groupby_expression;
- }
-
- rollupStandard() {
- return this.getTypedRuleContext(RollupStandardContext, 0);
- }
-
- rollupOldSyntax() {
- return this.getTypedRuleContext(RollupOldSyntaxContext, 0);
- }
-
- groupByEmpty() {
- return this.getTypedRuleContext(GroupByEmptyContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitGroupby_expression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class GroupByEmptyContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_groupByEmpty;
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitGroupByEmpty(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RollupStandardContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_rollupStandard;
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- expression = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ExpressionContext);
- } else {
- return this.getTypedRuleContext(ExpressionContext, i);
- }
- };
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- KW_ROLLUP() {
- return this.getToken(HiveParser.KW_ROLLUP, 0);
- }
-
- KW_CUBE() {
- return this.getToken(HiveParser.KW_CUBE, 0);
- }
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRollupStandard(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RollupOldSyntaxContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_rollupOldSyntax;
- }
-
- expressionsNotInParenthesis() {
- return this.getTypedRuleContext(ExpressionsNotInParenthesisContext, 0);
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- KW_ROLLUP() {
- return this.getToken(HiveParser.KW_ROLLUP, 0);
- }
-
- KW_CUBE() {
- return this.getToken(HiveParser.KW_CUBE, 0);
- }
-
- KW_GROUPING() {
- return this.getToken(HiveParser.KW_GROUPING, 0);
- }
-
- KW_SETS() {
- return this.getToken(HiveParser.KW_SETS, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- groupingSetExpression = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(GroupingSetExpressionContext);
- } else {
- return this.getTypedRuleContext(GroupingSetExpressionContext, i);
- }
- };
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRollupOldSyntax(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class GroupingSetExpressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_groupingSetExpression;
- }
-
- groupingSetExpressionMultiple() {
- return this.getTypedRuleContext(GroupingSetExpressionMultipleContext, 0);
- }
-
- groupingExpressionSingle() {
- return this.getTypedRuleContext(GroupingExpressionSingleContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitGroupingSetExpression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class GroupingSetExpressionMultipleContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_groupingSetExpressionMultiple;
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- expression = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ExpressionContext);
- } else {
- return this.getTypedRuleContext(ExpressionContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitGroupingSetExpressionMultiple(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class GroupingExpressionSingleContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_groupingExpressionSingle;
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitGroupingExpressionSingle(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class HavingClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_havingClause;
- }
-
- KW_HAVING() {
- return this.getToken(HiveParser.KW_HAVING, 0);
- }
-
- havingCondition() {
- return this.getTypedRuleContext(HavingConditionContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitHavingClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class HavingConditionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_havingCondition;
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitHavingCondition(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ExpressionsInParenthesisContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_expressionsInParenthesis;
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- expressionsNotInParenthesis() {
- return this.getTypedRuleContext(ExpressionsNotInParenthesisContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitExpressionsInParenthesis(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ExpressionsNotInParenthesisContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_expressionsNotInParenthesis;
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- expressionPart() {
- return this.getTypedRuleContext(ExpressionPartContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitExpressionsNotInParenthesis(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ExpressionPartContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_expressionPart;
- }
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- expression = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ExpressionContext);
- } else {
- return this.getTypedRuleContext(ExpressionContext, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitExpressionPart(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ExpressionsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_expressions;
- }
-
- expressionsInParenthesis() {
- return this.getTypedRuleContext(ExpressionsInParenthesisContext, 0);
- }
-
- expressionsNotInParenthesis() {
- return this.getTypedRuleContext(ExpressionsNotInParenthesisContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitExpressions(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnRefOrderInParenthesisContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnRefOrderInParenthesis;
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- columnRefOrder = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ColumnRefOrderContext);
- } else {
- return this.getTypedRuleContext(ColumnRefOrderContext, i);
- }
- };
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnRefOrderInParenthesis(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ColumnRefOrderNotInParenthesisContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_columnRefOrderNotInParenthesis;
- }
-
- columnRefOrder = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ColumnRefOrderContext);
- } else {
- return this.getTypedRuleContext(ColumnRefOrderContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitColumnRefOrderNotInParenthesis(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class OrderByClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_orderByClause;
- }
-
- KW_ORDER() {
- return this.getToken(HiveParser.KW_ORDER, 0);
- }
-
- KW_BY() {
- return this.getToken(HiveParser.KW_BY, 0);
- }
-
- columnRefOrder = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ColumnRefOrderContext);
- } else {
- return this.getTypedRuleContext(ColumnRefOrderContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitOrderByClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ClusterByClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_clusterByClause;
- }
-
- KW_CLUSTER() {
- return this.getToken(HiveParser.KW_CLUSTER, 0);
- }
-
- KW_BY() {
- return this.getToken(HiveParser.KW_BY, 0);
- }
-
- KW_AUTO() {
- return this.getToken(HiveParser.KW_AUTO, 0);
- }
-
- KW_NONE() {
- return this.getToken(HiveParser.KW_NONE, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- columnNameList() {
- return this.getTypedRuleContext(ColumnNameListContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitClusterByClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PartitionByClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_partitionByClause;
- }
-
- KW_PARTITION() {
- return this.getToken(HiveParser.KW_PARTITION, 0);
- }
-
- KW_BY() {
- return this.getToken(HiveParser.KW_BY, 0);
- }
-
- expressions() {
- return this.getTypedRuleContext(ExpressionsContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPartitionByClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DistributeByClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_distributeByClause;
- }
-
- KW_DISTRIBUTE() {
- return this.getToken(HiveParser.KW_DISTRIBUTE, 0);
- }
-
- KW_BY() {
- return this.getToken(HiveParser.KW_BY, 0);
- }
-
- expressions() {
- return this.getTypedRuleContext(ExpressionsContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDistributeByClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SortByClauseContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_sortByClause;
- }
-
- KW_SORT() {
- return this.getToken(HiveParser.KW_SORT, 0);
- }
-
- KW_BY() {
- return this.getToken(HiveParser.KW_BY, 0);
- }
-
- columnRefOrderInParenthesis() {
- return this.getTypedRuleContext(ColumnRefOrderInParenthesisContext, 0);
- }
-
- columnRefOrderNotInParenthesis() {
- return this.getTypedRuleContext(ColumnRefOrderNotInParenthesisContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSortByClause(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class FunctionStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_functionStatement;
- }
-
- functionName() {
- return this.getTypedRuleContext(FunctionNameContext, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- STAR() {
- return this.getToken(HiveParser.STAR, 0);
- }
-
- KW_OVER() {
- return this.getToken(HiveParser.KW_OVER, 0);
- }
-
- window_specification() {
- return this.getTypedRuleContext(Window_specificationContext, 0);
- }
-
- selectExpression = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(SelectExpressionContext);
- } else {
- return this.getTypedRuleContext(SelectExpressionContext, i);
- }
- };
-
- KW_DISTINCT() {
- return this.getToken(HiveParser.KW_DISTINCT, 0);
- }
-
- KW_ALL() {
- return this.getToken(HiveParser.KW_ALL, 0);
- }
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitFunctionStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class FunctionNameContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_functionName;
- }
-
- functionIdentifier() {
- return this.getTypedRuleContext(FunctionIdentifierContext, 0);
- }
-
- sql11ReservedKeywordsUsedAsFunctionName() {
- return this.getTypedRuleContext(Sql11ReservedKeywordsUsedAsFunctionNameContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitFunctionName(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CastExpressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_castExpression;
- }
-
- KW_CAST() {
- return this.getToken(HiveParser.KW_CAST, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- primitiveType() {
- return this.getTypedRuleContext(PrimitiveTypeContext, 0);
- }
-
- structType() {
- return this.getTypedRuleContext(StructTypeContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCastExpression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CaseExpressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_caseExpression;
- }
-
- KW_CASE() {
- return this.getToken(HiveParser.KW_CASE, 0);
- }
-
- expression = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ExpressionContext);
- } else {
- return this.getTypedRuleContext(ExpressionContext, i);
- }
- };
-
- KW_END() {
- return this.getToken(HiveParser.KW_END, 0);
- }
-
- KW_WHEN = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.KW_WHEN);
- } else {
- return this.getToken(HiveParser.KW_WHEN, i);
- }
- };
-
- KW_THEN = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.KW_THEN);
- } else {
- return this.getToken(HiveParser.KW_THEN, i);
- }
- };
-
- KW_ELSE() {
- return this.getToken(HiveParser.KW_ELSE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCaseExpression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class WhenExpressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_whenExpression;
- }
-
- KW_CASE() {
- return this.getToken(HiveParser.KW_CASE, 0);
- }
-
- KW_END() {
- return this.getToken(HiveParser.KW_END, 0);
- }
-
- KW_WHEN = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.KW_WHEN);
- } else {
- return this.getToken(HiveParser.KW_WHEN, i);
- }
- };
-
- expression = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ExpressionContext);
- } else {
- return this.getTypedRuleContext(ExpressionContext, i);
- }
- };
-
- KW_THEN = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.KW_THEN);
- } else {
- return this.getToken(HiveParser.KW_THEN, i);
- }
- };
-
- KW_ELSE() {
- return this.getToken(HiveParser.KW_ELSE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitWhenExpression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class FloorExpressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_floorExpression;
- }
-
- KW_FLOOR() {
- return this.getToken(HiveParser.KW_FLOOR, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- KW_TO() {
- return this.getToken(HiveParser.KW_TO, 0);
- }
-
- floorDateQualifiers() {
- return this.getTypedRuleContext(FloorDateQualifiersContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitFloorExpression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class FloorDateQualifiersContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_floorDateQualifiers;
- }
-
- KW_YEAR() {
- return this.getToken(HiveParser.KW_YEAR, 0);
- }
-
- KW_QUARTER() {
- return this.getToken(HiveParser.KW_QUARTER, 0);
- }
-
- KW_MONTH() {
- return this.getToken(HiveParser.KW_MONTH, 0);
- }
-
- KW_WEEK() {
- return this.getToken(HiveParser.KW_WEEK, 0);
- }
-
- KW_DAY() {
- return this.getToken(HiveParser.KW_DAY, 0);
- }
-
- KW_HOUR() {
- return this.getToken(HiveParser.KW_HOUR, 0);
- }
-
- KW_MINUTE() {
- return this.getToken(HiveParser.KW_MINUTE, 0);
- }
-
- KW_SECOND() {
- return this.getToken(HiveParser.KW_SECOND, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitFloorDateQualifiers(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ExtractExpressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_extractExpression;
- }
-
- KW_EXTRACT() {
- return this.getToken(HiveParser.KW_EXTRACT, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- timeQualifiers() {
- return this.getTypedRuleContext(TimeQualifiersContext, 0);
- }
-
- KW_FROM() {
- return this.getToken(HiveParser.KW_FROM, 0);
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitExtractExpression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TimeQualifiersContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_timeQualifiers;
- }
-
- KW_YEAR() {
- return this.getToken(HiveParser.KW_YEAR, 0);
- }
-
- KW_QUARTER() {
- return this.getToken(HiveParser.KW_QUARTER, 0);
- }
-
- KW_MONTH() {
- return this.getToken(HiveParser.KW_MONTH, 0);
- }
-
- KW_WEEK() {
- return this.getToken(HiveParser.KW_WEEK, 0);
- }
-
- KW_DAY() {
- return this.getToken(HiveParser.KW_DAY, 0);
- }
-
- KW_DOW() {
- return this.getToken(HiveParser.KW_DOW, 0);
- }
-
- KW_HOUR() {
- return this.getToken(HiveParser.KW_HOUR, 0);
- }
-
- KW_MINUTE() {
- return this.getToken(HiveParser.KW_MINUTE, 0);
- }
-
- KW_SECOND() {
- return this.getToken(HiveParser.KW_SECOND, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTimeQualifiers(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ConstantContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_constant;
- }
-
- intervalLiteral() {
- return this.getTypedRuleContext(IntervalLiteralContext, 0);
- }
-
- Number() {
- return this.getToken(HiveParser.Number, 0);
- }
-
- dateLiteral() {
- return this.getTypedRuleContext(DateLiteralContext, 0);
- }
-
- timestampLiteral() {
- return this.getTypedRuleContext(TimestampLiteralContext, 0);
- }
-
- timestampLocalTZLiteral() {
- return this.getTypedRuleContext(TimestampLocalTZLiteralContext, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- stringLiteralSequence() {
- return this.getTypedRuleContext(StringLiteralSequenceContext, 0);
- }
-
- IntegralLiteral() {
- return this.getToken(HiveParser.IntegralLiteral, 0);
- }
-
- NumberLiteral() {
- return this.getToken(HiveParser.NumberLiteral, 0);
- }
-
- charSetStringLiteral() {
- return this.getTypedRuleContext(CharSetStringLiteralContext, 0);
- }
-
- booleanValue() {
- return this.getTypedRuleContext(BooleanValueContext, 0);
- }
-
- KW_NULL() {
- return this.getToken(HiveParser.KW_NULL, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitConstant(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class StringLiteralSequenceContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_stringLiteralSequence;
- }
-
- StringLiteral = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.StringLiteral);
- } else {
- return this.getToken(HiveParser.StringLiteral, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitStringLiteralSequence(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CharSetStringLiteralContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_charSetStringLiteral;
- }
-
- CharSetName() {
- return this.getToken(HiveParser.CharSetName, 0);
- }
-
- CharSetLiteral() {
- return this.getToken(HiveParser.CharSetLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCharSetStringLiteral(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DateLiteralContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dateLiteral;
- }
-
- KW_DATE() {
- return this.getToken(HiveParser.KW_DATE, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- KW_CURRENT_DATE() {
- return this.getToken(HiveParser.KW_CURRENT_DATE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDateLiteral(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TimestampLiteralContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_timestampLiteral;
- }
-
- KW_TIMESTAMP() {
- return this.getToken(HiveParser.KW_TIMESTAMP, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- KW_AS() {
- return this.getToken(HiveParser.KW_AS, 0);
- }
-
- KW_TIMESTAMP_NTZ() {
- return this.getToken(HiveParser.KW_TIMESTAMP_NTZ, 0);
- }
-
- KW_CURRENT_TIMESTAMP() {
- return this.getToken(HiveParser.KW_CURRENT_TIMESTAMP, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTimestampLiteral(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TimestampLocalTZLiteralContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_timestampLocalTZLiteral;
- }
-
- KW_TIMESTAMPLOCALTZ() {
- return this.getToken(HiveParser.KW_TIMESTAMPLOCALTZ, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTimestampLocalTZLiteral(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class IntervalValueContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_intervalValue;
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- Number() {
- return this.getToken(HiveParser.Number, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitIntervalValue(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class IntervalLiteralContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_intervalLiteral;
- }
-
- intervalValue() {
- return this.getTypedRuleContext(IntervalValueContext, 0);
- }
-
- intervalQualifiers() {
- return this.getTypedRuleContext(IntervalQualifiersContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitIntervalLiteral(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class IntervalExpressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_intervalExpression;
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- intervalValue() {
- return this.getTypedRuleContext(IntervalValueContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- intervalQualifiers() {
- return this.getTypedRuleContext(IntervalQualifiersContext, 0);
- }
-
- KW_INTERVAL() {
- return this.getToken(HiveParser.KW_INTERVAL, 0);
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitIntervalExpression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class IntervalQualifiersContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_intervalQualifiers;
- }
-
- KW_YEAR() {
- return this.getToken(HiveParser.KW_YEAR, 0);
- }
-
- KW_TO() {
- return this.getToken(HiveParser.KW_TO, 0);
- }
-
- KW_MONTH() {
- return this.getToken(HiveParser.KW_MONTH, 0);
- }
-
- KW_DAY() {
- return this.getToken(HiveParser.KW_DAY, 0);
- }
-
- KW_SECOND() {
- return this.getToken(HiveParser.KW_SECOND, 0);
- }
-
- KW_HOUR() {
- return this.getToken(HiveParser.KW_HOUR, 0);
- }
-
- KW_MINUTE() {
- return this.getToken(HiveParser.KW_MINUTE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitIntervalQualifiers(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AtomExpressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_atomExpression;
- }
-
- constant() {
- return this.getTypedRuleContext(ConstantContext, 0);
- }
-
- intervalExpression() {
- return this.getTypedRuleContext(IntervalExpressionContext, 0);
- }
-
- castExpression() {
- return this.getTypedRuleContext(CastExpressionContext, 0);
- }
-
- extractExpression() {
- return this.getTypedRuleContext(ExtractExpressionContext, 0);
- }
-
- floorExpression() {
- return this.getTypedRuleContext(FloorExpressionContext, 0);
- }
-
- caseExpression() {
- return this.getTypedRuleContext(CaseExpressionContext, 0);
- }
-
- whenExpression() {
- return this.getTypedRuleContext(WhenExpressionContext, 0);
- }
-
- subQueryExpression() {
- return this.getTypedRuleContext(SubQueryExpressionContext, 0);
- }
-
- functionStatement() {
- return this.getTypedRuleContext(FunctionStatementContext, 0);
- }
-
- tableOrColumn() {
- return this.getTypedRuleContext(TableOrColumnContext, 0);
- }
-
- expressionsInParenthesis() {
- return this.getTypedRuleContext(ExpressionsInParenthesisContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAtomExpression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrecedenceUnaryOperatorContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_precedenceUnaryOperator;
- }
-
- PLUS() {
- return this.getToken(HiveParser.PLUS, 0);
- }
-
- MINUS() {
- return this.getToken(HiveParser.MINUS, 0);
- }
-
- TILDE() {
- return this.getToken(HiveParser.TILDE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrecedenceUnaryOperator(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class IsConditionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_isCondition;
- }
-
- KW_NULL() {
- return this.getToken(HiveParser.KW_NULL, 0);
- }
-
- KW_TRUE() {
- return this.getToken(HiveParser.KW_TRUE, 0);
- }
-
- KW_FALSE() {
- return this.getToken(HiveParser.KW_FALSE, 0);
- }
-
- KW_NOT() {
- return this.getToken(HiveParser.KW_NOT, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitIsCondition(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrecedenceBitwiseXorOperatorContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_precedenceBitwiseXorOperator;
- }
-
- BITWISEXOR() {
- return this.getToken(HiveParser.BITWISEXOR, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrecedenceBitwiseXorOperator(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrecedenceStarOperatorContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_precedenceStarOperator;
- }
-
- STAR() {
- return this.getToken(HiveParser.STAR, 0);
- }
-
- DIVIDE() {
- return this.getToken(HiveParser.DIVIDE, 0);
- }
-
- MOD() {
- return this.getToken(HiveParser.MOD, 0);
- }
-
- DIV() {
- return this.getToken(HiveParser.DIV, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrecedenceStarOperator(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrecedencePlusOperatorContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_precedencePlusOperator;
- }
-
- PLUS() {
- return this.getToken(HiveParser.PLUS, 0);
- }
-
- MINUS() {
- return this.getToken(HiveParser.MINUS, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrecedencePlusOperator(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrecedenceConcatenateOperatorContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_precedenceConcatenateOperator;
- }
-
- CONCATENATE() {
- return this.getToken(HiveParser.CONCATENATE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrecedenceConcatenateOperator(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrecedenceAmpersandOperatorContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_precedenceAmpersandOperator;
- }
-
- AMPERSAND() {
- return this.getToken(HiveParser.AMPERSAND, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrecedenceAmpersandOperator(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrecedenceBitwiseOrOperatorContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_precedenceBitwiseOrOperator;
- }
-
- BITWISEOR() {
- return this.getToken(HiveParser.BITWISEOR, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrecedenceBitwiseOrOperator(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrecedenceRegexpOperatorContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_precedenceRegexpOperator;
- }
-
- KW_LIKE() {
- return this.getToken(HiveParser.KW_LIKE, 0);
- }
-
- KW_RLIKE() {
- return this.getToken(HiveParser.KW_RLIKE, 0);
- }
-
- KW_REGEXP() {
- return this.getToken(HiveParser.KW_REGEXP, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrecedenceRegexpOperator(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrecedenceSimilarOperatorContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_precedenceSimilarOperator;
- }
-
- precedenceRegexpOperator() {
- return this.getTypedRuleContext(PrecedenceRegexpOperatorContext, 0);
- }
-
- LESSTHANOREQUALTO() {
- return this.getToken(HiveParser.LESSTHANOREQUALTO, 0);
- }
-
- LESSTHAN() {
- return this.getToken(HiveParser.LESSTHAN, 0);
- }
-
- GREATERTHANOREQUALTO() {
- return this.getToken(HiveParser.GREATERTHANOREQUALTO, 0);
- }
-
- GREATERTHAN() {
- return this.getToken(HiveParser.GREATERTHAN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrecedenceSimilarOperator(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrecedenceDistinctOperatorContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_precedenceDistinctOperator;
- }
-
- KW_IS() {
- return this.getToken(HiveParser.KW_IS, 0);
- }
-
- KW_DISTINCT() {
- return this.getToken(HiveParser.KW_DISTINCT, 0);
- }
-
- KW_FROM() {
- return this.getToken(HiveParser.KW_FROM, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrecedenceDistinctOperator(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrecedenceEqualOperatorContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_precedenceEqualOperator;
- }
-
- EQUAL() {
- return this.getToken(HiveParser.EQUAL, 0);
- }
-
- EQUAL_NS() {
- return this.getToken(HiveParser.EQUAL_NS, 0);
- }
-
- NOTEQUAL() {
- return this.getToken(HiveParser.NOTEQUAL, 0);
- }
-
- KW_IS() {
- return this.getToken(HiveParser.KW_IS, 0);
- }
-
- KW_NOT() {
- return this.getToken(HiveParser.KW_NOT, 0);
- }
-
- KW_DISTINCT() {
- return this.getToken(HiveParser.KW_DISTINCT, 0);
- }
-
- KW_FROM() {
- return this.getToken(HiveParser.KW_FROM, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrecedenceEqualOperator(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrecedenceNotOperatorContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_precedenceNotOperator;
- }
-
- KW_NOT() {
- return this.getToken(HiveParser.KW_NOT, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrecedenceNotOperator(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrecedenceAndOperatorContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_precedenceAndOperator;
- }
-
- KW_AND() {
- return this.getToken(HiveParser.KW_AND, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrecedenceAndOperator(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrecedenceOrOperatorContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_precedenceOrOperator;
- }
-
- KW_OR() {
- return this.getToken(HiveParser.KW_OR, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrecedenceOrOperator(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ExpressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_expression;
- }
-
- atomExpression() {
- return this.getTypedRuleContext(AtomExpressionContext, 0);
- }
-
- LSQUARE = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.LSQUARE);
- } else {
- return this.getToken(HiveParser.LSQUARE, i);
- }
- };
-
- expression = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ExpressionContext);
- } else {
- return this.getTypedRuleContext(ExpressionContext, i);
- }
- };
-
- RSQUARE = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.RSQUARE);
- } else {
- return this.getToken(HiveParser.RSQUARE, i);
- }
- };
-
- DOT = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.DOT);
- } else {
- return this.getToken(HiveParser.DOT, i);
- }
- };
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- precedenceUnaryOperator() {
- return this.getTypedRuleContext(PrecedenceUnaryOperatorContext, 0);
- }
-
- KW_EXISTS() {
- return this.getToken(HiveParser.KW_EXISTS, 0);
- }
-
- subQueryExpression() {
- return this.getTypedRuleContext(SubQueryExpressionContext, 0);
- }
-
- precedenceNotOperator() {
- return this.getTypedRuleContext(PrecedenceNotOperatorContext, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- precedenceBitwiseXorOperator() {
- return this.getTypedRuleContext(PrecedenceBitwiseXorOperatorContext, 0);
- }
-
- precedenceStarOperator() {
- return this.getTypedRuleContext(PrecedenceStarOperatorContext, 0);
- }
-
- precedencePlusOperator() {
- return this.getTypedRuleContext(PrecedencePlusOperatorContext, 0);
- }
-
- precedenceConcatenateOperator() {
- return this.getTypedRuleContext(PrecedenceConcatenateOperatorContext, 0);
- }
-
- precedenceAmpersandOperator() {
- return this.getTypedRuleContext(PrecedenceAmpersandOperatorContext, 0);
- }
-
- precedenceBitwiseOrOperator() {
- return this.getTypedRuleContext(PrecedenceBitwiseOrOperatorContext, 0);
- }
-
- precedenceEqualOperator() {
- return this.getTypedRuleContext(PrecedenceEqualOperatorContext, 0);
- }
-
- precedenceDistinctOperator() {
- return this.getTypedRuleContext(PrecedenceDistinctOperatorContext, 0);
- }
-
- precedenceAndOperator() {
- return this.getTypedRuleContext(PrecedenceAndOperatorContext, 0);
- }
-
- precedenceOrOperator() {
- return this.getTypedRuleContext(PrecedenceOrOperatorContext, 0);
- }
-
- KW_IS() {
- return this.getToken(HiveParser.KW_IS, 0);
- }
-
- isCondition() {
- return this.getTypedRuleContext(IsConditionContext, 0);
- }
-
- precedenceSimilarExpressionPart() {
- return this.getTypedRuleContext(PrecedenceSimilarExpressionPartContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitExpression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SubQueryExpressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_subQueryExpression;
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- selectStatement() {
- return this.getTypedRuleContext(SelectStatementContext, 0);
- }
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSubQueryExpression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrecedenceSimilarExpressionPartContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_precedenceSimilarExpressionPart;
- }
-
- precedenceSimilarOperator() {
- return this.getTypedRuleContext(PrecedenceSimilarOperatorContext, 0);
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- precedenceSimilarExpressionAtom() {
- return this.getTypedRuleContext(PrecedenceSimilarExpressionAtomContext, 0);
- }
-
- KW_NOT() {
- return this.getToken(HiveParser.KW_NOT, 0);
- }
-
- precedenceSimilarExpressionPartNot() {
- return this.getTypedRuleContext(PrecedenceSimilarExpressionPartNotContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrecedenceSimilarExpressionPart(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrecedenceSimilarExpressionAtomContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_precedenceSimilarExpressionAtom;
- }
-
- KW_IN() {
- return this.getToken(HiveParser.KW_IN, 0);
- }
-
- precedenceSimilarExpressionIn() {
- return this.getTypedRuleContext(PrecedenceSimilarExpressionInContext, 0);
- }
-
- KW_BETWEEN() {
- return this.getToken(HiveParser.KW_BETWEEN, 0);
- }
-
- expression = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(ExpressionContext);
- } else {
- return this.getTypedRuleContext(ExpressionContext, i);
- }
- };
-
- KW_AND() {
- return this.getToken(HiveParser.KW_AND, 0);
- }
-
- KW_LIKE() {
- return this.getToken(HiveParser.KW_LIKE, 0);
- }
-
- KW_ANY() {
- return this.getToken(HiveParser.KW_ANY, 0);
- }
-
- expressionsInParenthesis() {
- return this.getTypedRuleContext(ExpressionsInParenthesisContext, 0);
- }
-
- KW_ALL() {
- return this.getToken(HiveParser.KW_ALL, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrecedenceSimilarExpressionAtom(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrecedenceSimilarExpressionInContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_precedenceSimilarExpressionIn;
- }
-
- subQueryExpression() {
- return this.getTypedRuleContext(SubQueryExpressionContext, 0);
- }
-
- expressionsInParenthesis() {
- return this.getTypedRuleContext(ExpressionsInParenthesisContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrecedenceSimilarExpressionIn(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrecedenceSimilarExpressionPartNotContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_precedenceSimilarExpressionPartNot;
- }
-
- precedenceRegexpOperator() {
- return this.getTypedRuleContext(PrecedenceRegexpOperatorContext, 0);
- }
-
- expression() {
- return this.getTypedRuleContext(ExpressionContext, 0);
- }
-
- precedenceSimilarExpressionAtom() {
- return this.getTypedRuleContext(PrecedenceSimilarExpressionAtomContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrecedenceSimilarExpressionPartNot(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class BooleanValueContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_booleanValue;
- }
-
- KW_TRUE() {
- return this.getToken(HiveParser.KW_TRUE, 0);
- }
-
- KW_FALSE() {
- return this.getToken(HiveParser.KW_FALSE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitBooleanValue(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class BooleanValueTokContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_booleanValueTok;
- }
-
- KW_TRUE() {
- return this.getToken(HiveParser.KW_TRUE, 0);
- }
-
- KW_FALSE() {
- return this.getToken(HiveParser.KW_FALSE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitBooleanValueTok(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TableOrPartitionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_tableOrPartition;
- }
-
- tableName() {
- return this.getTypedRuleContext(TableNameContext, 0);
- }
-
- partitionSpec() {
- return this.getTypedRuleContext(PartitionSpecContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTableOrPartition(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PartitionSpecContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_partitionSpec;
- }
-
- KW_PARTITION() {
- return this.getToken(HiveParser.KW_PARTITION, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- partitionVal = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(PartitionValContext);
- } else {
- return this.getTypedRuleContext(PartitionValContext, i);
- }
- };
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPartitionSpec(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PartitionValContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_partitionVal;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- EQUAL() {
- return this.getToken(HiveParser.EQUAL, 0);
- }
-
- constant() {
- return this.getTypedRuleContext(ConstantContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPartitionVal(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DropPartitionSpecContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dropPartitionSpec;
- }
-
- KW_PARTITION() {
- return this.getToken(HiveParser.KW_PARTITION, 0);
- }
-
- LPAREN() {
- return this.getToken(HiveParser.LPAREN, 0);
- }
-
- dropPartitionVal = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(DropPartitionValContext);
- } else {
- return this.getTypedRuleContext(DropPartitionValContext, i);
- }
- };
-
- RPAREN() {
- return this.getToken(HiveParser.RPAREN, 0);
- }
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDropPartitionSpec(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DropPartitionValContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dropPartitionVal;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- dropPartitionOperator() {
- return this.getTypedRuleContext(DropPartitionOperatorContext, 0);
- }
-
- constant() {
- return this.getTypedRuleContext(ConstantContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDropPartitionVal(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DropPartitionOperatorContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dropPartitionOperator;
- }
-
- EQUAL() {
- return this.getToken(HiveParser.EQUAL, 0);
- }
-
- NOTEQUAL() {
- return this.getToken(HiveParser.NOTEQUAL, 0);
- }
-
- LESSTHANOREQUALTO() {
- return this.getToken(HiveParser.LESSTHANOREQUALTO, 0);
- }
-
- LESSTHAN() {
- return this.getToken(HiveParser.LESSTHAN, 0);
- }
-
- GREATERTHANOREQUALTO() {
- return this.getToken(HiveParser.GREATERTHANOREQUALTO, 0);
- }
-
- GREATERTHAN() {
- return this.getToken(HiveParser.GREATERTHAN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDropPartitionOperator(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class SysFuncNamesContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_sysFuncNames;
- }
-
- KW_AND() {
- return this.getToken(HiveParser.KW_AND, 0);
- }
-
- KW_OR() {
- return this.getToken(HiveParser.KW_OR, 0);
- }
-
- KW_NOT() {
- return this.getToken(HiveParser.KW_NOT, 0);
- }
-
- KW_LIKE() {
- return this.getToken(HiveParser.KW_LIKE, 0);
- }
-
- KW_IF() {
- return this.getToken(HiveParser.KW_IF, 0);
- }
-
- KW_CASE() {
- return this.getToken(HiveParser.KW_CASE, 0);
- }
-
- KW_WHEN() {
- return this.getToken(HiveParser.KW_WHEN, 0);
- }
-
- KW_FLOOR() {
- return this.getToken(HiveParser.KW_FLOOR, 0);
- }
-
- KW_TINYINT() {
- return this.getToken(HiveParser.KW_TINYINT, 0);
- }
-
- KW_SMALLINT() {
- return this.getToken(HiveParser.KW_SMALLINT, 0);
- }
-
- KW_INT() {
- return this.getToken(HiveParser.KW_INT, 0);
- }
-
- KW_BIGINT() {
- return this.getToken(HiveParser.KW_BIGINT, 0);
- }
-
- KW_FLOAT() {
- return this.getToken(HiveParser.KW_FLOAT, 0);
- }
-
- KW_DOUBLE() {
- return this.getToken(HiveParser.KW_DOUBLE, 0);
- }
-
- KW_BOOLEAN() {
- return this.getToken(HiveParser.KW_BOOLEAN, 0);
- }
-
- KW_STRING() {
- return this.getToken(HiveParser.KW_STRING, 0);
- }
-
- KW_BINARY() {
- return this.getToken(HiveParser.KW_BINARY, 0);
- }
-
- KW_ARRAY() {
- return this.getToken(HiveParser.KW_ARRAY, 0);
- }
-
- KW_MAP() {
- return this.getToken(HiveParser.KW_MAP, 0);
- }
-
- KW_STRUCT() {
- return this.getToken(HiveParser.KW_STRUCT, 0);
- }
-
- KW_UNIONTYPE() {
- return this.getToken(HiveParser.KW_UNIONTYPE, 0);
- }
-
- EQUAL() {
- return this.getToken(HiveParser.EQUAL, 0);
- }
-
- EQUAL_NS() {
- return this.getToken(HiveParser.EQUAL_NS, 0);
- }
-
- NOTEQUAL() {
- return this.getToken(HiveParser.NOTEQUAL, 0);
- }
-
- LESSTHANOREQUALTO() {
- return this.getToken(HiveParser.LESSTHANOREQUALTO, 0);
- }
-
- LESSTHAN() {
- return this.getToken(HiveParser.LESSTHAN, 0);
- }
-
- GREATERTHANOREQUALTO() {
- return this.getToken(HiveParser.GREATERTHANOREQUALTO, 0);
- }
-
- GREATERTHAN() {
- return this.getToken(HiveParser.GREATERTHAN, 0);
- }
-
- DIVIDE() {
- return this.getToken(HiveParser.DIVIDE, 0);
- }
-
- PLUS() {
- return this.getToken(HiveParser.PLUS, 0);
- }
-
- MINUS() {
- return this.getToken(HiveParser.MINUS, 0);
- }
-
- STAR() {
- return this.getToken(HiveParser.STAR, 0);
- }
-
- MOD() {
- return this.getToken(HiveParser.MOD, 0);
- }
-
- DIV() {
- return this.getToken(HiveParser.DIV, 0);
- }
-
- AMPERSAND() {
- return this.getToken(HiveParser.AMPERSAND, 0);
- }
-
- TILDE() {
- return this.getToken(HiveParser.TILDE, 0);
- }
-
- BITWISEOR() {
- return this.getToken(HiveParser.BITWISEOR, 0);
- }
-
- BITWISEXOR() {
- return this.getToken(HiveParser.BITWISEXOR, 0);
- }
-
- KW_RLIKE() {
- return this.getToken(HiveParser.KW_RLIKE, 0);
- }
-
- KW_REGEXP() {
- return this.getToken(HiveParser.KW_REGEXP, 0);
- }
-
- KW_IN() {
- return this.getToken(HiveParser.KW_IN, 0);
- }
-
- KW_BETWEEN() {
- return this.getToken(HiveParser.KW_BETWEEN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSysFuncNames(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DescFuncNamesContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_descFuncNames;
- }
-
- sysFuncNames() {
- return this.getTypedRuleContext(SysFuncNamesContext, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- functionIdentifier() {
- return this.getTypedRuleContext(FunctionIdentifierContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDescFuncNames(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class IdentifierContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_identifier;
- }
-
- Identifier() {
- return this.getToken(HiveParser.Identifier, 0);
- }
-
- LCURLY = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.LCURLY);
- } else {
- return this.getToken(HiveParser.LCURLY, i);
- }
- };
-
- RCURLY = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.RCURLY);
- } else {
- return this.getToken(HiveParser.RCURLY, i);
- }
- };
-
- nonReserved() {
- return this.getTypedRuleContext(NonReservedContext, 0);
- }
-
- databricksAllowedReservedNames() {
- return this.getTypedRuleContext(DatabricksAllowedReservedNamesContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitIdentifier(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class FunctionIdentifierContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_functionIdentifier;
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- DOT = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.DOT);
- } else {
- return this.getToken(HiveParser.DOT, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitFunctionIdentifier(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PrincipalIdentifierContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_principalIdentifier;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- QuotedIdentifier() {
- return this.getToken(HiveParser.QuotedIdentifier, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPrincipalIdentifier(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class NonReservedContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_nonReserved;
- }
-
- KW_ABORT() {
- return this.getToken(HiveParser.KW_ABORT, 0);
- }
-
- KW_ADD() {
- return this.getToken(HiveParser.KW_ADD, 0);
- }
-
- KW_ADMIN() {
- return this.getToken(HiveParser.KW_ADMIN, 0);
- }
-
- KW_AFTER() {
- return this.getToken(HiveParser.KW_AFTER, 0);
- }
-
- KW_ANALYZE() {
- return this.getToken(HiveParser.KW_ANALYZE, 0);
- }
-
- KW_ARCHIVE() {
- return this.getToken(HiveParser.KW_ARCHIVE, 0);
- }
-
- KW_ASC() {
- return this.getToken(HiveParser.KW_ASC, 0);
- }
-
- KW_BEFORE() {
- return this.getToken(HiveParser.KW_BEFORE, 0);
- }
-
- KW_BUCKET() {
- return this.getToken(HiveParser.KW_BUCKET, 0);
- }
-
- KW_BUCKETS() {
- return this.getToken(HiveParser.KW_BUCKETS, 0);
- }
-
- KW_CASCADE() {
- return this.getToken(HiveParser.KW_CASCADE, 0);
- }
-
- KW_CHANGE() {
- return this.getToken(HiveParser.KW_CHANGE, 0);
- }
-
- KW_CHECK() {
- return this.getToken(HiveParser.KW_CHECK, 0);
- }
-
- KW_CLUSTER() {
- return this.getToken(HiveParser.KW_CLUSTER, 0);
- }
-
- KW_CLUSTERED() {
- return this.getToken(HiveParser.KW_CLUSTERED, 0);
- }
-
- KW_CLUSTERSTATUS() {
- return this.getToken(HiveParser.KW_CLUSTERSTATUS, 0);
- }
-
- KW_COLLECTION() {
- return this.getToken(HiveParser.KW_COLLECTION, 0);
- }
-
- KW_COLUMNS() {
- return this.getToken(HiveParser.KW_COLUMNS, 0);
- }
-
- KW_COMMENT() {
- return this.getToken(HiveParser.KW_COMMENT, 0);
- }
-
- KW_COMPACT() {
- return this.getToken(HiveParser.KW_COMPACT, 0);
- }
-
- KW_COMPACTIONS() {
- return this.getToken(HiveParser.KW_COMPACTIONS, 0);
- }
-
- KW_COMPUTE() {
- return this.getToken(HiveParser.KW_COMPUTE, 0);
- }
-
- KW_CONCATENATE() {
- return this.getToken(HiveParser.KW_CONCATENATE, 0);
- }
-
- KW_CONTINUE() {
- return this.getToken(HiveParser.KW_CONTINUE, 0);
- }
-
- KW_DATA() {
- return this.getToken(HiveParser.KW_DATA, 0);
- }
-
- KW_DAY() {
- return this.getToken(HiveParser.KW_DAY, 0);
- }
-
- KW_DATABASES() {
- return this.getToken(HiveParser.KW_DATABASES, 0);
- }
-
- KW_DATETIME() {
- return this.getToken(HiveParser.KW_DATETIME, 0);
- }
-
- KW_DBPROPERTIES() {
- return this.getToken(HiveParser.KW_DBPROPERTIES, 0);
- }
-
- KW_DEFERRED() {
- return this.getToken(HiveParser.KW_DEFERRED, 0);
- }
-
- KW_DEFINED() {
- return this.getToken(HiveParser.KW_DEFINED, 0);
- }
-
- KW_DELIMITED() {
- return this.getToken(HiveParser.KW_DELIMITED, 0);
- }
-
- KW_DEPENDENCY() {
- return this.getToken(HiveParser.KW_DEPENDENCY, 0);
- }
-
- KW_DESC() {
- return this.getToken(HiveParser.KW_DESC, 0);
- }
-
- KW_DIRECTORIES() {
- return this.getToken(HiveParser.KW_DIRECTORIES, 0);
- }
-
- KW_DIRECTORY() {
- return this.getToken(HiveParser.KW_DIRECTORY, 0);
- }
-
- KW_DISABLE() {
- return this.getToken(HiveParser.KW_DISABLE, 0);
- }
-
- KW_DISTRIBUTE() {
- return this.getToken(HiveParser.KW_DISTRIBUTE, 0);
- }
-
- KW_DOW() {
- return this.getToken(HiveParser.KW_DOW, 0);
- }
-
- KW_ELEM_TYPE() {
- return this.getToken(HiveParser.KW_ELEM_TYPE, 0);
- }
-
- KW_ENABLE() {
- return this.getToken(HiveParser.KW_ENABLE, 0);
- }
-
- KW_ENFORCED() {
- return this.getToken(HiveParser.KW_ENFORCED, 0);
- }
-
- KW_ESCAPED() {
- return this.getToken(HiveParser.KW_ESCAPED, 0);
- }
-
- KW_EXCLUSIVE() {
- return this.getToken(HiveParser.KW_EXCLUSIVE, 0);
- }
-
- KW_EXPLAIN() {
- return this.getToken(HiveParser.KW_EXPLAIN, 0);
- }
-
- KW_EXPORT() {
- return this.getToken(HiveParser.KW_EXPORT, 0);
- }
-
- KW_FIELDS() {
- return this.getToken(HiveParser.KW_FIELDS, 0);
- }
-
- KW_FILE() {
- return this.getToken(HiveParser.KW_FILE, 0);
- }
-
- KW_FILEFORMAT() {
- return this.getToken(HiveParser.KW_FILEFORMAT, 0);
- }
-
- KW_FIRST() {
- return this.getToken(HiveParser.KW_FIRST, 0);
- }
-
- KW_FORMAT() {
- return this.getToken(HiveParser.KW_FORMAT, 0);
- }
-
- KW_FORMATTED() {
- return this.getToken(HiveParser.KW_FORMATTED, 0);
- }
-
- KW_FUNCTIONS() {
- return this.getToken(HiveParser.KW_FUNCTIONS, 0);
- }
-
- KW_HOUR() {
- return this.getToken(HiveParser.KW_HOUR, 0);
- }
-
- KW_IDXPROPERTIES() {
- return this.getToken(HiveParser.KW_IDXPROPERTIES, 0);
- }
-
- KW_INDEX() {
- return this.getToken(HiveParser.KW_INDEX, 0);
- }
-
- KW_INDEXES() {
- return this.getToken(HiveParser.KW_INDEXES, 0);
- }
-
- KW_INPATH() {
- return this.getToken(HiveParser.KW_INPATH, 0);
- }
-
- KW_INPUTDRIVER() {
- return this.getToken(HiveParser.KW_INPUTDRIVER, 0);
- }
-
- KW_INPUTFORMAT() {
- return this.getToken(HiveParser.KW_INPUTFORMAT, 0);
- }
-
- KW_ITEMS() {
- return this.getToken(HiveParser.KW_ITEMS, 0);
- }
-
- KW_JAR() {
- return this.getToken(HiveParser.KW_JAR, 0);
- }
-
- KW_KILL() {
- return this.getToken(HiveParser.KW_KILL, 0);
- }
-
- KW_KEYS() {
- return this.getToken(HiveParser.KW_KEYS, 0);
- }
-
- KW_KEY_TYPE() {
- return this.getToken(HiveParser.KW_KEY_TYPE, 0);
- }
-
- KW_LAST() {
- return this.getToken(HiveParser.KW_LAST, 0);
- }
-
- KW_LIMIT() {
- return this.getToken(HiveParser.KW_LIMIT, 0);
- }
-
- KW_OFFSET() {
- return this.getToken(HiveParser.KW_OFFSET, 0);
- }
-
- KW_LINES() {
- return this.getToken(HiveParser.KW_LINES, 0);
- }
-
- KW_LOAD() {
- return this.getToken(HiveParser.KW_LOAD, 0);
- }
-
- KW_LOCATION() {
- return this.getToken(HiveParser.KW_LOCATION, 0);
- }
-
- KW_LOCK() {
- return this.getToken(HiveParser.KW_LOCK, 0);
- }
-
- KW_LOCKS() {
- return this.getToken(HiveParser.KW_LOCKS, 0);
- }
-
- KW_LOGICAL() {
- return this.getToken(HiveParser.KW_LOGICAL, 0);
- }
-
- KW_LONG() {
- return this.getToken(HiveParser.KW_LONG, 0);
- }
-
- KW_MAPJOIN() {
- return this.getToken(HiveParser.KW_MAPJOIN, 0);
- }
-
- KW_MATERIALIZED() {
- return this.getToken(HiveParser.KW_MATERIALIZED, 0);
- }
-
- KW_METADATA() {
- return this.getToken(HiveParser.KW_METADATA, 0);
- }
-
- KW_MINUTE() {
- return this.getToken(HiveParser.KW_MINUTE, 0);
- }
-
- KW_MONTH() {
- return this.getToken(HiveParser.KW_MONTH, 0);
- }
-
- KW_MSCK() {
- return this.getToken(HiveParser.KW_MSCK, 0);
- }
-
- KW_NOSCAN() {
- return this.getToken(HiveParser.KW_NOSCAN, 0);
- }
-
- KW_NULLS() {
- return this.getToken(HiveParser.KW_NULLS, 0);
- }
-
- KW_OPTION() {
- return this.getToken(HiveParser.KW_OPTION, 0);
- }
-
- KW_OUTPUTDRIVER() {
- return this.getToken(HiveParser.KW_OUTPUTDRIVER, 0);
- }
-
- KW_OUTPUTFORMAT() {
- return this.getToken(HiveParser.KW_OUTPUTFORMAT, 0);
- }
-
- KW_OVERWRITE() {
- return this.getToken(HiveParser.KW_OVERWRITE, 0);
- }
-
- KW_OWNER() {
- return this.getToken(HiveParser.KW_OWNER, 0);
- }
-
- KW_PARTITIONED() {
- return this.getToken(HiveParser.KW_PARTITIONED, 0);
- }
-
- KW_PARTITIONS() {
- return this.getToken(HiveParser.KW_PARTITIONS, 0);
- }
-
- KW_PLUS() {
- return this.getToken(HiveParser.KW_PLUS, 0);
- }
-
- KW_PRINCIPALS() {
- return this.getToken(HiveParser.KW_PRINCIPALS, 0);
- }
-
- KW_PURGE() {
- return this.getToken(HiveParser.KW_PURGE, 0);
- }
-
- KW_QUERY() {
- return this.getToken(HiveParser.KW_QUERY, 0);
- }
-
- KW_QUARTER() {
- return this.getToken(HiveParser.KW_QUARTER, 0);
- }
-
- KW_READ() {
- return this.getToken(HiveParser.KW_READ, 0);
- }
-
- KW_REBUILD() {
- return this.getToken(HiveParser.KW_REBUILD, 0);
- }
-
- KW_RECORDREADER() {
- return this.getToken(HiveParser.KW_RECORDREADER, 0);
- }
-
- KW_RECORDWRITER() {
- return this.getToken(HiveParser.KW_RECORDWRITER, 0);
- }
-
- KW_RELOAD() {
- return this.getToken(HiveParser.KW_RELOAD, 0);
- }
-
- KW_RENAME() {
- return this.getToken(HiveParser.KW_RENAME, 0);
- }
-
- KW_REPAIR() {
- return this.getToken(HiveParser.KW_REPAIR, 0);
- }
-
- KW_REPLACE() {
- return this.getToken(HiveParser.KW_REPLACE, 0);
- }
-
- KW_REPLICATION() {
- return this.getToken(HiveParser.KW_REPLICATION, 0);
- }
-
- KW_RESTRICT() {
- return this.getToken(HiveParser.KW_RESTRICT, 0);
- }
-
- KW_REWRITE() {
- return this.getToken(HiveParser.KW_REWRITE, 0);
- }
-
- KW_ROLE() {
- return this.getToken(HiveParser.KW_ROLE, 0);
- }
-
- KW_ROLES() {
- return this.getToken(HiveParser.KW_ROLES, 0);
- }
-
- KW_SCHEMA() {
- return this.getToken(HiveParser.KW_SCHEMA, 0);
- }
-
- KW_SCHEMAS() {
- return this.getToken(HiveParser.KW_SCHEMAS, 0);
- }
-
- KW_SECOND() {
- return this.getToken(HiveParser.KW_SECOND, 0);
- }
-
- KW_SEMI() {
- return this.getToken(HiveParser.KW_SEMI, 0);
- }
-
- KW_SERDE() {
- return this.getToken(HiveParser.KW_SERDE, 0);
- }
-
- KW_SERDEPROPERTIES() {
- return this.getToken(HiveParser.KW_SERDEPROPERTIES, 0);
- }
-
- KW_SERVER() {
- return this.getToken(HiveParser.KW_SERVER, 0);
- }
-
- KW_SETS() {
- return this.getToken(HiveParser.KW_SETS, 0);
- }
-
- KW_SHARED() {
- return this.getToken(HiveParser.KW_SHARED, 0);
- }
-
- KW_SHOW() {
- return this.getToken(HiveParser.KW_SHOW, 0);
- }
-
- KW_SHOW_DATABASE() {
- return this.getToken(HiveParser.KW_SHOW_DATABASE, 0);
- }
-
- KW_SKEWED() {
- return this.getToken(HiveParser.KW_SKEWED, 0);
- }
-
- KW_SORT() {
- return this.getToken(HiveParser.KW_SORT, 0);
- }
-
- KW_SORTED() {
- return this.getToken(HiveParser.KW_SORTED, 0);
- }
-
- KW_SSL() {
- return this.getToken(HiveParser.KW_SSL, 0);
- }
-
- KW_STATISTICS() {
- return this.getToken(HiveParser.KW_STATISTICS, 0);
- }
-
- KW_STORED() {
- return this.getToken(HiveParser.KW_STORED, 0);
- }
-
- KW_STREAMTABLE() {
- return this.getToken(HiveParser.KW_STREAMTABLE, 0);
- }
-
- KW_STRING() {
- return this.getToken(HiveParser.KW_STRING, 0);
- }
-
- KW_STRUCT() {
- return this.getToken(HiveParser.KW_STRUCT, 0);
- }
-
- KW_TABLES() {
- return this.getToken(HiveParser.KW_TABLES, 0);
- }
-
- KW_TBLPROPERTIES() {
- return this.getToken(HiveParser.KW_TBLPROPERTIES, 0);
- }
-
- KW_TEMPORARY() {
- return this.getToken(HiveParser.KW_TEMPORARY, 0);
- }
-
- KW_TERMINATED() {
- return this.getToken(HiveParser.KW_TERMINATED, 0);
- }
-
- KW_TINYINT() {
- return this.getToken(HiveParser.KW_TINYINT, 0);
- }
-
- KW_TOUCH() {
- return this.getToken(HiveParser.KW_TOUCH, 0);
- }
-
- KW_TRANSACTIONS() {
- return this.getToken(HiveParser.KW_TRANSACTIONS, 0);
- }
-
- KW_UNARCHIVE() {
- return this.getToken(HiveParser.KW_UNARCHIVE, 0);
- }
-
- KW_UNDO() {
- return this.getToken(HiveParser.KW_UNDO, 0);
- }
-
- KW_UNIONTYPE() {
- return this.getToken(HiveParser.KW_UNIONTYPE, 0);
- }
-
- KW_UNLOCK() {
- return this.getToken(HiveParser.KW_UNLOCK, 0);
- }
-
- KW_UNSET() {
- return this.getToken(HiveParser.KW_UNSET, 0);
- }
-
- KW_UNSIGNED() {
- return this.getToken(HiveParser.KW_UNSIGNED, 0);
- }
-
- KW_URI() {
- return this.getToken(HiveParser.KW_URI, 0);
- }
-
- KW_USE() {
- return this.getToken(HiveParser.KW_USE, 0);
- }
-
- KW_UTC() {
- return this.getToken(HiveParser.KW_UTC, 0);
- }
-
- KW_UTCTIMESTAMP() {
- return this.getToken(HiveParser.KW_UTCTIMESTAMP, 0);
- }
-
- KW_VALUE_TYPE() {
- return this.getToken(HiveParser.KW_VALUE_TYPE, 0);
- }
-
- KW_VIEW() {
- return this.getToken(HiveParser.KW_VIEW, 0);
- }
-
- KW_WEEK() {
- return this.getToken(HiveParser.KW_WEEK, 0);
- }
-
- KW_WHILE() {
- return this.getToken(HiveParser.KW_WHILE, 0);
- }
-
- KW_YEAR() {
- return this.getToken(HiveParser.KW_YEAR, 0);
- }
-
- KW_WORK() {
- return this.getToken(HiveParser.KW_WORK, 0);
- }
-
- KW_TRANSACTION() {
- return this.getToken(HiveParser.KW_TRANSACTION, 0);
- }
-
- KW_WRITE() {
- return this.getToken(HiveParser.KW_WRITE, 0);
- }
-
- KW_ISOLATION() {
- return this.getToken(HiveParser.KW_ISOLATION, 0);
- }
-
- KW_LEVEL() {
- return this.getToken(HiveParser.KW_LEVEL, 0);
- }
-
- KW_SNAPSHOT() {
- return this.getToken(HiveParser.KW_SNAPSHOT, 0);
- }
-
- KW_AUTOCOMMIT() {
- return this.getToken(HiveParser.KW_AUTOCOMMIT, 0);
- }
-
- KW_RELY() {
- return this.getToken(HiveParser.KW_RELY, 0);
- }
-
- KW_NORELY() {
- return this.getToken(HiveParser.KW_NORELY, 0);
- }
-
- KW_VALIDATE() {
- return this.getToken(HiveParser.KW_VALIDATE, 0);
- }
-
- KW_NOVALIDATE() {
- return this.getToken(HiveParser.KW_NOVALIDATE, 0);
- }
-
- KW_KEY() {
- return this.getToken(HiveParser.KW_KEY, 0);
- }
-
- KW_MATCHED() {
- return this.getToken(HiveParser.KW_MATCHED, 0);
- }
-
- KW_REPL() {
- return this.getToken(HiveParser.KW_REPL, 0);
- }
-
- KW_DUMP() {
- return this.getToken(HiveParser.KW_DUMP, 0);
- }
-
- KW_STATUS() {
- return this.getToken(HiveParser.KW_STATUS, 0);
- }
-
- KW_CACHE() {
- return this.getToken(HiveParser.KW_CACHE, 0);
- }
-
- KW_VIEWS() {
- return this.getToken(HiveParser.KW_VIEWS, 0);
- }
-
- KW_VECTORIZATION() {
- return this.getToken(HiveParser.KW_VECTORIZATION, 0);
- }
-
- KW_SUMMARY() {
- return this.getToken(HiveParser.KW_SUMMARY, 0);
- }
-
- KW_OPERATOR() {
- return this.getToken(HiveParser.KW_OPERATOR, 0);
- }
-
- KW_EXPRESSION() {
- return this.getToken(HiveParser.KW_EXPRESSION, 0);
- }
-
- KW_DETAIL() {
- return this.getToken(HiveParser.KW_DETAIL, 0);
- }
-
- KW_WAIT() {
- return this.getToken(HiveParser.KW_WAIT, 0);
- }
-
- KW_ZONE() {
- return this.getToken(HiveParser.KW_ZONE, 0);
- }
-
- KW_DEFAULT() {
- return this.getToken(HiveParser.KW_DEFAULT, 0);
- }
-
- KW_REOPTIMIZATION() {
- return this.getToken(HiveParser.KW_REOPTIMIZATION, 0);
- }
-
- KW_RESOURCE() {
- return this.getToken(HiveParser.KW_RESOURCE, 0);
- }
-
- KW_PLAN() {
- return this.getToken(HiveParser.KW_PLAN, 0);
- }
-
- KW_PLANS() {
- return this.getToken(HiveParser.KW_PLANS, 0);
- }
-
- KW_QUERY_PARALLELISM() {
- return this.getToken(HiveParser.KW_QUERY_PARALLELISM, 0);
- }
-
- KW_ACTIVATE() {
- return this.getToken(HiveParser.KW_ACTIVATE, 0);
- }
-
- KW_MOVE() {
- return this.getToken(HiveParser.KW_MOVE, 0);
- }
-
- KW_DO() {
- return this.getToken(HiveParser.KW_DO, 0);
- }
-
- KW_POOL() {
- return this.getToken(HiveParser.KW_POOL, 0);
- }
-
- KW_ALLOC_FRACTION() {
- return this.getToken(HiveParser.KW_ALLOC_FRACTION, 0);
- }
-
- KW_SCHEDULING_POLICY() {
- return this.getToken(HiveParser.KW_SCHEDULING_POLICY, 0);
- }
-
- KW_PATH() {
- return this.getToken(HiveParser.KW_PATH, 0);
- }
-
- KW_MAPPING() {
- return this.getToken(HiveParser.KW_MAPPING, 0);
- }
-
- KW_WORKLOAD() {
- return this.getToken(HiveParser.KW_WORKLOAD, 0);
- }
-
- KW_MANAGEMENT() {
- return this.getToken(HiveParser.KW_MANAGEMENT, 0);
- }
-
- KW_ACTIVE() {
- return this.getToken(HiveParser.KW_ACTIVE, 0);
- }
-
- KW_UNMANAGED() {
- return this.getToken(HiveParser.KW_UNMANAGED, 0);
- }
-
- KW_DELTA() {
- return this.getToken(HiveParser.KW_DELTA, 0);
- }
-
- KW_CSV() {
- return this.getToken(HiveParser.KW_CSV, 0);
- }
-
- KW_JSON() {
- return this.getToken(HiveParser.KW_JSON, 0);
- }
-
- KW_BLOOMFILTER() {
- return this.getToken(HiveParser.KW_BLOOMFILTER, 0);
- }
-
- KW_CATALOG() {
- return this.getToken(HiveParser.KW_CATALOG, 0);
- }
-
- KW_TABLE() {
- return this.getToken(HiveParser.KW_TABLE, 0);
- }
-
- KW_STREAM() {
- return this.getToken(HiveParser.KW_STREAM, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitNonReserved(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class Sql11ReservedKeywordsUsedAsFunctionNameContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_sql11ReservedKeywordsUsedAsFunctionName;
- }
-
- KW_IF() {
- return this.getToken(HiveParser.KW_IF, 0);
- }
-
- KW_ARRAY() {
- return this.getToken(HiveParser.KW_ARRAY, 0);
- }
-
- KW_MAP() {
- return this.getToken(HiveParser.KW_MAP, 0);
- }
-
- KW_BIGINT() {
- return this.getToken(HiveParser.KW_BIGINT, 0);
- }
-
- KW_BINARY() {
- return this.getToken(HiveParser.KW_BINARY, 0);
- }
-
- KW_BOOLEAN() {
- return this.getToken(HiveParser.KW_BOOLEAN, 0);
- }
-
- KW_CURRENT_DATE() {
- return this.getToken(HiveParser.KW_CURRENT_DATE, 0);
- }
-
- KW_CURRENT_TIMESTAMP() {
- return this.getToken(HiveParser.KW_CURRENT_TIMESTAMP, 0);
- }
-
- KW_DATE() {
- return this.getToken(HiveParser.KW_DATE, 0);
- }
-
- KW_DOUBLE() {
- return this.getToken(HiveParser.KW_DOUBLE, 0);
- }
-
- KW_FLOAT() {
- return this.getToken(HiveParser.KW_FLOAT, 0);
- }
-
- KW_GROUPING() {
- return this.getToken(HiveParser.KW_GROUPING, 0);
- }
-
- KW_INT() {
- return this.getToken(HiveParser.KW_INT, 0);
- }
-
- KW_SMALLINT() {
- return this.getToken(HiveParser.KW_SMALLINT, 0);
- }
-
- KW_TIMESTAMP() {
- return this.getToken(HiveParser.KW_TIMESTAMP, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitSql11ReservedKeywordsUsedAsFunctionName(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DatabricksAllowedReservedNamesContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_databricksAllowedReservedNames;
- }
-
- sql11ReservedKeywordsUsedAsFunctionName() {
- return this.getTypedRuleContext(Sql11ReservedKeywordsUsedAsFunctionNameContext, 0);
- }
-
- KW_TIME() {
- return this.getToken(HiveParser.KW_TIME, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDatabricksAllowedReservedNames(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ResourcePlanDdlStatementsContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_resourcePlanDdlStatements;
- }
-
- createResourcePlanStatement() {
- return this.getTypedRuleContext(CreateResourcePlanStatementContext, 0);
- }
-
- alterResourcePlanStatement() {
- return this.getTypedRuleContext(AlterResourcePlanStatementContext, 0);
- }
-
- dropResourcePlanStatement() {
- return this.getTypedRuleContext(DropResourcePlanStatementContext, 0);
- }
-
- globalWmStatement() {
- return this.getTypedRuleContext(GlobalWmStatementContext, 0);
- }
-
- replaceResourcePlanStatement() {
- return this.getTypedRuleContext(ReplaceResourcePlanStatementContext, 0);
- }
-
- createTriggerStatement() {
- return this.getTypedRuleContext(CreateTriggerStatementContext, 0);
- }
-
- alterTriggerStatement() {
- return this.getTypedRuleContext(AlterTriggerStatementContext, 0);
- }
-
- dropTriggerStatement() {
- return this.getTypedRuleContext(DropTriggerStatementContext, 0);
- }
-
- createPoolStatement() {
- return this.getTypedRuleContext(CreatePoolStatementContext, 0);
- }
-
- alterPoolStatement() {
- return this.getTypedRuleContext(AlterPoolStatementContext, 0);
- }
-
- dropPoolStatement() {
- return this.getTypedRuleContext(DropPoolStatementContext, 0);
- }
-
- createMappingStatement() {
- return this.getTypedRuleContext(CreateMappingStatementContext, 0);
- }
-
- alterMappingStatement() {
- return this.getTypedRuleContext(AlterMappingStatementContext, 0);
- }
-
- dropMappingStatement() {
- return this.getTypedRuleContext(DropMappingStatementContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitResourcePlanDdlStatements(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RpAssignContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_rpAssign;
- }
-
- KW_QUERY_PARALLELISM() {
- return this.getToken(HiveParser.KW_QUERY_PARALLELISM, 0);
- }
-
- EQUAL() {
- return this.getToken(HiveParser.EQUAL, 0);
- }
-
- Number() {
- return this.getToken(HiveParser.Number, 0);
- }
-
- KW_DEFAULT() {
- return this.getToken(HiveParser.KW_DEFAULT, 0);
- }
-
- KW_POOL() {
- return this.getToken(HiveParser.KW_POOL, 0);
- }
-
- poolPath() {
- return this.getTypedRuleContext(PoolPathContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRpAssign(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RpAssignListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_rpAssignList;
- }
-
- rpAssign = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(RpAssignContext);
- } else {
- return this.getTypedRuleContext(RpAssignContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRpAssignList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RpUnassignContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_rpUnassign;
- }
-
- KW_QUERY_PARALLELISM() {
- return this.getToken(HiveParser.KW_QUERY_PARALLELISM, 0);
- }
-
- KW_DEFAULT() {
- return this.getToken(HiveParser.KW_DEFAULT, 0);
- }
-
- KW_POOL() {
- return this.getToken(HiveParser.KW_POOL, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRpUnassign(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class RpUnassignListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_rpUnassignList;
- }
-
- rpUnassign = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(RpUnassignContext);
- } else {
- return this.getTypedRuleContext(RpUnassignContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitRpUnassignList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CreateResourcePlanStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_createResourcePlanStatement;
- }
-
- KW_CREATE() {
- return this.getToken(HiveParser.KW_CREATE, 0);
- }
-
- KW_RESOURCE() {
- return this.getToken(HiveParser.KW_RESOURCE, 0);
- }
-
- KW_PLAN() {
- return this.getToken(HiveParser.KW_PLAN, 0);
- }
-
- createResourcePlanStatementLikeExisting() {
- return this.getTypedRuleContext(CreateResourcePlanStatementLikeExistingContext, 0);
- }
-
- createNewResourcePlanStatement() {
- return this.getTypedRuleContext(CreateNewResourcePlanStatementContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCreateResourcePlanStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CreateResourcePlanStatementLikeExistingContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_createResourcePlanStatementLikeExisting;
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- KW_LIKE() {
- return this.getToken(HiveParser.KW_LIKE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCreateResourcePlanStatementLikeExisting(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CreateNewResourcePlanStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_createNewResourcePlanStatement;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- rpAssignList() {
- return this.getTypedRuleContext(RpAssignListContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCreateNewResourcePlanStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class WithReplaceContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_withReplace;
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- KW_REPLACE() {
- return this.getToken(HiveParser.KW_REPLACE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitWithReplace(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ActivateContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_activate;
- }
-
- KW_ACTIVATE() {
- return this.getToken(HiveParser.KW_ACTIVATE, 0);
- }
-
- withReplace() {
- return this.getTypedRuleContext(WithReplaceContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitActivate(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class EnableContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_enable;
- }
-
- KW_ENABLE() {
- return this.getToken(HiveParser.KW_ENABLE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitEnable(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DisableContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_disable;
- }
-
- KW_DISABLE() {
- return this.getToken(HiveParser.KW_DISABLE, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDisable(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class UnmanagedContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_unmanaged;
- }
-
- KW_UNMANAGED() {
- return this.getToken(HiveParser.KW_UNMANAGED, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitUnmanaged(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterResourcePlanStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterResourcePlanStatement;
- }
-
- KW_ALTER() {
- return this.getToken(HiveParser.KW_ALTER, 0);
- }
-
- KW_RESOURCE() {
- return this.getToken(HiveParser.KW_RESOURCE, 0);
- }
-
- KW_PLAN() {
- return this.getToken(HiveParser.KW_PLAN, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- alterResourcePlanRenameSuffix() {
- return this.getTypedRuleContext(AlterResourcePlanRenameSuffixContext, 0);
- }
-
- KW_VALIDATE() {
- return this.getToken(HiveParser.KW_VALIDATE, 0);
- }
-
- KW_DISABLE() {
- return this.getToken(HiveParser.KW_DISABLE, 0);
- }
-
- KW_SET() {
- return this.getToken(HiveParser.KW_SET, 0);
- }
-
- rpAssignList() {
- return this.getTypedRuleContext(RpAssignListContext, 0);
- }
-
- KW_UNSET() {
- return this.getToken(HiveParser.KW_UNSET, 0);
- }
-
- rpUnassignList() {
- return this.getTypedRuleContext(RpUnassignListContext, 0);
- }
-
- activate() {
- return this.getTypedRuleContext(ActivateContext, 0);
- }
-
- enable() {
- return this.getTypedRuleContext(EnableContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterResourcePlanStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterResourcePlanRenameSuffixContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterResourcePlanRenameSuffix;
- }
-
- KW_RENAME() {
- return this.getToken(HiveParser.KW_RENAME, 0);
- }
-
- KW_TO() {
- return this.getToken(HiveParser.KW_TO, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterResourcePlanRenameSuffix(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class GlobalWmStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_globalWmStatement;
- }
-
- KW_WORKLOAD() {
- return this.getToken(HiveParser.KW_WORKLOAD, 0);
- }
-
- KW_MANAGEMENT() {
- return this.getToken(HiveParser.KW_MANAGEMENT, 0);
- }
-
- enable() {
- return this.getTypedRuleContext(EnableContext, 0);
- }
-
- disable() {
- return this.getTypedRuleContext(DisableContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitGlobalWmStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ReplaceResourcePlanStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_replaceResourcePlanStatement;
- }
-
- KW_REPLACE() {
- return this.getToken(HiveParser.KW_REPLACE, 0);
- }
-
- KW_ACTIVE() {
- return this.getToken(HiveParser.KW_ACTIVE, 0);
- }
-
- KW_RESOURCE() {
- return this.getToken(HiveParser.KW_RESOURCE, 0);
- }
-
- KW_PLAN() {
- return this.getToken(HiveParser.KW_PLAN, 0);
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitReplaceResourcePlanStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DropResourcePlanStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dropResourcePlanStatement;
- }
-
- KW_DROP() {
- return this.getToken(HiveParser.KW_DROP, 0);
- }
-
- KW_RESOURCE() {
- return this.getToken(HiveParser.KW_RESOURCE, 0);
- }
-
- KW_PLAN() {
- return this.getToken(HiveParser.KW_PLAN, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDropResourcePlanStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PoolPathContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_poolPath;
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- DOT = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.DOT);
- } else {
- return this.getToken(HiveParser.DOT, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPoolPath(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TriggerExpressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_triggerExpression;
- }
-
- triggerAtomExpression() {
- return this.getTypedRuleContext(TriggerAtomExpressionContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTriggerExpression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TriggerExpressionStandaloneContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_triggerExpressionStandalone;
- }
-
- triggerExpression() {
- return this.getTypedRuleContext(TriggerExpressionContext, 0);
- }
-
- EOF() {
- return this.getToken(HiveParser.EOF, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTriggerExpressionStandalone(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TriggerOrExpressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_triggerOrExpression;
- }
-
- triggerAndExpression = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(TriggerAndExpressionContext);
- } else {
- return this.getTypedRuleContext(TriggerAndExpressionContext, i);
- }
- };
-
- KW_OR = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.KW_OR);
- } else {
- return this.getToken(HiveParser.KW_OR, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTriggerOrExpression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TriggerAndExpressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_triggerAndExpression;
- }
-
- triggerAtomExpression = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(TriggerAtomExpressionContext);
- } else {
- return this.getTypedRuleContext(TriggerAtomExpressionContext, i);
- }
- };
-
- KW_AND = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.KW_AND);
- } else {
- return this.getToken(HiveParser.KW_AND, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTriggerAndExpression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TriggerAtomExpressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_triggerAtomExpression;
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- comparisionOperator() {
- return this.getTypedRuleContext(ComparisionOperatorContext, 0);
- }
-
- triggerLiteral() {
- return this.getTypedRuleContext(TriggerLiteralContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTriggerAtomExpression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TriggerLiteralContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_triggerLiteral;
- }
-
- Number() {
- return this.getToken(HiveParser.Number, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTriggerLiteral(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class ComparisionOperatorContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_comparisionOperator;
- }
-
- GREATERTHAN() {
- return this.getToken(HiveParser.GREATERTHAN, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitComparisionOperator(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TriggerActionExpressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_triggerActionExpression;
- }
-
- KW_KILL() {
- return this.getToken(HiveParser.KW_KILL, 0);
- }
-
- KW_MOVE() {
- return this.getToken(HiveParser.KW_MOVE, 0);
- }
-
- KW_TO() {
- return this.getToken(HiveParser.KW_TO, 0);
- }
-
- poolPath() {
- return this.getTypedRuleContext(PoolPathContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTriggerActionExpression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TriggerActionExpressionStandaloneContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_triggerActionExpressionStandalone;
- }
-
- triggerActionExpression() {
- return this.getTypedRuleContext(TriggerActionExpressionContext, 0);
- }
-
- EOF() {
- return this.getToken(HiveParser.EOF, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTriggerActionExpressionStandalone(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CreateTriggerStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_createTriggerStatement;
- }
-
- KW_CREATE() {
- return this.getToken(HiveParser.KW_CREATE, 0);
- }
-
- KW_TRIGGER() {
- return this.getToken(HiveParser.KW_TRIGGER, 0);
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- DOT() {
- return this.getToken(HiveParser.DOT, 0);
- }
-
- triggerConditionExpression() {
- return this.getTypedRuleContext(TriggerConditionExpressionContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCreateTriggerStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterTriggerStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterTriggerStatement;
- }
-
- KW_ALTER() {
- return this.getToken(HiveParser.KW_ALTER, 0);
- }
-
- KW_TRIGGER() {
- return this.getToken(HiveParser.KW_TRIGGER, 0);
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- DOT() {
- return this.getToken(HiveParser.DOT, 0);
- }
-
- triggerConditionExpression() {
- return this.getTypedRuleContext(TriggerConditionExpressionContext, 0);
- }
-
- KW_ADD() {
- return this.getToken(HiveParser.KW_ADD, 0);
- }
-
- KW_TO() {
- return this.getToken(HiveParser.KW_TO, 0);
- }
-
- KW_POOL() {
- return this.getToken(HiveParser.KW_POOL, 0);
- }
-
- poolPath() {
- return this.getTypedRuleContext(PoolPathContext, 0);
- }
-
- KW_DROP() {
- return this.getToken(HiveParser.KW_DROP, 0);
- }
-
- KW_FROM() {
- return this.getToken(HiveParser.KW_FROM, 0);
- }
-
- KW_UNMANAGED() {
- return this.getToken(HiveParser.KW_UNMANAGED, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterTriggerStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class TriggerConditionExpressionContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_triggerConditionExpression;
- }
-
- KW_WHEN() {
- return this.getToken(HiveParser.KW_WHEN, 0);
- }
-
- triggerExpression() {
- return this.getTypedRuleContext(TriggerExpressionContext, 0);
- }
-
- KW_DO() {
- return this.getToken(HiveParser.KW_DO, 0);
- }
-
- triggerActionExpression() {
- return this.getTypedRuleContext(TriggerActionExpressionContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitTriggerConditionExpression(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DropTriggerStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dropTriggerStatement;
- }
-
- KW_DROP() {
- return this.getToken(HiveParser.KW_DROP, 0);
- }
-
- KW_TRIGGER() {
- return this.getToken(HiveParser.KW_TRIGGER, 0);
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- DOT() {
- return this.getToken(HiveParser.DOT, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDropTriggerStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PoolAssignContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_poolAssign;
- }
-
- KW_ALLOC_FRACTION() {
- return this.getToken(HiveParser.KW_ALLOC_FRACTION, 0);
- }
-
- EQUAL() {
- return this.getToken(HiveParser.EQUAL, 0);
- }
-
- Number() {
- return this.getToken(HiveParser.Number, 0);
- }
-
- KW_QUERY_PARALLELISM() {
- return this.getToken(HiveParser.KW_QUERY_PARALLELISM, 0);
- }
-
- KW_SCHEDULING_POLICY() {
- return this.getToken(HiveParser.KW_SCHEDULING_POLICY, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- KW_PATH() {
- return this.getToken(HiveParser.KW_PATH, 0);
- }
-
- poolPath() {
- return this.getTypedRuleContext(PoolPathContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPoolAssign(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class PoolAssignListContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_poolAssignList;
- }
-
- poolAssign = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(PoolAssignContext);
- } else {
- return this.getTypedRuleContext(PoolAssignContext, i);
- }
- };
-
- COMMA = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTokens(HiveParser.COMMA);
- } else {
- return this.getToken(HiveParser.COMMA, i);
- }
- };
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitPoolAssignList(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CreatePoolStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_createPoolStatement;
- }
-
- KW_CREATE() {
- return this.getToken(HiveParser.KW_CREATE, 0);
- }
-
- KW_POOL() {
- return this.getToken(HiveParser.KW_POOL, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- DOT() {
- return this.getToken(HiveParser.DOT, 0);
- }
-
- poolPath() {
- return this.getTypedRuleContext(PoolPathContext, 0);
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- poolAssignList() {
- return this.getTypedRuleContext(PoolAssignListContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCreatePoolStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterPoolStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterPoolStatement;
- }
-
- KW_ALTER() {
- return this.getToken(HiveParser.KW_ALTER, 0);
- }
-
- KW_POOL() {
- return this.getToken(HiveParser.KW_POOL, 0);
- }
-
- identifier = function (i) {
- if (i === undefined) {
- i = null;
- }
- if (i === null) {
- return this.getTypedRuleContexts(IdentifierContext);
- } else {
- return this.getTypedRuleContext(IdentifierContext, i);
- }
- };
-
- DOT() {
- return this.getToken(HiveParser.DOT, 0);
- }
-
- poolPath() {
- return this.getTypedRuleContext(PoolPathContext, 0);
- }
-
- KW_SET() {
- return this.getToken(HiveParser.KW_SET, 0);
- }
-
- poolAssignList() {
- return this.getTypedRuleContext(PoolAssignListContext, 0);
- }
-
- KW_UNSET() {
- return this.getToken(HiveParser.KW_UNSET, 0);
- }
-
- KW_SCHEDULING_POLICY() {
- return this.getToken(HiveParser.KW_SCHEDULING_POLICY, 0);
- }
-
- KW_ADD() {
- return this.getToken(HiveParser.KW_ADD, 0);
- }
-
- KW_TRIGGER() {
- return this.getToken(HiveParser.KW_TRIGGER, 0);
- }
-
- KW_DROP() {
- return this.getToken(HiveParser.KW_DROP, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterPoolStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DropPoolStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dropPoolStatement;
- }
-
- KW_DROP() {
- return this.getToken(HiveParser.KW_DROP, 0);
- }
-
- KW_POOL() {
- return this.getToken(HiveParser.KW_POOL, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- DOT() {
- return this.getToken(HiveParser.DOT, 0);
- }
-
- poolPath() {
- return this.getTypedRuleContext(PoolPathContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDropPoolStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class CreateMappingStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_createMappingStatement;
- }
-
- KW_CREATE() {
- return this.getToken(HiveParser.KW_CREATE, 0);
- }
-
- KW_MAPPING() {
- return this.getToken(HiveParser.KW_MAPPING, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- KW_IN() {
- return this.getToken(HiveParser.KW_IN, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_USER() {
- return this.getToken(HiveParser.KW_USER, 0);
- }
-
- KW_GROUP() {
- return this.getToken(HiveParser.KW_GROUP, 0);
- }
-
- KW_APPLICATION() {
- return this.getToken(HiveParser.KW_APPLICATION, 0);
- }
-
- unmanaged() {
- return this.getTypedRuleContext(UnmanagedContext, 0);
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- KW_ORDER() {
- return this.getToken(HiveParser.KW_ORDER, 0);
- }
-
- Number() {
- return this.getToken(HiveParser.Number, 0);
- }
-
- KW_TO() {
- return this.getToken(HiveParser.KW_TO, 0);
- }
-
- poolPath() {
- return this.getTypedRuleContext(PoolPathContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitCreateMappingStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class AlterMappingStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_alterMappingStatement;
- }
-
- KW_ALTER() {
- return this.getToken(HiveParser.KW_ALTER, 0);
- }
-
- KW_MAPPING() {
- return this.getToken(HiveParser.KW_MAPPING, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- KW_IN() {
- return this.getToken(HiveParser.KW_IN, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_USER() {
- return this.getToken(HiveParser.KW_USER, 0);
- }
-
- KW_GROUP() {
- return this.getToken(HiveParser.KW_GROUP, 0);
- }
-
- KW_APPLICATION() {
- return this.getToken(HiveParser.KW_APPLICATION, 0);
- }
-
- unmanaged() {
- return this.getTypedRuleContext(UnmanagedContext, 0);
- }
-
- KW_WITH() {
- return this.getToken(HiveParser.KW_WITH, 0);
- }
-
- KW_ORDER() {
- return this.getToken(HiveParser.KW_ORDER, 0);
- }
-
- Number() {
- return this.getToken(HiveParser.Number, 0);
- }
-
- KW_TO() {
- return this.getToken(HiveParser.KW_TO, 0);
- }
-
- poolPath() {
- return this.getTypedRuleContext(PoolPathContext, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitAlterMappingStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-class DropMappingStatementContext extends antlr4.ParserRuleContext {
- constructor(parser, parent, invokingState) {
- if (parent === undefined) {
- parent = null;
- }
- if (invokingState === undefined || invokingState === null) {
- invokingState = -1;
- }
- super(parent, invokingState);
- this.parser = parser;
- this.ruleIndex = HiveParser.RULE_dropMappingStatement;
- }
-
- KW_DROP() {
- return this.getToken(HiveParser.KW_DROP, 0);
- }
-
- KW_MAPPING() {
- return this.getToken(HiveParser.KW_MAPPING, 0);
- }
-
- StringLiteral() {
- return this.getToken(HiveParser.StringLiteral, 0);
- }
-
- KW_IN() {
- return this.getToken(HiveParser.KW_IN, 0);
- }
-
- identifier() {
- return this.getTypedRuleContext(IdentifierContext, 0);
- }
-
- KW_USER() {
- return this.getToken(HiveParser.KW_USER, 0);
- }
-
- KW_GROUP() {
- return this.getToken(HiveParser.KW_GROUP, 0);
- }
-
- KW_APPLICATION() {
- return this.getToken(HiveParser.KW_APPLICATION, 0);
- }
-
- accept(visitor) {
- if (visitor instanceof HiveParserVisitor) {
- return visitor.visitDropMappingStatement(this);
- } else {
- return visitor.visitChildren(this);
- }
- }
-}
-
-HiveParser.StatementsContext = StatementsContext;
-HiveParser.StatementSeparatorContext = StatementSeparatorContext;
-HiveParser.EmptyContext = EmptyContext;
-HiveParser.StatementContext = StatementContext;
-HiveParser.ExplainStatementContext = ExplainStatementContext;
-HiveParser.ExplainOptionContext = ExplainOptionContext;
-HiveParser.VectorizationOnlyContext = VectorizationOnlyContext;
-HiveParser.VectorizatonDetailContext = VectorizatonDetailContext;
-HiveParser.ExecStatementContext = ExecStatementContext;
-HiveParser.LoadStatementContext = LoadStatementContext;
-HiveParser.ReplicationClauseContext = ReplicationClauseContext;
-HiveParser.ExportStatementContext = ExportStatementContext;
-HiveParser.ImportStatementContext = ImportStatementContext;
-HiveParser.ReplDumpStatementContext = ReplDumpStatementContext;
-HiveParser.ReplLoadStatementContext = ReplLoadStatementContext;
-HiveParser.ReplConfigsContext = ReplConfigsContext;
-HiveParser.ReplConfigsListContext = ReplConfigsListContext;
-HiveParser.ReplStatusStatementContext = ReplStatusStatementContext;
-HiveParser.DdlStatementContext = DdlStatementContext;
-HiveParser.IfExistsContext = IfExistsContext;
-HiveParser.RestrictOrCascadeContext = RestrictOrCascadeContext;
-HiveParser.IfNotExistsContext = IfNotExistsContext;
-HiveParser.RewriteEnabledContext = RewriteEnabledContext;
-HiveParser.RewriteDisabledContext = RewriteDisabledContext;
-HiveParser.StoredAsDirsContext = StoredAsDirsContext;
-HiveParser.OrReplaceContext = OrReplaceContext;
-HiveParser.OrRefreshContext = OrRefreshContext;
-HiveParser.CreateDatabaseStatementContext = CreateDatabaseStatementContext;
-HiveParser.DbLocationContext = DbLocationContext;
-HiveParser.DbPropertiesContext = DbPropertiesContext;
-HiveParser.DbPropertiesListContext = DbPropertiesListContext;
-HiveParser.SwitchCatalogStatementContext = SwitchCatalogStatementContext;
-HiveParser.SwitchDatabaseStatementContext = SwitchDatabaseStatementContext;
-HiveParser.DropDatabaseStatementContext = DropDatabaseStatementContext;
-HiveParser.DatabaseCommentContext = DatabaseCommentContext;
-HiveParser.CreateTableStatementContext = CreateTableStatementContext;
-HiveParser.TruncateTableStatementContext = TruncateTableStatementContext;
-HiveParser.DropTableStatementContext = DropTableStatementContext;
-HiveParser.TagValueContext = TagValueContext;
-HiveParser.TagsPairContext = TagsPairContext;
-HiveParser.UnityTagsContext = UnityTagsContext;
-HiveParser.AlterStatementContext = AlterStatementContext;
-HiveParser.AlterTableStatementSuffixContext = AlterTableStatementSuffixContext;
-HiveParser.AlterTblPartitionStatementSuffixContext = AlterTblPartitionStatementSuffixContext;
-HiveParser.AlterStatementPartitionKeyTypeContext = AlterStatementPartitionKeyTypeContext;
-HiveParser.AlterViewStatementSuffixContext = AlterViewStatementSuffixContext;
-HiveParser.AlterMaterializedViewStatementSuffixContext = AlterMaterializedViewStatementSuffixContext;
-HiveParser.AlterDatabaseStatementSuffixContext = AlterDatabaseStatementSuffixContext;
-HiveParser.AlterDatabaseSuffixPropertiesContext = AlterDatabaseSuffixPropertiesContext;
-HiveParser.AlterDatabaseSuffixSetOwnerContext = AlterDatabaseSuffixSetOwnerContext;
-HiveParser.AlterDatabaseSuffixSetLocationContext = AlterDatabaseSuffixSetLocationContext;
-HiveParser.AlterStatementSuffixRenameContext = AlterStatementSuffixRenameContext;
-HiveParser.AlterStatementSuffixAddColContext = AlterStatementSuffixAddColContext;
-HiveParser.AlterStatementSuffixAddConstraintContext = AlterStatementSuffixAddConstraintContext;
-HiveParser.AlterStatementSuffixUpdateColumnsContext = AlterStatementSuffixUpdateColumnsContext;
-HiveParser.AlterStatementSuffixDropConstraintContext = AlterStatementSuffixDropConstraintContext;
-HiveParser.AlterStatementSuffixRenameColContext = AlterStatementSuffixRenameColContext;
-HiveParser.AlterStatementSuffixUpdateStatsColContext = AlterStatementSuffixUpdateStatsColContext;
-HiveParser.AlterStatementSuffixUpdateStatsContext = AlterStatementSuffixUpdateStatsContext;
-HiveParser.AlterStatementChangeColPositionContext = AlterStatementChangeColPositionContext;
-HiveParser.AlterStatementSuffixAddPartitionsContext = AlterStatementSuffixAddPartitionsContext;
-HiveParser.AlterStatementSuffixAddPartitionsElementContext = AlterStatementSuffixAddPartitionsElementContext;
-HiveParser.AlterStatementSuffixTouchContext = AlterStatementSuffixTouchContext;
-HiveParser.AlterStatementSuffixArchiveContext = AlterStatementSuffixArchiveContext;
-HiveParser.AlterStatementSuffixUnArchiveContext = AlterStatementSuffixUnArchiveContext;
-HiveParser.PartitionLocationContext = PartitionLocationContext;
-HiveParser.AlterStatementSuffixDropPartitionsContext = AlterStatementSuffixDropPartitionsContext;
-HiveParser.AlterStatementSuffixPropertiesContext = AlterStatementSuffixPropertiesContext;
-HiveParser.AlterViewSuffixPropertiesContext = AlterViewSuffixPropertiesContext;
-HiveParser.AlterMaterializedViewSuffixRewriteContext = AlterMaterializedViewSuffixRewriteContext;
-HiveParser.AlterMaterializedViewSuffixRebuildContext = AlterMaterializedViewSuffixRebuildContext;
-HiveParser.AlterStatementSuffixSerdePropertiesContext = AlterStatementSuffixSerdePropertiesContext;
-HiveParser.AlterIndexStatementSuffixContext = AlterIndexStatementSuffixContext;
-HiveParser.AlterStatementSuffixFileFormatContext = AlterStatementSuffixFileFormatContext;
-HiveParser.AlterStatementSuffixClusterbySortbyContext = AlterStatementSuffixClusterbySortbyContext;
-HiveParser.AlterStatementSuffixClusterByContext = AlterStatementSuffixClusterByContext;
-HiveParser.AlterTblPartitionStatementSuffixSkewedLocationContext =
- AlterTblPartitionStatementSuffixSkewedLocationContext;
-HiveParser.SkewedLocationsContext = SkewedLocationsContext;
-HiveParser.SkewedLocationsListContext = SkewedLocationsListContext;
-HiveParser.SkewedLocationMapContext = SkewedLocationMapContext;
-HiveParser.AlterStatementSuffixLocationContext = AlterStatementSuffixLocationContext;
-HiveParser.AlterStatementSuffixSkewedbyContext = AlterStatementSuffixSkewedbyContext;
-HiveParser.AlterStatementSuffixExchangePartitionContext = AlterStatementSuffixExchangePartitionContext;
-HiveParser.AlterStatementSuffixRenamePartContext = AlterStatementSuffixRenamePartContext;
-HiveParser.AlterStatementSuffixStatsPartContext = AlterStatementSuffixStatsPartContext;
-HiveParser.AlterStatementSuffixMergeFilesContext = AlterStatementSuffixMergeFilesContext;
-HiveParser.AlterStatementSuffixBucketNumContext = AlterStatementSuffixBucketNumContext;
-HiveParser.CreateIndexStatementContext = CreateIndexStatementContext;
-HiveParser.CreateIndexMainStatementContext = CreateIndexMainStatementContext;
-HiveParser.DropIndexStatementContext = DropIndexStatementContext;
-HiveParser.CreateBloomfilterIndexStatementContext = CreateBloomfilterIndexStatementContext;
-HiveParser.CreateBloomfilterIndexMainStatementContext = CreateBloomfilterIndexMainStatementContext;
-HiveParser.BloomfilterColumnParenthesesListContext = BloomfilterColumnParenthesesListContext;
-HiveParser.BloomfilterColumnNameListContext = BloomfilterColumnNameListContext;
-HiveParser.BloomfilterColumnNameContext = BloomfilterColumnNameContext;
-HiveParser.BloomfilterIndexOptionsContext = BloomfilterIndexOptionsContext;
-HiveParser.DropBloomfilterIndexStatementContext = DropBloomfilterIndexStatementContext;
-HiveParser.DropBloomfilterIndexMainStatementContext = DropBloomfilterIndexMainStatementContext;
-HiveParser.TablePartitionPrefixContext = TablePartitionPrefixContext;
-HiveParser.BlockingContext = BlockingContext;
-HiveParser.AlterStatementSuffixCompactContext = AlterStatementSuffixCompactContext;
-HiveParser.AlterStatementSuffixSetOwnerContext = AlterStatementSuffixSetOwnerContext;
-HiveParser.FileFormatContext = FileFormatContext;
-HiveParser.InputFileFormatContext = InputFileFormatContext;
-HiveParser.TabTypeExprContext = TabTypeExprContext;
-HiveParser.PartTypeExprContext = PartTypeExprContext;
-HiveParser.TabPartColTypeExprContext = TabPartColTypeExprContext;
-HiveParser.DescStatementContext = DescStatementContext;
-HiveParser.AnalyzeStatementContext = AnalyzeStatementContext;
-HiveParser.ShowStatementContext = ShowStatementContext;
-HiveParser.LockStatementContext = LockStatementContext;
-HiveParser.LockDatabaseContext = LockDatabaseContext;
-HiveParser.LockModeContext = LockModeContext;
-HiveParser.UnlockStatementContext = UnlockStatementContext;
-HiveParser.UnlockDatabaseContext = UnlockDatabaseContext;
-HiveParser.CreateRoleStatementContext = CreateRoleStatementContext;
-HiveParser.DropRoleStatementContext = DropRoleStatementContext;
-HiveParser.GrantPrivilegesContext = GrantPrivilegesContext;
-HiveParser.RevokePrivilegesContext = RevokePrivilegesContext;
-HiveParser.GrantRoleContext = GrantRoleContext;
-HiveParser.RevokeRoleContext = RevokeRoleContext;
-HiveParser.ShowRoleGrantsContext = ShowRoleGrantsContext;
-HiveParser.ShowRolesContext = ShowRolesContext;
-HiveParser.ShowCurrentRoleContext = ShowCurrentRoleContext;
-HiveParser.SetRoleContext = SetRoleContext;
-HiveParser.ShowGrantsContext = ShowGrantsContext;
-HiveParser.ShowRolePrincipalsContext = ShowRolePrincipalsContext;
-HiveParser.PrivilegeIncludeColObjectContext = PrivilegeIncludeColObjectContext;
-HiveParser.PrivilegeObjectContext = PrivilegeObjectContext;
-HiveParser.PrivObjectContext = PrivObjectContext;
-HiveParser.PrivObjectColsContext = PrivObjectColsContext;
-HiveParser.PrivilegeListContext = PrivilegeListContext;
-HiveParser.PrivlegeDefContext = PrivlegeDefContext;
-HiveParser.PrivilegeTypeContext = PrivilegeTypeContext;
-HiveParser.PrincipalSpecificationContext = PrincipalSpecificationContext;
-HiveParser.PrincipalNameContext = PrincipalNameContext;
-HiveParser.WithGrantOptionContext = WithGrantOptionContext;
-HiveParser.GrantOptionForContext = GrantOptionForContext;
-HiveParser.AdminOptionForContext = AdminOptionForContext;
-HiveParser.WithAdminOptionContext = WithAdminOptionContext;
-HiveParser.MetastoreCheckContext = MetastoreCheckContext;
-HiveParser.ResourceListContext = ResourceListContext;
-HiveParser.ResourceContext = ResourceContext;
-HiveParser.ResourceTypeContext = ResourceTypeContext;
-HiveParser.CreateFunctionStatementContext = CreateFunctionStatementContext;
-HiveParser.DropFunctionStatementContext = DropFunctionStatementContext;
-HiveParser.ReloadFunctionStatementContext = ReloadFunctionStatementContext;
-HiveParser.CreateMacroStatementContext = CreateMacroStatementContext;
-HiveParser.DropMacroStatementContext = DropMacroStatementContext;
-HiveParser.CreateViewStatementContext = CreateViewStatementContext;
-HiveParser.CreateMaterializedViewStatementContext = CreateMaterializedViewStatementContext;
-HiveParser.MaterializedViewClauseContext = MaterializedViewClauseContext;
-HiveParser.ScheduleClauseContext = ScheduleClauseContext;
-HiveParser.TimeZoneValueContext = TimeZoneValueContext;
-HiveParser.RowClauseContext = RowClauseContext;
-HiveParser.TriggerOnUpdateClauseContext = TriggerOnUpdateClauseContext;
-HiveParser.IntervalClauseContext = IntervalClauseContext;
-HiveParser.IntervalQualifierContext = IntervalQualifierContext;
-HiveParser.ViewPartitionContext = ViewPartitionContext;
-HiveParser.DropViewStatementContext = DropViewStatementContext;
-HiveParser.DropMaterializedViewStatementContext = DropMaterializedViewStatementContext;
-HiveParser.ShowFunctionIdentifierContext = ShowFunctionIdentifierContext;
-HiveParser.ShowStmtIdentifierContext = ShowStmtIdentifierContext;
-HiveParser.TableCommentContext = TableCommentContext;
-HiveParser.TableUsingDataSourceContext = TableUsingDataSourceContext;
-HiveParser.TableDataSourceContext = TableDataSourceContext;
-HiveParser.TablePartitionContext = TablePartitionContext;
-HiveParser.TableBucketsContext = TableBucketsContext;
-HiveParser.TableSkewedContext = TableSkewedContext;
-HiveParser.RowFormatContext = RowFormatContext;
-HiveParser.RecordReaderContext = RecordReaderContext;
-HiveParser.RecordWriterContext = RecordWriterContext;
-HiveParser.RowFormatSerdeContext = RowFormatSerdeContext;
-HiveParser.RowFormatDelimitedContext = RowFormatDelimitedContext;
-HiveParser.TableRowFormatContext = TableRowFormatContext;
-HiveParser.TableOptionsContext = TableOptionsContext;
-HiveParser.TablePropertiesPrefixedContext = TablePropertiesPrefixedContext;
-HiveParser.TablePropertiesContext = TablePropertiesContext;
-HiveParser.TablePropertiesListContext = TablePropertiesListContext;
-HiveParser.KeyValuePropertyContext = KeyValuePropertyContext;
-HiveParser.KeyValueContext = KeyValueContext;
-HiveParser.KeyPropertyContext = KeyPropertyContext;
-HiveParser.TableRowFormatFieldIdentifierContext = TableRowFormatFieldIdentifierContext;
-HiveParser.TableRowFormatFieldIdentifierEcapedByContext = TableRowFormatFieldIdentifierEcapedByContext;
-HiveParser.TableRowFormatCollItemsIdentifierContext = TableRowFormatCollItemsIdentifierContext;
-HiveParser.TableRowFormatMapKeysIdentifierContext = TableRowFormatMapKeysIdentifierContext;
-HiveParser.TableRowFormatLinesIdentifierContext = TableRowFormatLinesIdentifierContext;
-HiveParser.TableRowNullFormatContext = TableRowNullFormatContext;
-HiveParser.TableFileFormatContext = TableFileFormatContext;
-HiveParser.TableFileFormatStoredByContext = TableFileFormatStoredByContext;
-HiveParser.TableFileFormatStoredAsContext = TableFileFormatStoredAsContext;
-HiveParser.TableFileFormatStoredAsFormatContext = TableFileFormatStoredAsFormatContext;
-HiveParser.TableInputOutputFileFormatContext = TableInputOutputFileFormatContext;
-HiveParser.TableInputLiteralContext = TableInputLiteralContext;
-HiveParser.TableOutputLiteralContext = TableOutputLiteralContext;
-HiveParser.TableLocationContext = TableLocationContext;
-HiveParser.ColumnNameTypeListContext = ColumnNameTypeListContext;
-HiveParser.ColumnNameTypeOrConstraintListContext = ColumnNameTypeOrConstraintListContext;
-HiveParser.ColumnNameColonTypeListContext = ColumnNameColonTypeListContext;
-HiveParser.ColumnNameListContext = ColumnNameListContext;
-HiveParser.ColumnNameContext = ColumnNameContext;
-HiveParser.ExtColumnNameContext = ExtColumnNameContext;
-HiveParser.ColumnNameOrderListContext = ColumnNameOrderListContext;
-HiveParser.ColumnParenthesesListContext = ColumnParenthesesListContext;
-HiveParser.EnableValidateSpecificationContext = EnableValidateSpecificationContext;
-HiveParser.EnableSpecificationContext = EnableSpecificationContext;
-HiveParser.ValidateSpecificationContext = ValidateSpecificationContext;
-HiveParser.EnforcedSpecificationContext = EnforcedSpecificationContext;
-HiveParser.RelySpecificationContext = RelySpecificationContext;
-HiveParser.CreateConstraintContext = CreateConstraintContext;
-HiveParser.AlterConstraintWithNameContext = AlterConstraintWithNameContext;
-HiveParser.TableLevelConstraintContext = TableLevelConstraintContext;
-HiveParser.PkUkConstraintContext = PkUkConstraintContext;
-HiveParser.CheckConstraintContext = CheckConstraintContext;
-HiveParser.ExpectConstraintContext = ExpectConstraintContext;
-HiveParser.CreateForeignKeyContext = CreateForeignKeyContext;
-HiveParser.AlterForeignKeyWithNameContext = AlterForeignKeyWithNameContext;
-HiveParser.SkewedValueElementContext = SkewedValueElementContext;
-HiveParser.SkewedColumnValuePairListContext = SkewedColumnValuePairListContext;
-HiveParser.SkewedColumnValuePairContext = SkewedColumnValuePairContext;
-HiveParser.SkewedColumnValuesContext = SkewedColumnValuesContext;
-HiveParser.SkewedColumnValueContext = SkewedColumnValueContext;
-HiveParser.SkewedValueLocationElementContext = SkewedValueLocationElementContext;
-HiveParser.OrderSpecificationContext = OrderSpecificationContext;
-HiveParser.NullOrderingContext = NullOrderingContext;
-HiveParser.ColumnNameOrderContext = ColumnNameOrderContext;
-HiveParser.ColumnNameCommentListContext = ColumnNameCommentListContext;
-HiveParser.ColumnNameCommentContext = ColumnNameCommentContext;
-HiveParser.ColumnRefOrderContext = ColumnRefOrderContext;
-HiveParser.ColumnNameTypeContext = ColumnNameTypeContext;
-HiveParser.ColumnNameTypeOrConstraintContext = ColumnNameTypeOrConstraintContext;
-HiveParser.TableConstraintContext = TableConstraintContext;
-HiveParser.ColumnNameTypeConstraintContext = ColumnNameTypeConstraintContext;
-HiveParser.ColumnGeneratedAsContext = ColumnGeneratedAsContext;
-HiveParser.GeneratedAsExpressionContext = GeneratedAsExpressionContext;
-HiveParser.GeneratedAsIdentityContext = GeneratedAsIdentityContext;
-HiveParser.IdentityOptionsContext = IdentityOptionsContext;
-HiveParser.StartWithContext = StartWithContext;
-HiveParser.IncrementByContext = IncrementByContext;
-HiveParser.PartitionedColumnNameTypeConstraintContext = PartitionedColumnNameTypeConstraintContext;
-HiveParser.ColumnConstraintContext = ColumnConstraintContext;
-HiveParser.ForeignKeyConstraintContext = ForeignKeyConstraintContext;
-HiveParser.ColConstraintContext = ColConstraintContext;
-HiveParser.AlterColumnConstraintContext = AlterColumnConstraintContext;
-HiveParser.AlterForeignKeyConstraintContext = AlterForeignKeyConstraintContext;
-HiveParser.AlterColConstraintContext = AlterColConstraintContext;
-HiveParser.ColumnConstraintTypeContext = ColumnConstraintTypeContext;
-HiveParser.DefaultValContext = DefaultValContext;
-HiveParser.TableConstraintTypeContext = TableConstraintTypeContext;
-HiveParser.ConstraintOptsCreateContext = ConstraintOptsCreateContext;
-HiveParser.ConstraintOptsAlterContext = ConstraintOptsAlterContext;
-HiveParser.ColumnNameColonTypeContext = ColumnNameColonTypeContext;
-HiveParser.ColTypeContext = ColTypeContext;
-HiveParser.ColTypeListContext = ColTypeListContext;
-HiveParser.Type_db_colContext = Type_db_colContext;
-HiveParser.PrimitiveTypeContext = PrimitiveTypeContext;
-HiveParser.ListTypeContext = ListTypeContext;
-HiveParser.StructTypeContext = StructTypeContext;
-HiveParser.MapTypeContext = MapTypeContext;
-HiveParser.UnionTypeContext = UnionTypeContext;
-HiveParser.SetOperatorContext = SetOperatorContext;
-HiveParser.QueryStatementExpressionContext = QueryStatementExpressionContext;
-HiveParser.QueryStatementExpressionBodyContext = QueryStatementExpressionBodyContext;
-HiveParser.WithClauseContext = WithClauseContext;
-HiveParser.CteStatementContext = CteStatementContext;
-HiveParser.FromStatementContext = FromStatementContext;
-HiveParser.SingleFromStatementContext = SingleFromStatementContext;
-HiveParser.RegularBodyContext = RegularBodyContext;
-HiveParser.AtomSelectStatementContext = AtomSelectStatementContext;
-HiveParser.SelectStatementContext = SelectStatementContext;
-HiveParser.SetOpSelectStatementContext = SetOpSelectStatementContext;
-HiveParser.SelectStatementWithCTEContext = SelectStatementWithCTEContext;
-HiveParser.BodyContext = BodyContext;
-HiveParser.InsertClauseContext = InsertClauseContext;
-HiveParser.DestinationContext = DestinationContext;
-HiveParser.LimitClauseContext = LimitClauseContext;
-HiveParser.DeleteStatementContext = DeleteStatementContext;
-HiveParser.ColumnAssignmentClauseContext = ColumnAssignmentClauseContext;
-HiveParser.SetColumnsClauseContext = SetColumnsClauseContext;
-HiveParser.UpdateStatementContext = UpdateStatementContext;
-HiveParser.SqlTransactionStatementContext = SqlTransactionStatementContext;
-HiveParser.StartTransactionStatementContext = StartTransactionStatementContext;
-HiveParser.TransactionModeContext = TransactionModeContext;
-HiveParser.TransactionAccessModeContext = TransactionAccessModeContext;
-HiveParser.IsolationLevelContext = IsolationLevelContext;
-HiveParser.LevelOfIsolationContext = LevelOfIsolationContext;
-HiveParser.CommitStatementContext = CommitStatementContext;
-HiveParser.RollbackStatementContext = RollbackStatementContext;
-HiveParser.SetAutoCommitStatementContext = SetAutoCommitStatementContext;
-HiveParser.AbortTransactionStatementContext = AbortTransactionStatementContext;
-HiveParser.MergeStatementContext = MergeStatementContext;
-HiveParser.WhenClausesContext = WhenClausesContext;
-HiveParser.WhenNotMatchedClauseContext = WhenNotMatchedClauseContext;
-HiveParser.WhenMatchedAndClauseContext = WhenMatchedAndClauseContext;
-HiveParser.WhenMatchedThenClauseContext = WhenMatchedThenClauseContext;
-HiveParser.UpdateOrDeleteContext = UpdateOrDeleteContext;
-HiveParser.KillQueryStatementContext = KillQueryStatementContext;
-HiveParser.SelectClauseContext = SelectClauseContext;
-HiveParser.SelectListContext = SelectListContext;
-HiveParser.SelectTrfmClauseContext = SelectTrfmClauseContext;
-HiveParser.SelectItemContext = SelectItemContext;
-HiveParser.TrfmClauseContext = TrfmClauseContext;
-HiveParser.SelectExpressionContext = SelectExpressionContext;
-HiveParser.SelectExpressionListContext = SelectExpressionListContext;
-HiveParser.ExceptClauseContext = ExceptClauseContext;
-HiveParser.Window_clauseContext = Window_clauseContext;
-HiveParser.Window_defnContext = Window_defnContext;
-HiveParser.Window_specificationContext = Window_specificationContext;
-HiveParser.Window_frameContext = Window_frameContext;
-HiveParser.Window_range_expressionContext = Window_range_expressionContext;
-HiveParser.Window_value_expressionContext = Window_value_expressionContext;
-HiveParser.Window_frame_start_boundaryContext = Window_frame_start_boundaryContext;
-HiveParser.Window_frame_boundaryContext = Window_frame_boundaryContext;
-HiveParser.TableAllColumnsContext = TableAllColumnsContext;
-HiveParser.TableOrColumnContext = TableOrColumnContext;
-HiveParser.ExpressionListContext = ExpressionListContext;
-HiveParser.AliasListContext = AliasListContext;
-HiveParser.FromClauseContext = FromClauseContext;
-HiveParser.FromSourceContext = FromSourceContext;
-HiveParser.AtomjoinSourceContext = AtomjoinSourceContext;
-HiveParser.JoinSourceContext = JoinSourceContext;
-HiveParser.StreamSourceContext = StreamSourceContext;
-HiveParser.JoinSourcePartContext = JoinSourcePartContext;
-HiveParser.UniqueJoinSourceContext = UniqueJoinSourceContext;
-HiveParser.UniqueJoinExprContext = UniqueJoinExprContext;
-HiveParser.UniqueJoinTokenContext = UniqueJoinTokenContext;
-HiveParser.JoinTokenContext = JoinTokenContext;
-HiveParser.LateralViewContext = LateralViewContext;
-HiveParser.TableAliasContext = TableAliasContext;
-HiveParser.TableBucketSampleContext = TableBucketSampleContext;
-HiveParser.SplitSampleContext = SplitSampleContext;
-HiveParser.TableSampleContext = TableSampleContext;
-HiveParser.TableSourceContext = TableSourceContext;
-HiveParser.UniqueJoinTableSourceContext = UniqueJoinTableSourceContext;
-HiveParser.TableNameContext = TableNameContext;
-HiveParser.ViewNameContext = ViewNameContext;
-HiveParser.SubQuerySourceContext = SubQuerySourceContext;
-HiveParser.PartitioningSpecContext = PartitioningSpecContext;
-HiveParser.PartitionTableFunctionSourceContext = PartitionTableFunctionSourceContext;
-HiveParser.PartitionedTableFunctionContext = PartitionedTableFunctionContext;
-HiveParser.WhereClauseContext = WhereClauseContext;
-HiveParser.SearchConditionContext = SearchConditionContext;
-HiveParser.ValuesClauseContext = ValuesClauseContext;
-HiveParser.ValuesTableConstructorContext = ValuesTableConstructorContext;
-HiveParser.ValueRowConstructorContext = ValueRowConstructorContext;
-HiveParser.VirtualTableSourceContext = VirtualTableSourceContext;
-HiveParser.RangeTableValuedFunctionContext = RangeTableValuedFunctionContext;
-HiveParser.TableFunctionCallContext = TableFunctionCallContext;
-HiveParser.FunctionArgListContext = FunctionArgListContext;
-HiveParser.FunctionArgContext = FunctionArgContext;
-HiveParser.NamedArgContext = NamedArgContext;
-HiveParser.GroupByClauseContext = GroupByClauseContext;
-HiveParser.Groupby_expressionContext = Groupby_expressionContext;
-HiveParser.GroupByEmptyContext = GroupByEmptyContext;
-HiveParser.RollupStandardContext = RollupStandardContext;
-HiveParser.RollupOldSyntaxContext = RollupOldSyntaxContext;
-HiveParser.GroupingSetExpressionContext = GroupingSetExpressionContext;
-HiveParser.GroupingSetExpressionMultipleContext = GroupingSetExpressionMultipleContext;
-HiveParser.GroupingExpressionSingleContext = GroupingExpressionSingleContext;
-HiveParser.HavingClauseContext = HavingClauseContext;
-HiveParser.HavingConditionContext = HavingConditionContext;
-HiveParser.ExpressionsInParenthesisContext = ExpressionsInParenthesisContext;
-HiveParser.ExpressionsNotInParenthesisContext = ExpressionsNotInParenthesisContext;
-HiveParser.ExpressionPartContext = ExpressionPartContext;
-HiveParser.ExpressionsContext = ExpressionsContext;
-HiveParser.ColumnRefOrderInParenthesisContext = ColumnRefOrderInParenthesisContext;
-HiveParser.ColumnRefOrderNotInParenthesisContext = ColumnRefOrderNotInParenthesisContext;
-HiveParser.OrderByClauseContext = OrderByClauseContext;
-HiveParser.ClusterByClauseContext = ClusterByClauseContext;
-HiveParser.PartitionByClauseContext = PartitionByClauseContext;
-HiveParser.DistributeByClauseContext = DistributeByClauseContext;
-HiveParser.SortByClauseContext = SortByClauseContext;
-HiveParser.FunctionStatementContext = FunctionStatementContext;
-HiveParser.FunctionNameContext = FunctionNameContext;
-HiveParser.CastExpressionContext = CastExpressionContext;
-HiveParser.CaseExpressionContext = CaseExpressionContext;
-HiveParser.WhenExpressionContext = WhenExpressionContext;
-HiveParser.FloorExpressionContext = FloorExpressionContext;
-HiveParser.FloorDateQualifiersContext = FloorDateQualifiersContext;
-HiveParser.ExtractExpressionContext = ExtractExpressionContext;
-HiveParser.TimeQualifiersContext = TimeQualifiersContext;
-HiveParser.ConstantContext = ConstantContext;
-HiveParser.StringLiteralSequenceContext = StringLiteralSequenceContext;
-HiveParser.CharSetStringLiteralContext = CharSetStringLiteralContext;
-HiveParser.DateLiteralContext = DateLiteralContext;
-HiveParser.TimestampLiteralContext = TimestampLiteralContext;
-HiveParser.TimestampLocalTZLiteralContext = TimestampLocalTZLiteralContext;
-HiveParser.IntervalValueContext = IntervalValueContext;
-HiveParser.IntervalLiteralContext = IntervalLiteralContext;
-HiveParser.IntervalExpressionContext = IntervalExpressionContext;
-HiveParser.IntervalQualifiersContext = IntervalQualifiersContext;
-HiveParser.AtomExpressionContext = AtomExpressionContext;
-HiveParser.PrecedenceUnaryOperatorContext = PrecedenceUnaryOperatorContext;
-HiveParser.IsConditionContext = IsConditionContext;
-HiveParser.PrecedenceBitwiseXorOperatorContext = PrecedenceBitwiseXorOperatorContext;
-HiveParser.PrecedenceStarOperatorContext = PrecedenceStarOperatorContext;
-HiveParser.PrecedencePlusOperatorContext = PrecedencePlusOperatorContext;
-HiveParser.PrecedenceConcatenateOperatorContext = PrecedenceConcatenateOperatorContext;
-HiveParser.PrecedenceAmpersandOperatorContext = PrecedenceAmpersandOperatorContext;
-HiveParser.PrecedenceBitwiseOrOperatorContext = PrecedenceBitwiseOrOperatorContext;
-HiveParser.PrecedenceRegexpOperatorContext = PrecedenceRegexpOperatorContext;
-HiveParser.PrecedenceSimilarOperatorContext = PrecedenceSimilarOperatorContext;
-HiveParser.PrecedenceDistinctOperatorContext = PrecedenceDistinctOperatorContext;
-HiveParser.PrecedenceEqualOperatorContext = PrecedenceEqualOperatorContext;
-HiveParser.PrecedenceNotOperatorContext = PrecedenceNotOperatorContext;
-HiveParser.PrecedenceAndOperatorContext = PrecedenceAndOperatorContext;
-HiveParser.PrecedenceOrOperatorContext = PrecedenceOrOperatorContext;
-HiveParser.ExpressionContext = ExpressionContext;
-HiveParser.SubQueryExpressionContext = SubQueryExpressionContext;
-HiveParser.PrecedenceSimilarExpressionPartContext = PrecedenceSimilarExpressionPartContext;
-HiveParser.PrecedenceSimilarExpressionAtomContext = PrecedenceSimilarExpressionAtomContext;
-HiveParser.PrecedenceSimilarExpressionInContext = PrecedenceSimilarExpressionInContext;
-HiveParser.PrecedenceSimilarExpressionPartNotContext = PrecedenceSimilarExpressionPartNotContext;
-HiveParser.BooleanValueContext = BooleanValueContext;
-HiveParser.BooleanValueTokContext = BooleanValueTokContext;
-HiveParser.TableOrPartitionContext = TableOrPartitionContext;
-HiveParser.PartitionSpecContext = PartitionSpecContext;
-HiveParser.PartitionValContext = PartitionValContext;
-HiveParser.DropPartitionSpecContext = DropPartitionSpecContext;
-HiveParser.DropPartitionValContext = DropPartitionValContext;
-HiveParser.DropPartitionOperatorContext = DropPartitionOperatorContext;
-HiveParser.SysFuncNamesContext = SysFuncNamesContext;
-HiveParser.DescFuncNamesContext = DescFuncNamesContext;
-HiveParser.IdentifierContext = IdentifierContext;
-HiveParser.FunctionIdentifierContext = FunctionIdentifierContext;
-HiveParser.PrincipalIdentifierContext = PrincipalIdentifierContext;
-HiveParser.NonReservedContext = NonReservedContext;
-HiveParser.Sql11ReservedKeywordsUsedAsFunctionNameContext = Sql11ReservedKeywordsUsedAsFunctionNameContext;
-HiveParser.DatabricksAllowedReservedNamesContext = DatabricksAllowedReservedNamesContext;
-HiveParser.ResourcePlanDdlStatementsContext = ResourcePlanDdlStatementsContext;
-HiveParser.RpAssignContext = RpAssignContext;
-HiveParser.RpAssignListContext = RpAssignListContext;
-HiveParser.RpUnassignContext = RpUnassignContext;
-HiveParser.RpUnassignListContext = RpUnassignListContext;
-HiveParser.CreateResourcePlanStatementContext = CreateResourcePlanStatementContext;
-HiveParser.CreateResourcePlanStatementLikeExistingContext = CreateResourcePlanStatementLikeExistingContext;
-HiveParser.CreateNewResourcePlanStatementContext = CreateNewResourcePlanStatementContext;
-HiveParser.WithReplaceContext = WithReplaceContext;
-HiveParser.ActivateContext = ActivateContext;
-HiveParser.EnableContext = EnableContext;
-HiveParser.DisableContext = DisableContext;
-HiveParser.UnmanagedContext = UnmanagedContext;
-HiveParser.AlterResourcePlanStatementContext = AlterResourcePlanStatementContext;
-HiveParser.AlterResourcePlanRenameSuffixContext = AlterResourcePlanRenameSuffixContext;
-HiveParser.GlobalWmStatementContext = GlobalWmStatementContext;
-HiveParser.ReplaceResourcePlanStatementContext = ReplaceResourcePlanStatementContext;
-HiveParser.DropResourcePlanStatementContext = DropResourcePlanStatementContext;
-HiveParser.PoolPathContext = PoolPathContext;
-HiveParser.TriggerExpressionContext = TriggerExpressionContext;
-HiveParser.TriggerExpressionStandaloneContext = TriggerExpressionStandaloneContext;
-HiveParser.TriggerOrExpressionContext = TriggerOrExpressionContext;
-HiveParser.TriggerAndExpressionContext = TriggerAndExpressionContext;
-HiveParser.TriggerAtomExpressionContext = TriggerAtomExpressionContext;
-HiveParser.TriggerLiteralContext = TriggerLiteralContext;
-HiveParser.ComparisionOperatorContext = ComparisionOperatorContext;
-HiveParser.TriggerActionExpressionContext = TriggerActionExpressionContext;
-HiveParser.TriggerActionExpressionStandaloneContext = TriggerActionExpressionStandaloneContext;
-HiveParser.CreateTriggerStatementContext = CreateTriggerStatementContext;
-HiveParser.AlterTriggerStatementContext = AlterTriggerStatementContext;
-HiveParser.TriggerConditionExpressionContext = TriggerConditionExpressionContext;
-HiveParser.DropTriggerStatementContext = DropTriggerStatementContext;
-HiveParser.PoolAssignContext = PoolAssignContext;
-HiveParser.PoolAssignListContext = PoolAssignListContext;
-HiveParser.CreatePoolStatementContext = CreatePoolStatementContext;
-HiveParser.AlterPoolStatementContext = AlterPoolStatementContext;
-HiveParser.DropPoolStatementContext = DropPoolStatementContext;
-HiveParser.CreateMappingStatementContext = CreateMappingStatementContext;
-HiveParser.AlterMappingStatementContext = AlterMappingStatementContext;
-HiveParser.DropMappingStatementContext = DropMappingStatementContext;
-
-module.exports = { HiveParser };
diff --git a/reverse_engineering/parser/Hive/HiveParser.tokens b/reverse_engineering/parser/Hive/HiveParser.tokens
deleted file mode 100644
index 37abebd..0000000
--- a/reverse_engineering/parser/Hive/HiveParser.tokens
+++ /dev/null
@@ -1,440 +0,0 @@
-KW_TRUE=1
-KW_FALSE=2
-KW_ALL=3
-KW_AUTO=4
-KW_NONE=5
-KW_AND=6
-KW_OR=7
-KW_NOT=8
-KW_LIKE=9
-KW_ANY=10
-KW_IF=11
-KW_EXISTS=12
-KW_ASC=13
-KW_DESC=14
-KW_NULLS=15
-KW_LAST=16
-KW_ORDER=17
-KW_GROUP=18
-KW_BY=19
-KW_HAVING=20
-KW_WHERE=21
-KW_FROM=22
-KW_AS=23
-KW_SELECT=24
-KW_DISTINCT=25
-KW_INSERT=26
-KW_OVERWRITE=27
-KW_OUTER=28
-KW_UNIQUEJOIN=29
-KW_PRESERVE=30
-KW_JOIN=31
-KW_LEFT=32
-KW_RIGHT=33
-KW_FULL=34
-KW_ON=35
-KW_PARTITION=36
-KW_PARTITIONS=37
-KW_TABLE=38
-KW_TABLES=39
-KW_TAGS=40
-KW_COLUMNS=41
-KW_INDEX=42
-KW_INDEXES=43
-KW_REBUILD=44
-KW_FUNCTIONS=45
-KW_SHOW=46
-KW_MSCK=47
-KW_REPAIR=48
-KW_DIRECTORY=49
-KW_LOCAL=50
-KW_TRANSFORM=51
-KW_USING=52
-KW_CLUSTER=53
-KW_DISTRIBUTE=54
-KW_SORT=55
-KW_UNION=56
-KW_EXCEPT=57
-KW_LOAD=58
-KW_EXPORT=59
-KW_IMPORT=60
-KW_REPLICATION=61
-KW_METADATA=62
-KW_DATA=63
-KW_INPATH=64
-KW_IS=65
-KW_NULL=66
-KW_CREATE=67
-KW_EXTERNAL=68
-KW_ALTER=69
-KW_CHANGE=70
-KW_COLUMN=71
-KW_FIRST=72
-KW_AFTER=73
-KW_DESCRIBE=74
-KW_DROP=75
-KW_RENAME=76
-KW_TO=77
-KW_COMMENT=78
-KW_BOOLEAN=79
-KW_TINYINT=80
-KW_SMALLINT=81
-KW_INT=82
-KW_BIGINT=83
-KW_FLOAT=84
-KW_DOUBLE=85
-KW_PRECISION=86
-KW_DATE=87
-KW_DATETIME=88
-KW_TIMESTAMP=89
-KW_TIMESTAMP_NTZ=90
-KW_TIMESTAMPLOCALTZ=91
-KW_TIME=92
-KW_ZONE=93
-KW_INTERVAL=94
-KW_DECIMAL=95
-KW_STRING=96
-KW_CHAR=97
-KW_VARCHAR=98
-KW_ARRAY=99
-KW_STRUCT=100
-KW_MAP=101
-KW_MASK=102
-KW_VARIANT=103
-KW_UNIONTYPE=104
-KW_REDUCE=105
-KW_PARTITIONED=106
-KW_CLUSTERED=107
-KW_SORTED=108
-KW_INTO=109
-KW_BUCKETS=110
-KW_ROW=111
-KW_ROWS=112
-KW_FORMAT=113
-KW_DELIMITED=114
-KW_FIELDS=115
-KW_TERMINATED=116
-KW_ESCAPED=117
-KW_COLLECTION=118
-KW_ITEMS=119
-KW_KEYS=120
-KW_KEY_TYPE=121
-KW_KILL=122
-KW_LINES=123
-KW_STORED=124
-KW_FILEFORMAT=125
-KW_INPUTFORMAT=126
-KW_OUTPUTFORMAT=127
-KW_INPUTDRIVER=128
-KW_OUTPUTDRIVER=129
-KW_ENABLE=130
-KW_DISABLE=131
-KW_LOCATION=132
-KW_TABLESAMPLE=133
-KW_BUCKET=134
-KW_OUT=135
-KW_OF=136
-KW_PERCENT=137
-KW_CAST=138
-KW_ADD=139
-KW_REPLACE=140
-KW_RLIKE=141
-KW_REGEXP=142
-KW_TEMPORARY=143
-KW_FUNCTION=144
-KW_MACRO=145
-KW_FILE=146
-KW_JAR=147
-KW_EXPLAIN=148
-KW_EXTENDED=149
-KW_FORMATTED=150
-KW_DEPENDENCY=151
-KW_LOGICAL=152
-KW_SERDE=153
-KW_WITH=154
-KW_DEFERRED=155
-KW_SERDEPROPERTIES=156
-KW_DBPROPERTIES=157
-KW_LIMIT=158
-KW_OFFSET=159
-KW_SET=160
-KW_UNSET=161
-KW_TBLPROPERTIES=162
-KW_IDXPROPERTIES=163
-KW_VALUE_TYPE=164
-KW_ELEM_TYPE=165
-KW_DEFINED=166
-KW_CASE=167
-KW_WHEN=168
-KW_THEN=169
-KW_ELSE=170
-KW_END=171
-KW_MAPJOIN=172
-KW_STREAMTABLE=173
-KW_CLUSTERSTATUS=174
-KW_UTC=175
-KW_UTCTIMESTAMP=176
-KW_LONG=177
-KW_DELETE=178
-KW_PLUS=179
-KW_MINUS=180
-KW_FETCH=181
-KW_INTERSECT=182
-KW_VIEW=183
-KW_VIEWS=184
-KW_IN=185
-KW_DATABASE=186
-KW_DATABASES=187
-KW_MATERIALIZED=188
-KW_SCHEMA=189
-KW_SCHEMAS=190
-KW_GRANT=191
-KW_REVOKE=192
-KW_SSL=193
-KW_UNDO=194
-KW_LOCK=195
-KW_LOCKS=196
-KW_UNLOCK=197
-KW_SHARED=198
-KW_EXCLUSIVE=199
-KW_PROCEDURE=200
-KW_UNSIGNED=201
-KW_WHILE=202
-KW_READ=203
-KW_READS=204
-KW_PURGE=205
-KW_RANGE=206
-KW_ANALYZE=207
-KW_BEFORE=208
-KW_BETWEEN=209
-KW_BOTH=210
-KW_BINARY=211
-KW_CROSS=212
-KW_CONTINUE=213
-KW_CURSOR=214
-KW_TRIGGER=215
-KW_RECORDREADER=216
-KW_RECORDWRITER=217
-KW_SEMI=218
-KW_LATERAL=219
-KW_TOUCH=220
-KW_ARCHIVE=221
-KW_UNARCHIVE=222
-KW_COMPUTE=223
-KW_STATISTICS=224
-KW_USE=225
-KW_OPTIONS=226
-KW_OPTION=227
-KW_CONCATENATE=228
-KW_CATALOG=229
-KW_SHOW_DATABASE=230
-KW_UPDATE=231
-KW_RESTRICT=232
-KW_CASCADE=233
-KW_SKEWED=234
-KW_ROLLUP=235
-KW_CUBE=236
-KW_DIRECTORIES=237
-KW_FOR=238
-KW_WINDOW=239
-KW_UNBOUNDED=240
-KW_PRECEDING=241
-KW_FOLLOWING=242
-KW_CURRENT=243
-KW_CURRENT_DATE=244
-KW_CURRENT_TIMESTAMP=245
-KW_LESS=246
-KW_MORE=247
-KW_OVER=248
-KW_GROUPING=249
-KW_SETS=250
-KW_TRUNCATE=251
-KW_NOSCAN=252
-KW_USER=253
-KW_ROLE=254
-KW_ROLES=255
-KW_INNER=256
-KW_EXCHANGE=257
-KW_URI=258
-KW_SERVER=259
-KW_ADMIN=260
-KW_OWNER=261
-KW_PRINCIPALS=262
-KW_COMPACT=263
-KW_COMPACTIONS=264
-KW_TRANSACTIONS=265
-KW_REWRITE=266
-KW_AUTHORIZATION=267
-KW_REOPTIMIZATION=268
-KW_CONF=269
-KW_VALUES=270
-KW_RELOAD=271
-KW_YEAR=272
-KW_QUERY=273
-KW_QUARTER=274
-KW_MONTH=275
-KW_WEEK=276
-KW_DAY=277
-KW_DOW=278
-KW_HOUR=279
-KW_MINUTE=280
-KW_SECOND=281
-KW_START=282
-KW_TRANSACTION=283
-KW_COMMIT=284
-KW_ROLLBACK=285
-KW_WORK=286
-KW_ONLY=287
-KW_WRITE=288
-KW_ISOLATION=289
-KW_LEVEL=290
-KW_SNAPSHOT=291
-KW_AUTOCOMMIT=292
-KW_CACHE=293
-KW_PRIMARY=294
-KW_FOREIGN=295
-KW_REFERENCES=296
-KW_CONSTRAINT=297
-KW_ENFORCED=298
-KW_VALIDATE=299
-KW_NOVALIDATE=300
-KW_RELY=301
-KW_NORELY=302
-KW_UNIQUE=303
-KW_KEY=304
-KW_ABORT=305
-KW_EXTRACT=306
-KW_FLOOR=307
-KW_MERGE=308
-KW_MATCHED=309
-KW_REPL=310
-KW_DUMP=311
-KW_STATUS=312
-KW_VECTORIZATION=313
-KW_SUMMARY=314
-KW_OPERATOR=315
-KW_EXPRESSION=316
-KW_DETAIL=317
-KW_WAIT=318
-KW_RESOURCE=319
-KW_PLAN=320
-KW_QUERY_PARALLELISM=321
-KW_PLANS=322
-KW_ACTIVATE=323
-KW_DEFAULT=324
-KW_CHECK=325
-KW_POOL=326
-KW_MOVE=327
-KW_DO=328
-KW_ALLOC_FRACTION=329
-KW_SCHEDULING_POLICY=330
-KW_PATH=331
-KW_MAPPING=332
-KW_WORKLOAD=333
-KW_MANAGEMENT=334
-KW_ACTIVE=335
-KW_MANAGED=336
-KW_UNMANAGED=337
-KW_APPLICATION=338
-KW_SYNC=339
-KW_SEQUENCEFILE=340
-KW_TEXTFILE=341
-KW_RCFILE=342
-KW_ORC=343
-KW_PARQUET=344
-KW_DELTA=345
-KW_AVRO=346
-KW_CSV=347
-KW_JSON=348
-KW_JSONFILE=349
-KW_BLOOMFILTER=350
-KW_GENERATED=351
-KW_ALWAYS=352
-KW_IDENTITY=353
-KW_INCREMENT=354
-KW_SCHEDULE=355
-KW_REFRESH=356
-KW_EVERY=357
-KW_CRON=358
-KW_AT=359
-KW_FILTER=360
-KW_STREAM=361
-KW_STREAMING=362
-KW_MOST=363
-KW_EXPECT=364
-KW_VIOLATION=365
-KW_FAIL=366
-DOT=367
-COLON=368
-COMMA=369
-SEMICOLON=370
-LPAREN=371
-RPAREN=372
-LSQUARE=373
-RSQUARE=374
-LCURLY=375
-RCURLY=376
-EQUAL=377
-EQUAL_NS=378
-NOTEQUAL=379
-LESSTHANOREQUALTO=380
-LESSTHAN=381
-GREATERTHANOREQUALTO=382
-GREATERTHAN=383
-FAT_ARROW=384
-DIVIDE=385
-PLUS=386
-MINUS=387
-STAR=388
-MOD=389
-DIV=390
-AMPERSAND=391
-TILDE=392
-BITWISEOR=393
-CONCATENATE=394
-BITWISEXOR=395
-QUESTION=396
-DOLLAR=397
-StringLiteral=398
-CharSetLiteral=399
-IntegralLiteral=400
-NumberLiteral=401
-ByteLengthLiteral=402
-Number=403
-Identifier=404
-QuotedIdentifier=405
-CharSetName=406
-WS=407
-LINE_COMMENT=408
-QUERY_HINT=409
-SHOW_HINT=410
-HIDDEN_HINT=411
-'.'=367
-':'=368
-','=369
-';'=370
-'('=371
-')'=372
-'['=373
-']'=374
-'{'=375
-'}'=376
-'<=>'=378
-'<='=380
-'<'=381
-'>='=382
-'>'=383
-'=>'=384
-'/'=385
-'+'=386
-'-'=387
-'*'=388
-'%'=389
-'DIV'=390
-'&'=391
-'~'=392
-'|'=393
-'||'=394
-'^'=395
-'?'=396
-'$'=397
diff --git a/reverse_engineering/parser/Hive/HiveParserVisitor.js b/reverse_engineering/parser/Hive/HiveParserVisitor.js
deleted file mode 100644
index f99e494..0000000
--- a/reverse_engineering/parser/Hive/HiveParserVisitor.js
+++ /dev/null
@@ -1,2354 +0,0 @@
-// Generated from grammars/HiveParser.g4 by ANTLR 4.9.2
-// jshint ignore: start
-const antlr4 = require('antlr4');
-
-// This class defines a complete generic visitor for a parse tree produced by HiveParser.
-
-class HiveParserVisitor extends antlr4.tree.ParseTreeVisitor {
- // Visit a parse tree produced by HiveParser#statements.
- visitStatements(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#statementSeparator.
- visitStatementSeparator(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#empty.
- visitEmpty(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#statement.
- visitStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#explainStatement.
- visitExplainStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#explainOption.
- visitExplainOption(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#vectorizationOnly.
- visitVectorizationOnly(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#vectorizatonDetail.
- visitVectorizatonDetail(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#execStatement.
- visitExecStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#loadStatement.
- visitLoadStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#replicationClause.
- visitReplicationClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#exportStatement.
- visitExportStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#importStatement.
- visitImportStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#replDumpStatement.
- visitReplDumpStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#replLoadStatement.
- visitReplLoadStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#replConfigs.
- visitReplConfigs(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#replConfigsList.
- visitReplConfigsList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#replStatusStatement.
- visitReplStatusStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#ddlStatement.
- visitDdlStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#ifExists.
- visitIfExists(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#restrictOrCascade.
- visitRestrictOrCascade(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#ifNotExists.
- visitIfNotExists(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#rewriteEnabled.
- visitRewriteEnabled(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#rewriteDisabled.
- visitRewriteDisabled(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#storedAsDirs.
- visitStoredAsDirs(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#orReplace.
- visitOrReplace(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#orRefresh.
- visitOrRefresh(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#createDatabaseStatement.
- visitCreateDatabaseStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dbLocation.
- visitDbLocation(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dbProperties.
- visitDbProperties(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dbPropertiesList.
- visitDbPropertiesList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#switchCatalogStatement.
- visitSwitchCatalogStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#switchDatabaseStatement.
- visitSwitchDatabaseStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dropDatabaseStatement.
- visitDropDatabaseStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#databaseComment.
- visitDatabaseComment(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#createTableStatement.
- visitCreateTableStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#truncateTableStatement.
- visitTruncateTableStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dropTableStatement.
- visitDropTableStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tagValue.
- visitTagValue(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tagsPair.
- visitTagsPair(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#unityTags.
- visitUnityTags(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatement.
- visitAlterStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterTableStatementSuffix.
- visitAlterTableStatementSuffix(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterTblPartitionStatementSuffix.
- visitAlterTblPartitionStatementSuffix(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementPartitionKeyType.
- visitAlterStatementPartitionKeyType(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterViewStatementSuffix.
- visitAlterViewStatementSuffix(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterMaterializedViewStatementSuffix.
- visitAlterMaterializedViewStatementSuffix(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterDatabaseStatementSuffix.
- visitAlterDatabaseStatementSuffix(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterDatabaseSuffixProperties.
- visitAlterDatabaseSuffixProperties(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterDatabaseSuffixSetOwner.
- visitAlterDatabaseSuffixSetOwner(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterDatabaseSuffixSetLocation.
- visitAlterDatabaseSuffixSetLocation(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixRename.
- visitAlterStatementSuffixRename(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixAddCol.
- visitAlterStatementSuffixAddCol(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixAddConstraint.
- visitAlterStatementSuffixAddConstraint(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixUpdateColumns.
- visitAlterStatementSuffixUpdateColumns(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixDropConstraint.
- visitAlterStatementSuffixDropConstraint(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixRenameCol.
- visitAlterStatementSuffixRenameCol(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixUpdateStatsCol.
- visitAlterStatementSuffixUpdateStatsCol(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixUpdateStats.
- visitAlterStatementSuffixUpdateStats(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementChangeColPosition.
- visitAlterStatementChangeColPosition(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixAddPartitions.
- visitAlterStatementSuffixAddPartitions(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixAddPartitionsElement.
- visitAlterStatementSuffixAddPartitionsElement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixTouch.
- visitAlterStatementSuffixTouch(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixArchive.
- visitAlterStatementSuffixArchive(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixUnArchive.
- visitAlterStatementSuffixUnArchive(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#partitionLocation.
- visitPartitionLocation(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixDropPartitions.
- visitAlterStatementSuffixDropPartitions(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixProperties.
- visitAlterStatementSuffixProperties(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterViewSuffixProperties.
- visitAlterViewSuffixProperties(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterMaterializedViewSuffixRewrite.
- visitAlterMaterializedViewSuffixRewrite(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterMaterializedViewSuffixRebuild.
- visitAlterMaterializedViewSuffixRebuild(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixSerdeProperties.
- visitAlterStatementSuffixSerdeProperties(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterIndexStatementSuffix.
- visitAlterIndexStatementSuffix(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixFileFormat.
- visitAlterStatementSuffixFileFormat(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixClusterbySortby.
- visitAlterStatementSuffixClusterbySortby(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixClusterBy.
- visitAlterStatementSuffixClusterBy(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterTblPartitionStatementSuffixSkewedLocation.
- visitAlterTblPartitionStatementSuffixSkewedLocation(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#skewedLocations.
- visitSkewedLocations(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#skewedLocationsList.
- visitSkewedLocationsList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#skewedLocationMap.
- visitSkewedLocationMap(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixLocation.
- visitAlterStatementSuffixLocation(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixSkewedby.
- visitAlterStatementSuffixSkewedby(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixExchangePartition.
- visitAlterStatementSuffixExchangePartition(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixRenamePart.
- visitAlterStatementSuffixRenamePart(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixStatsPart.
- visitAlterStatementSuffixStatsPart(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixMergeFiles.
- visitAlterStatementSuffixMergeFiles(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixBucketNum.
- visitAlterStatementSuffixBucketNum(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#createIndexStatement.
- visitCreateIndexStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#createIndexMainStatement.
- visitCreateIndexMainStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dropIndexStatement.
- visitDropIndexStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#createBloomfilterIndexStatement.
- visitCreateBloomfilterIndexStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#createBloomfilterIndexMainStatement.
- visitCreateBloomfilterIndexMainStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#bloomfilterColumnParenthesesList.
- visitBloomfilterColumnParenthesesList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#bloomfilterColumnNameList.
- visitBloomfilterColumnNameList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#bloomfilterColumnName.
- visitBloomfilterColumnName(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#bloomfilterIndexOptions.
- visitBloomfilterIndexOptions(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dropBloomfilterIndexStatement.
- visitDropBloomfilterIndexStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dropBloomfilterIndexMainStatement.
- visitDropBloomfilterIndexMainStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tablePartitionPrefix.
- visitTablePartitionPrefix(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#blocking.
- visitBlocking(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixCompact.
- visitAlterStatementSuffixCompact(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterStatementSuffixSetOwner.
- visitAlterStatementSuffixSetOwner(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#fileFormat.
- visitFileFormat(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#inputFileFormat.
- visitInputFileFormat(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tabTypeExpr.
- visitTabTypeExpr(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#partTypeExpr.
- visitPartTypeExpr(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tabPartColTypeExpr.
- visitTabPartColTypeExpr(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#descStatement.
- visitDescStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#analyzeStatement.
- visitAnalyzeStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#showStatement.
- visitShowStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#lockStatement.
- visitLockStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#lockDatabase.
- visitLockDatabase(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#lockMode.
- visitLockMode(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#unlockStatement.
- visitUnlockStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#unlockDatabase.
- visitUnlockDatabase(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#createRoleStatement.
- visitCreateRoleStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dropRoleStatement.
- visitDropRoleStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#grantPrivileges.
- visitGrantPrivileges(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#revokePrivileges.
- visitRevokePrivileges(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#grantRole.
- visitGrantRole(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#revokeRole.
- visitRevokeRole(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#showRoleGrants.
- visitShowRoleGrants(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#showRoles.
- visitShowRoles(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#showCurrentRole.
- visitShowCurrentRole(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#setRole.
- visitSetRole(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#showGrants.
- visitShowGrants(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#showRolePrincipals.
- visitShowRolePrincipals(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#privilegeIncludeColObject.
- visitPrivilegeIncludeColObject(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#privilegeObject.
- visitPrivilegeObject(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#privObject.
- visitPrivObject(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#privObjectCols.
- visitPrivObjectCols(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#privilegeList.
- visitPrivilegeList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#privlegeDef.
- visitPrivlegeDef(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#privilegeType.
- visitPrivilegeType(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#principalSpecification.
- visitPrincipalSpecification(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#principalName.
- visitPrincipalName(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#withGrantOption.
- visitWithGrantOption(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#grantOptionFor.
- visitGrantOptionFor(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#adminOptionFor.
- visitAdminOptionFor(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#withAdminOption.
- visitWithAdminOption(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#metastoreCheck.
- visitMetastoreCheck(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#resourceList.
- visitResourceList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#resource.
- visitResource(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#resourceType.
- visitResourceType(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#createFunctionStatement.
- visitCreateFunctionStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dropFunctionStatement.
- visitDropFunctionStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#reloadFunctionStatement.
- visitReloadFunctionStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#createMacroStatement.
- visitCreateMacroStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dropMacroStatement.
- visitDropMacroStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#createViewStatement.
- visitCreateViewStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#createMaterializedViewStatement.
- visitCreateMaterializedViewStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#materializedViewClause.
- visitMaterializedViewClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#scheduleClause.
- visitScheduleClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#timeZoneValue.
- visitTimeZoneValue(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#rowClause.
- visitRowClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#triggerOnUpdateClause.
- visitTriggerOnUpdateClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#intervalClause.
- visitIntervalClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#intervalQualifier.
- visitIntervalQualifier(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#viewPartition.
- visitViewPartition(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dropViewStatement.
- visitDropViewStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dropMaterializedViewStatement.
- visitDropMaterializedViewStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#showFunctionIdentifier.
- visitShowFunctionIdentifier(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#showStmtIdentifier.
- visitShowStmtIdentifier(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableComment.
- visitTableComment(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableUsingDataSource.
- visitTableUsingDataSource(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableDataSource.
- visitTableDataSource(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tablePartition.
- visitTablePartition(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableBuckets.
- visitTableBuckets(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableSkewed.
- visitTableSkewed(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#rowFormat.
- visitRowFormat(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#recordReader.
- visitRecordReader(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#recordWriter.
- visitRecordWriter(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#rowFormatSerde.
- visitRowFormatSerde(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#rowFormatDelimited.
- visitRowFormatDelimited(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableRowFormat.
- visitTableRowFormat(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableOptions.
- visitTableOptions(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tablePropertiesPrefixed.
- visitTablePropertiesPrefixed(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableProperties.
- visitTableProperties(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tablePropertiesList.
- visitTablePropertiesList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#keyValueProperty.
- visitKeyValueProperty(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#keyValue.
- visitKeyValue(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#keyProperty.
- visitKeyProperty(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableRowFormatFieldIdentifier.
- visitTableRowFormatFieldIdentifier(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableRowFormatFieldIdentifierEcapedBy.
- visitTableRowFormatFieldIdentifierEcapedBy(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableRowFormatCollItemsIdentifier.
- visitTableRowFormatCollItemsIdentifier(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableRowFormatMapKeysIdentifier.
- visitTableRowFormatMapKeysIdentifier(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableRowFormatLinesIdentifier.
- visitTableRowFormatLinesIdentifier(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableRowNullFormat.
- visitTableRowNullFormat(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableFileFormat.
- visitTableFileFormat(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableFileFormatStoredBy.
- visitTableFileFormatStoredBy(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableFileFormatStoredAs.
- visitTableFileFormatStoredAs(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableFileFormatStoredAsFormat.
- visitTableFileFormatStoredAsFormat(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableInputOutputFileFormat.
- visitTableInputOutputFileFormat(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableInputLiteral.
- visitTableInputLiteral(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableOutputLiteral.
- visitTableOutputLiteral(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableLocation.
- visitTableLocation(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnNameTypeList.
- visitColumnNameTypeList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnNameTypeOrConstraintList.
- visitColumnNameTypeOrConstraintList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnNameColonTypeList.
- visitColumnNameColonTypeList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnNameList.
- visitColumnNameList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnName.
- visitColumnName(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#extColumnName.
- visitExtColumnName(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnNameOrderList.
- visitColumnNameOrderList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnParenthesesList.
- visitColumnParenthesesList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#enableValidateSpecification.
- visitEnableValidateSpecification(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#enableSpecification.
- visitEnableSpecification(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#validateSpecification.
- visitValidateSpecification(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#enforcedSpecification.
- visitEnforcedSpecification(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#relySpecification.
- visitRelySpecification(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#createConstraint.
- visitCreateConstraint(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterConstraintWithName.
- visitAlterConstraintWithName(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableLevelConstraint.
- visitTableLevelConstraint(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#pkUkConstraint.
- visitPkUkConstraint(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#checkConstraint.
- visitCheckConstraint(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#expectConstraint.
- visitExpectConstraint(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#createForeignKey.
- visitCreateForeignKey(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterForeignKeyWithName.
- visitAlterForeignKeyWithName(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#skewedValueElement.
- visitSkewedValueElement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#skewedColumnValuePairList.
- visitSkewedColumnValuePairList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#skewedColumnValuePair.
- visitSkewedColumnValuePair(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#skewedColumnValues.
- visitSkewedColumnValues(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#skewedColumnValue.
- visitSkewedColumnValue(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#skewedValueLocationElement.
- visitSkewedValueLocationElement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#orderSpecification.
- visitOrderSpecification(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#nullOrdering.
- visitNullOrdering(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnNameOrder.
- visitColumnNameOrder(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnNameCommentList.
- visitColumnNameCommentList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnNameComment.
- visitColumnNameComment(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnRefOrder.
- visitColumnRefOrder(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnNameType.
- visitColumnNameType(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnNameTypeOrConstraint.
- visitColumnNameTypeOrConstraint(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableConstraint.
- visitTableConstraint(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnNameTypeConstraint.
- visitColumnNameTypeConstraint(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnGeneratedAs.
- visitColumnGeneratedAs(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#generatedAsExpression.
- visitGeneratedAsExpression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#generatedAsIdentity.
- visitGeneratedAsIdentity(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#identityOptions.
- visitIdentityOptions(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#startWith.
- visitStartWith(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#incrementBy.
- visitIncrementBy(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#partitionedColumnNameTypeConstraint.
- visitPartitionedColumnNameTypeConstraint(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnConstraint.
- visitColumnConstraint(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#foreignKeyConstraint.
- visitForeignKeyConstraint(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#colConstraint.
- visitColConstraint(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterColumnConstraint.
- visitAlterColumnConstraint(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterForeignKeyConstraint.
- visitAlterForeignKeyConstraint(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterColConstraint.
- visitAlterColConstraint(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnConstraintType.
- visitColumnConstraintType(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#defaultVal.
- visitDefaultVal(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableConstraintType.
- visitTableConstraintType(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#constraintOptsCreate.
- visitConstraintOptsCreate(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#constraintOptsAlter.
- visitConstraintOptsAlter(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnNameColonType.
- visitColumnNameColonType(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#colType.
- visitColType(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#colTypeList.
- visitColTypeList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#type_db_col.
- visitType_db_col(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#primitiveType.
- visitPrimitiveType(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#listType.
- visitListType(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#structType.
- visitStructType(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#mapType.
- visitMapType(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#unionType.
- visitUnionType(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#setOperator.
- visitSetOperator(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#queryStatementExpression.
- visitQueryStatementExpression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#queryStatementExpressionBody.
- visitQueryStatementExpressionBody(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#withClause.
- visitWithClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#cteStatement.
- visitCteStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#fromStatement.
- visitFromStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#singleFromStatement.
- visitSingleFromStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#regularBody.
- visitRegularBody(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#atomSelectStatement.
- visitAtomSelectStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#selectStatement.
- visitSelectStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#setOpSelectStatement.
- visitSetOpSelectStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#selectStatementWithCTE.
- visitSelectStatementWithCTE(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#body.
- visitBody(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#insertClause.
- visitInsertClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#destination.
- visitDestination(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#limitClause.
- visitLimitClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#deleteStatement.
- visitDeleteStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnAssignmentClause.
- visitColumnAssignmentClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#setColumnsClause.
- visitSetColumnsClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#updateStatement.
- visitUpdateStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#sqlTransactionStatement.
- visitSqlTransactionStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#startTransactionStatement.
- visitStartTransactionStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#transactionMode.
- visitTransactionMode(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#transactionAccessMode.
- visitTransactionAccessMode(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#isolationLevel.
- visitIsolationLevel(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#levelOfIsolation.
- visitLevelOfIsolation(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#commitStatement.
- visitCommitStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#rollbackStatement.
- visitRollbackStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#setAutoCommitStatement.
- visitSetAutoCommitStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#abortTransactionStatement.
- visitAbortTransactionStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#mergeStatement.
- visitMergeStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#whenClauses.
- visitWhenClauses(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#whenNotMatchedClause.
- visitWhenNotMatchedClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#whenMatchedAndClause.
- visitWhenMatchedAndClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#whenMatchedThenClause.
- visitWhenMatchedThenClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#updateOrDelete.
- visitUpdateOrDelete(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#killQueryStatement.
- visitKillQueryStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#selectClause.
- visitSelectClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#selectList.
- visitSelectList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#selectTrfmClause.
- visitSelectTrfmClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#selectItem.
- visitSelectItem(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#trfmClause.
- visitTrfmClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#selectExpression.
- visitSelectExpression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#selectExpressionList.
- visitSelectExpressionList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#exceptClause.
- visitExceptClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#window_clause.
- visitWindow_clause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#window_defn.
- visitWindow_defn(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#window_specification.
- visitWindow_specification(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#window_frame.
- visitWindow_frame(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#window_range_expression.
- visitWindow_range_expression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#window_value_expression.
- visitWindow_value_expression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#window_frame_start_boundary.
- visitWindow_frame_start_boundary(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#window_frame_boundary.
- visitWindow_frame_boundary(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableAllColumns.
- visitTableAllColumns(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableOrColumn.
- visitTableOrColumn(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#expressionList.
- visitExpressionList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#aliasList.
- visitAliasList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#fromClause.
- visitFromClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#fromSource.
- visitFromSource(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#atomjoinSource.
- visitAtomjoinSource(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#joinSource.
- visitJoinSource(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#streamSource.
- visitStreamSource(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#joinSourcePart.
- visitJoinSourcePart(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#uniqueJoinSource.
- visitUniqueJoinSource(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#uniqueJoinExpr.
- visitUniqueJoinExpr(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#uniqueJoinToken.
- visitUniqueJoinToken(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#joinToken.
- visitJoinToken(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#lateralView.
- visitLateralView(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableAlias.
- visitTableAlias(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableBucketSample.
- visitTableBucketSample(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#splitSample.
- visitSplitSample(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableSample.
- visitTableSample(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableSource.
- visitTableSource(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#uniqueJoinTableSource.
- visitUniqueJoinTableSource(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableName.
- visitTableName(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#viewName.
- visitViewName(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#subQuerySource.
- visitSubQuerySource(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#partitioningSpec.
- visitPartitioningSpec(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#partitionTableFunctionSource.
- visitPartitionTableFunctionSource(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#partitionedTableFunction.
- visitPartitionedTableFunction(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#whereClause.
- visitWhereClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#searchCondition.
- visitSearchCondition(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#valuesClause.
- visitValuesClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#valuesTableConstructor.
- visitValuesTableConstructor(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#valueRowConstructor.
- visitValueRowConstructor(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#virtualTableSource.
- visitVirtualTableSource(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#rangeTableValuedFunction.
- visitRangeTableValuedFunction(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableFunctionCall.
- visitTableFunctionCall(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#functionArgList.
- visitFunctionArgList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#functionArg.
- visitFunctionArg(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#namedArg.
- visitNamedArg(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#groupByClause.
- visitGroupByClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#groupby_expression.
- visitGroupby_expression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#groupByEmpty.
- visitGroupByEmpty(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#rollupStandard.
- visitRollupStandard(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#rollupOldSyntax.
- visitRollupOldSyntax(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#groupingSetExpression.
- visitGroupingSetExpression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#groupingSetExpressionMultiple.
- visitGroupingSetExpressionMultiple(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#groupingExpressionSingle.
- visitGroupingExpressionSingle(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#havingClause.
- visitHavingClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#havingCondition.
- visitHavingCondition(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#expressionsInParenthesis.
- visitExpressionsInParenthesis(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#expressionsNotInParenthesis.
- visitExpressionsNotInParenthesis(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#expressionPart.
- visitExpressionPart(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#expressions.
- visitExpressions(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnRefOrderInParenthesis.
- visitColumnRefOrderInParenthesis(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#columnRefOrderNotInParenthesis.
- visitColumnRefOrderNotInParenthesis(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#orderByClause.
- visitOrderByClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#clusterByClause.
- visitClusterByClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#partitionByClause.
- visitPartitionByClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#distributeByClause.
- visitDistributeByClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#sortByClause.
- visitSortByClause(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#functionStatement.
- visitFunctionStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#functionName.
- visitFunctionName(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#castExpression.
- visitCastExpression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#caseExpression.
- visitCaseExpression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#whenExpression.
- visitWhenExpression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#floorExpression.
- visitFloorExpression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#floorDateQualifiers.
- visitFloorDateQualifiers(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#extractExpression.
- visitExtractExpression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#timeQualifiers.
- visitTimeQualifiers(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#constant.
- visitConstant(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#stringLiteralSequence.
- visitStringLiteralSequence(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#charSetStringLiteral.
- visitCharSetStringLiteral(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dateLiteral.
- visitDateLiteral(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#timestampLiteral.
- visitTimestampLiteral(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#timestampLocalTZLiteral.
- visitTimestampLocalTZLiteral(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#intervalValue.
- visitIntervalValue(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#intervalLiteral.
- visitIntervalLiteral(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#intervalExpression.
- visitIntervalExpression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#intervalQualifiers.
- visitIntervalQualifiers(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#atomExpression.
- visitAtomExpression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#precedenceUnaryOperator.
- visitPrecedenceUnaryOperator(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#isCondition.
- visitIsCondition(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#precedenceBitwiseXorOperator.
- visitPrecedenceBitwiseXorOperator(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#precedenceStarOperator.
- visitPrecedenceStarOperator(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#precedencePlusOperator.
- visitPrecedencePlusOperator(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#precedenceConcatenateOperator.
- visitPrecedenceConcatenateOperator(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#precedenceAmpersandOperator.
- visitPrecedenceAmpersandOperator(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#precedenceBitwiseOrOperator.
- visitPrecedenceBitwiseOrOperator(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#precedenceRegexpOperator.
- visitPrecedenceRegexpOperator(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#precedenceSimilarOperator.
- visitPrecedenceSimilarOperator(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#precedenceDistinctOperator.
- visitPrecedenceDistinctOperator(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#precedenceEqualOperator.
- visitPrecedenceEqualOperator(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#precedenceNotOperator.
- visitPrecedenceNotOperator(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#precedenceAndOperator.
- visitPrecedenceAndOperator(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#precedenceOrOperator.
- visitPrecedenceOrOperator(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#expression.
- visitExpression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#subQueryExpression.
- visitSubQueryExpression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#precedenceSimilarExpressionPart.
- visitPrecedenceSimilarExpressionPart(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#precedenceSimilarExpressionAtom.
- visitPrecedenceSimilarExpressionAtom(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#precedenceSimilarExpressionIn.
- visitPrecedenceSimilarExpressionIn(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#precedenceSimilarExpressionPartNot.
- visitPrecedenceSimilarExpressionPartNot(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#booleanValue.
- visitBooleanValue(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#booleanValueTok.
- visitBooleanValueTok(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#tableOrPartition.
- visitTableOrPartition(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#partitionSpec.
- visitPartitionSpec(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#partitionVal.
- visitPartitionVal(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dropPartitionSpec.
- visitDropPartitionSpec(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dropPartitionVal.
- visitDropPartitionVal(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dropPartitionOperator.
- visitDropPartitionOperator(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#sysFuncNames.
- visitSysFuncNames(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#descFuncNames.
- visitDescFuncNames(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#identifier.
- visitIdentifier(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#functionIdentifier.
- visitFunctionIdentifier(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#principalIdentifier.
- visitPrincipalIdentifier(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#nonReserved.
- visitNonReserved(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#sql11ReservedKeywordsUsedAsFunctionName.
- visitSql11ReservedKeywordsUsedAsFunctionName(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#databricksAllowedReservedNames.
- visitDatabricksAllowedReservedNames(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#resourcePlanDdlStatements.
- visitResourcePlanDdlStatements(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#rpAssign.
- visitRpAssign(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#rpAssignList.
- visitRpAssignList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#rpUnassign.
- visitRpUnassign(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#rpUnassignList.
- visitRpUnassignList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#createResourcePlanStatement.
- visitCreateResourcePlanStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#createResourcePlanStatementLikeExisting.
- visitCreateResourcePlanStatementLikeExisting(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#createNewResourcePlanStatement.
- visitCreateNewResourcePlanStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#withReplace.
- visitWithReplace(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#activate.
- visitActivate(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#enable.
- visitEnable(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#disable.
- visitDisable(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#unmanaged.
- visitUnmanaged(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterResourcePlanStatement.
- visitAlterResourcePlanStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterResourcePlanRenameSuffix.
- visitAlterResourcePlanRenameSuffix(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#globalWmStatement.
- visitGlobalWmStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#replaceResourcePlanStatement.
- visitReplaceResourcePlanStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dropResourcePlanStatement.
- visitDropResourcePlanStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#poolPath.
- visitPoolPath(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#triggerExpression.
- visitTriggerExpression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#triggerExpressionStandalone.
- visitTriggerExpressionStandalone(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#triggerOrExpression.
- visitTriggerOrExpression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#triggerAndExpression.
- visitTriggerAndExpression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#triggerAtomExpression.
- visitTriggerAtomExpression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#triggerLiteral.
- visitTriggerLiteral(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#comparisionOperator.
- visitComparisionOperator(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#triggerActionExpression.
- visitTriggerActionExpression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#triggerActionExpressionStandalone.
- visitTriggerActionExpressionStandalone(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#createTriggerStatement.
- visitCreateTriggerStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterTriggerStatement.
- visitAlterTriggerStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#triggerConditionExpression.
- visitTriggerConditionExpression(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dropTriggerStatement.
- visitDropTriggerStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#poolAssign.
- visitPoolAssign(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#poolAssignList.
- visitPoolAssignList(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#createPoolStatement.
- visitCreatePoolStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterPoolStatement.
- visitAlterPoolStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dropPoolStatement.
- visitDropPoolStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#createMappingStatement.
- visitCreateMappingStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#alterMappingStatement.
- visitAlterMappingStatement(ctx) {
- return this.visitChildren(ctx);
- }
-
- // Visit a parse tree produced by HiveParser#dropMappingStatement.
- visitDropMappingStatement(ctx) {
- return this.visitChildren(ctx);
- }
-}
-
-module.exports = { HiveParserVisitor };
diff --git a/reverse_engineering/thriftService/schemaHelper.js b/reverse_engineering/thriftService/schemaHelper.js
deleted file mode 100644
index af6da48..0000000
--- a/reverse_engineering/thriftService/schemaHelper.js
+++ /dev/null
@@ -1,72 +0,0 @@
-const getMapKeyType = childItem => {
- if (['numeric', 'text'].indexOf(childItem.type) !== -1) {
- return {
- keyType: childItem.type,
- keySubtype: childItem.mode,
- };
- } else {
- return {
- keyType: 'text',
- keySubtype: 'string',
- };
- }
-};
-
-const getMapSubtype = type => {
- const subtype = type => `map<${type}>`;
-
- switch (type) {
- case 'text':
- return subtype('txt');
- case 'numeric':
- return subtype('num');
- case 'bool':
- return subtype('bool');
- case 'timestamp':
- return subtype('ts');
- case 'binary':
- return subtype('bin');
- case 'date':
- return subtype('date');
- case 'interval':
- return subtype('intrvl');
- case 'array':
- return subtype('array');
- case 'map':
- return subtype('map');
- case 'struct':
- return subtype('struct');
- case 'union':
- return subtype('union');
- }
-};
-
-const getArraySubtypeByType = type => {
- const subtype = type => `array<${type}>`;
- switch (type) {
- case 'text':
- return subtype('txt');
- case 'numeric':
- return subtype('num');
- case 'timestamp':
- return subtype('ts');
- case 'date':
- return subtype('date');
- case 'interval':
- return subtype('intrvl');
- case 'array':
- return subtype('array');
- case 'map':
- return subtype('map');
- case 'struct':
- return subtype('struct');
- case 'union':
- return subtype('union');
- }
-};
-
-module.exports = {
- getArraySubtypeByType,
- getMapSubtype,
- getMapKeyType,
-};