diff --git a/panels/grafana-clickhouse-datasource/CHANGELOG.md b/panels/grafana-clickhouse-datasource/CHANGELOG.md
index 547c91ba3c..4a79cc7d45 100644
--- a/panels/grafana-clickhouse-datasource/CHANGELOG.md
+++ b/panels/grafana-clickhouse-datasource/CHANGELOG.md
@@ -1,9 +1,152 @@
# Changelog
+## 4.0.2
+
+### Fixes
+
+- Fixed migration script not running when opening an existing v3 config
+
+## 4.0.1
+
+### Fixes
+
+- Set `protocol` to `native` by default in config view. Fixes the "default port" description.
+
+## 4.0.0
+
+### Features
+
+Version 4.0.0 contains major revisions to the query builder and datasource configuration settings.
+
+#### Query Builder
+
+- Completely rebuilt query builder to have specialized editors for Table, Logs, Time Series, and Traces.
+- Completely rebuilt SQL generator to support more complicated and dynamic queries.
+- Updated query builder options structure to be clearer and support more complex queries.
+- Updated database/table selector to be in a more convenient location. Database and table options are automatically selected on initial load.
+- Upgraded query builder state management so queries stay consistent when saving/editing/sharing queries.
+- Separated Table and Time Series query builders. Table view operates as a catch-all for queries that don't fit the other query types.
+- Combined "format" into the query type switcher for simplicity. The query tab now changes the builder view and the display format when on the Explore page. This includes the raw SQL editor.
+- Added an OTEL switch for logs and trace views. This will allow for quicker query building for those using the OTEL exporter for ClickHouse.
+- Updated Time Series query builder with dedicated Time column. Default filters are added on-load.
+- Added an `IS ANYTHING` filter that acts as a placeholder for easily editing later (useful for query templates/bookmarks on the Explore page.)
+- Added better support for Map types on the Filter editor.
+- LIMIT editor can now be set to 0 to be excluded from the query.
+- Table and Time Series views now have a simple / aggregate mode, depending on the query complexity.
+- Updated the logs histogram query to use the new query builder options and column hints.
+- Added Logs query builder with dedicated Time, Level, and Message columns. Includes OTEL switch for automatically loading OTEL schema columns. Default filters are added on-load.
+- Added Trace query builder with dedicated trace columns. Includes OTEL switch for automatically loading OTEL schema columns. Default filters are added on-load.
+- Updated data panel filtering to append filters with column hints. Visible in logs view when filtering by a specific level. Instead of referencing a column by name, it will use its hint.
+- Order By now lists aggregates by their full name + alias.
+- Order By column allows for custom value to be typed in.
+- Aggregate column name allows for custom value to be typed in.
+- Filter editor allows for custom column names to be typed in.
+- Increased width of filter value text input.
+- Columns with the `Map*` type now show a `[]` at the end to indicate they are complex types. For example, `SpanAttributes[]`.
+- Filter editor now has a dedicated field for map key. You can now select a map column and its key separately. For example, `SpanAttributes['key']`.
+- Map types now load a sample of options when editing the `key` for the map. This doesn't include all unique values, but for most datasets it should be a convenience.
+- Added column hints, which offers better linking across query components when working with columns and filters. For example, a filter can be added for the `Time` column, even without knowing what the time column name is yet. This enables better SQL generation that is "aware" of a column's intended use.
+
+### Plugin Backend
+- Added migration logic for `v3` configs going to `v4+`. This is applied when the config is loaded when building a database connection.
+- `$__timeFilter`, `$__fromTime`, and `$__toTime` macros now convert to `DateTime64(3)` for better server-side type conversion. Also enables millisecond precision time range filtering.
+
+#### Datasource Configuration
+- Added migration script for `v3.x` configurations to `v4+`. This runs automatically when opening/saving the datasource configuration.
+- Renamed config value `server` to `host`.
+- Renamed config value `timeout` to the more specific `dial_timeout`.
+- Updated labeling for port selection. The default port will now change depending on native/http and secure/unsecure setting.
+- Rearranged fields and sections to flow better for initial setup of a new datasource.
+- Added plugin version to config data for easier config version migrations in the future.
+- Added fields for setting default values for database/table.
+- Added section for setting default log database/table/columns. Includes OTEL. These are used when using the log query builder.
+- Added section for setting default trace database/table/columns. Includes OTEL. These are used when using the trace query builder.
+- Added OTEL switches for logs/traces for quicker query building. OTEL defaults to the latest version, and will auto update if kept on this setting.
+- Increased width of inputs for typically long values (server URL, path, etc.)
+- Allow adding custom HTTP headers with either plain text or secure credentials. [#633](https://github.com/grafana/clickhouse-datasource/pull/633)
+- Add `path` setting to specify an additional URL path when using the HTTP protocol. [#512](https://github.com/grafana/clickhouse-datasource/pull/512)
+
+### Fixes
+
+- Queries will now remain consistent when reloading/editing a previously saved query.
+- Fixed default Ad-Hoc filters. [#650](https://github.com/grafana/clickhouse-datasource/pull/650)
+- Fixed Ad-Hoc filters parsing numeric fields. [#629](https://github.com/grafana/clickhouse-datasource/pull/629)
+- Fixed majority of usability quirks with redesigned query builder.
+
+### Upgrades
+
+- Updated all dependencies to latest compatible versions (Includes Dependabot PRs)
+
+## 3.3.0
+
+### Features
+
+- Support Point geo data type.
+
+### Fixes
+
+- Fix timeInterval_ms macro.
+- Fix Table summary and Parts over time panels in Data Analysis dashboard.
+
+### Upgrades
+
+- Upgrade [grafana-plugin-sdk-go](https://github.com/grafana/grafana-plugin-sdk-go).
+
+## 3.2.0
+
+### Features
+
+- Add `timeInterval_ms` macro to allow higher precision queries on DateTime64 columns. [#462](https://github.com/grafana/clickhouse-datasource/pull/462).
+
+### Fixes
+
+- Ensure databases, tables, and columns are escaped correctly. [#460](https://github.com/grafana/clickhouse-datasource/pull/460).
+- Fix conditionAll handling. [#459](https://github.com/grafana/clickhouse-datasource/pull/459).
+- Fix support for ad-hoc regexp filters: `=~`, `!~` [#414](https://github.com/grafana/clickhouse-datasource/pull/414).
+- Do not create malformed adhoc filters [#451](https://github.com/grafana/clickhouse-datasource/pull/451). invalid values will be ignored.
+- Fix auto formatting by reverting to table correctly. [#469](https://github.com/grafana/clickhouse-datasource/pull/469).
+- Fix parsing of numeric configuration values in `yaml` file. [#456](https://github.com/grafana/clickhouse-datasource/pull/456).
+
+## 3.1.0
+
+- Stable release of v3.0.4-beta
+
+## 3.0.4-beta
+
+- Update Grafana dependencies to >=v9.0.0
+- **Feature** - [Add support for the secure socks proxy](https://github.com/grafana/clickhouse-datasource/pull/389)
+
+## 3.0.3-beta
+
+- Update ClickHouse driver to v2.9.2
+
+## 3.0.2-beta
+
+- Custom ClickHouse settings can be set in data source settings. [Allow passing custom ClickHouse settings in datasource](https://github.com/grafana/clickhouse-datasource/pull/366)
+- Histogram UI fixes [Histogram UI fixes](https://github.com/grafana/clickhouse-datasource/pull/363)
+ - Support filter/filter out logs view actions
+ - Fix undefined database name by default
+ - Reset level and time field properly on table/database change
+ - Make it possible to clear the level field (so the histogram will render without grouping by level)
+ - Fix filter value that gets stuck in the UI
+- Tracing dashboard added to default dashboards. [Tracing dashboard ](https://github.com/grafana/clickhouse-datasource/pull/336)
+
+## 3.0.1-beta
+
+- Users on v8.x of Grafana are encouraged to continue to use v2.2.0 of the plugin.
+- Users of Grafana v9.x can use v3 however it is beta and may contain bugs.
+
## 3.0.0
+
- **Feature** - [Logs volume histogram support](https://github.com/grafana/clickhouse-datasource/pull/352)
- **Chore** - Update clickhouse-go to v2.8.1
+## 2.2.1
+
+- **Chore** - Backend binaries compiled with latest go version 1.20.4
+- Custom ClickHouse settings can be set in data source settings. Allow passing custom [ClickHouse settings in datasource](https://github.com/grafana/clickhouse-datasource/pull/371)
+- Standard Golang HTTP proxy environment variables support (`HTTP_PROXY`/`HTTPS_PROXY`/`NO_PROXY`). See [FromEnvironment](https://pkg.go.dev/golang.org/x/net/http/httpproxy#FromEnvironment) for more information. If the Grafana instance is started with one of these env variables, the driver will automatically load them now.
+
## 2.2.0
- **Feature** - [Support format dropdown and support for rendering traces](https://github.com/grafana/clickhouse-datasource/pull/329)
@@ -15,12 +158,12 @@
## 2.1.0
- **Fix** - Quote table names with dots by @slvrtrn in https://github.com/grafana/clickhouse-datasource/pull/298
-- Add a predefined TimeRange filter if there is at least one DateTime* column by @slvrtrn in https://github.com/grafana/clickhouse-datasource/pull/304
+- Add a predefined TimeRange filter if there is at least one DateTime\* column by @slvrtrn in https://github.com/grafana/clickhouse-datasource/pull/304
## 2.0.7
-- **Fix** - Empty template variables used with the conditionalAll macro work the same as selecting All. [Allow empty Inputs for $__conditionalAll](https://github.com/grafana/clickhouse-datasource/issues/262)
-- **Fix** - Intervals are limited to 1 second. [limit $__interval_s to at least 1 second](https://github.com/grafana/clickhouse-datasource/pull/270)
+- **Fix** - Empty template variables used with the conditionalAll macro work the same as selecting All. [Allow empty Inputs for $\_\_conditionalAll](https://github.com/grafana/clickhouse-datasource/issues/262)
+- **Fix** - Intervals are limited to 1 second. [limit $\_\_interval_s to at least 1 second](https://github.com/grafana/clickhouse-datasource/pull/270)
- **Chore** - Bump ClickHouse go API to v2.5.1 [Bump github.com/ClickHouse/clickhouse-go/v2 from 2.4.3 to 2.5.1](https://github.com/grafana/clickhouse-datasource/pull/283)
## 2.0.6
@@ -111,7 +254,7 @@
## 0.12.0
-- **Feature** - Time series builder: use $__timeInterval macro on time field so buckets can be adjusted from query options.
+- **Feature** - Time series builder: use $\_\_timeInterval macro on time field so buckets can be adjusted from query options.
## 0.11.0
@@ -131,7 +274,7 @@
## 0.9.11
-- **Feature** - $__timeInterval(column) and $__interval_s macros
+- **Feature** - $**timeInterval(column) and $**interval_s macros
## 0.9.10
diff --git a/panels/grafana-clickhouse-datasource/MANIFEST.txt b/panels/grafana-clickhouse-datasource/MANIFEST.txt
index 38d0afdf67..23e8a35680 100644
--- a/panels/grafana-clickhouse-datasource/MANIFEST.txt
+++ b/panels/grafana-clickhouse-datasource/MANIFEST.txt
@@ -8,33 +8,32 @@ Hash: SHA512
"signedByOrg": "grafana",
"signedByOrgName": "Grafana Labs",
"plugin": "grafana-clickhouse-datasource",
- "version": "3.0.0",
- "time": 1681248769311,
+ "version": "4.0.2",
+ "time": 1706893008714,
"keyId": "7e4d0c6a708866e7",
"files": {
- "CHANGELOG.md": "5a47f65cefd149b93d044db0d8aa20a0d61ed2e1dd15d4e135b031c6611bf32e",
+ "CHANGELOG.md": "7f1a12e90ac791bd16c252d0c2176c0b363d87fecc1773aee2ec6de729490502",
"LICENSE": "cdd15e614b50e88443fe574ad56bde5ba697d958a45376431638eea816e3bfc3",
- "README.md": "da1ece921b4bc2c1de0c0e16f86559f740c53a4310e8c73aceb584f21b0079ba",
- "dashboards/cluster-analysis.json": "e5be94806dcef74e8948230234845e1adebce2f69e50abae0cb73550ac07ff3d",
- "dashboards/data-analysis.json": "a911f1c6315683112f41277a318a9d4c178f037476a4492aba0dcd3d47e0656f",
- "dashboards/query-analysis.json": "47b28a56a00f0b418dbee317eb43748cb4270b0c2f1bfdee5915bfecb2c05a14",
- "go_plugin_build_manifest": "bb0047c559ce6b1866a6cc67d736362f29bbcdcb865948aaa031b08cea711463",
- "gpx_clickhouse_linux_amd64": "6506e0437e2b2fe374c1ff8cd3048e731073939ab71133be3a44f9b056d8f61a",
- "img/logo.png": "57b548fd842706f2845514f661aed5d4b4aeefeb6b6a891bac7cc0392b3ac060",
- "img/logo.svg": "1defc6f7e585c67657bcfd8fddc599ee7dfa82f8674413f49fa274c2cd453ec6",
- "module.js": "182ef8027f23a69fcab312776bc4830517d81579e704a4da35e32666b5d86a1b",
- "module.js.map": "3698468ae6ad1c4f9fde7a9cb4ba464f4c6b9d201889b8fab628a3220f91181d",
- "plugin.json": "77dfbd2e9940124595966322f70c5ac47b1d071274f44e25213cb605264b69b5"
+ "README.md": "242b7431b473b1a10a0ed58339c41f0824fa5a37e0db56619d3e520115842163",
+ "dashboards/cluster-analysis.json": "03061d7ee3a2b245e28f9291e5a72147d0c2830301cbb7eec934b0d14170b24e",
+ "dashboards/data-analysis.json": "8d87d43424b1e6cd34d1b7fd2f894b5bac4c13aa2f531598c060a80b19804829",
+ "dashboards/query-analysis.json": "1b2006a3f4142e512e50156a7d2fd8cf03a178019aaccc964c0283c8559298b3",
+ "go_plugin_build_manifest": "7d8b428feb6ede5ccf12b2f569440ab379a8a03fa1468646d0d85935e1cc6310",
+ "gpx_clickhouse_linux_amd64": "a4ae09c037607bf14ec78178649c575a1effe6daa130e1dae319aaedd7ffe331",
+ "img/logo.svg": "838199055d86584ff105e5e91013203a6acb7d3f2061ae27678786125ab11f09",
+ "module.js": "d1f61c74b2bbfdc359a9183c1afb6a8b669b1cafa75a139523b27232190cfaf2",
+ "module.js.map": "a270713b83e35bdc2fe81d5afe604a5c626930fb1d5b36e658a0e713b3dbdc08",
+ "plugin.json": "61dcb5cad8937cce0d988c067ab2f7232d84f5e2e51e34a42d5cf078a6cc6530"
}
}
-----BEGIN PGP SIGNATURE-----
Version: OpenPGP.js v4.10.10
Comment: https://openpgpjs.org
-wrkEARMKAAYFAmQ10gEAIQkQfk0ManCIZucWIQTzOyW2kQdOhGNlcPN+TQxq
-cIhm5w73AgkBsO+bQDRRcZUJURFibQwpOQhCu1fDPprYqwR585Z9wt/yxzZB
-JoL8zVP0rclqRXLvnqBbs1/7xmqwsSC3Qc0N4HECCQGue9LTfNgk2PJvpiSZ
-qVaeYHJZjlCnDe4s5SncpSGn2bBjwngpPxGRq7BFRR/eGW1ViA+ggOI0Avvz
-3DZz/i1a6g==
-=tWsh
+wrgEARMKAAYFAmW9HtAAIQkQfk0ManCIZucWIQTzOyW2kQdOhGNlcPN+TQxq
+cIhm53dVAgkBjRvAp83TqiWhhDbHjB/EWJogo9/pqPvoDsyc7aLb3+zm+geI
+ICRlkIPUGcvLXmaWYjiIgZtnpmSJpz6cpWNUMIgCCJqKnaNLjQwhOd0T6o3H
+lDnbWqbnaphxKAYx2ELP1OhyVpZDDKpCuIlPEWJtTjVXxXhsIiO418AYaYxt
+zh/UOtXE
+=39z5
-----END PGP SIGNATURE-----
diff --git a/panels/grafana-clickhouse-datasource/README.md b/panels/grafana-clickhouse-datasource/README.md
index 71cd4ffa62..a7d183d559 100644
--- a/panels/grafana-clickhouse-datasource/README.md
+++ b/panels/grafana-clickhouse-datasource/README.md
@@ -1,48 +1,63 @@
-# ClickHouse data source for Grafana
+# Official ClickHouse data source for Grafana
-The ClickHouse data source plugin allows you to query and visualize ClickHouse
-data from within Grafana.
+The ClickHouse data source plugin allows you to query and visualize ClickHouse data in Grafana.
-**As of 2.0 this plugin will only support ad hoc filters when using ClickHouse 22.7+**
+
+
+
+
+## Version compatibility
+
+Users on Grafana `v9.x` and higher of Grafana can use `v4`.
+Users on Grafana `v8.x` are encouraged to continue using `v2.2.0` of the plugin.
+
+
+\* *As of 2.0 this plugin will only support ad hoc filters when using ClickHouse 22.7+*
## Installation
-For detailed instructions on how to install the plugin on Grafana Cloud or
-locally, please checkout the [Plugin installation docs](https://grafana.com/docs/grafana/latest/plugins/installation/).
+For detailed instructions on how to install the plugin on Grafana Cloud or locally,
+please checkout the [Plugin installation docs](https://grafana.com/docs/grafana/latest/plugins/installation/).
## Configuration
### ClickHouse user for the data source
-Set up an ClickHouse user account with `readonly` permission and access to
-databases and tables you want to query. Please note that Grafana does not
-validate that queries are safe. Queries can contain any SQL statement. For
-example, statements like `ALTER TABLE system.users DELETE WHERE name='sadUser'`
+Set up an ClickHouse user account with [readonly](https://clickhouse.com/docs/en/operations/settings/permissions-for-queries#settings_readonly) permission and access to
+databases and tables you want to query.
+Please note that Grafana does not validate that queries are safe. Queries can contain any SQL statement.
+For example, statements like `ALTER TABLE system.users DELETE WHERE name='sadUser'`
and `DROP TABLE sadTable;` would be executed.
+To configure a readonly user, follow these steps:
+1. Create a `readonly` user profile following the [Creating Users and Roles in ClickHouse](https://clickhouse.com/docs/en/operations/access-rights) guide.
+2. Ensure the `readonly` user has enough permission to modify the `max_execution_time` setting required by the underlying [clickhouse-go client](https://github.com/ClickHouse/clickhouse-go/).
+3. If you're using a public Clickhouse instance, it's not recommended to set `readonly=2` in the `readonly` profile. Instead, leave `readonly=1` and set the constraint type of `max_execution_time` to [changeable_in_readonly](https://clickhouse.com/docs/en/operations/settings/constraints-on-settings) to allow modification of this setting.
+
### ClickHouse protocol support
-The plugin supports both `HTTP` and `Native` (default) transport protocols. This can be enabled in the configuration via the `protocol` configuration parameter. Both protocols exchange data with ClickHouse using optimized native format.
+The plugin supports both `Native` (default) and `HTTP` transport protocols.
+This can be enabled in the configuration via the `protocol` configuration parameter.
+Both protocols exchange data with ClickHouse using optimized native format.
-Note that the default ports for `HTTP/s` and `Native` differ:
+Note that the default ports for `HTTP/S` and `Native` differ:
- HTTP - 8123
- HTTPS - 8443
- Native - 9000
- Native with TLS - 9440
-### Manual configuration
+### Manual configuration via UI
-Once the plugin is installed on your Grafana instance, follow [these
-instructions](https://grafana.com/docs/grafana/latest/datasources/add-a-data-source/)
+Once the plugin is installed on your Grafana instance, follow
+[these instructions](https://grafana.com/docs/grafana/latest/datasources/add-a-data-source/)
to add a new ClickHouse data source, and enter configuration options.
### With a configuration file
-It is possible to configure data sources using configuration files with
-Grafana’s provisioning system. To read about how it works, including all the
-settings that you can set for this data source, refer to [Provisioning Grafana
-data sources](https://grafana.com/docs/grafana/latest/administration/provisioning/#data-sources).
+It is possible to configure data sources using configuration files with Grafana’s provisioning system.
+To read about how it works, refer to
+[Provisioning Grafana data sources](https://grafana.com/docs/grafana/latest/administration/provisioning/#data-sources).
Here are some provisioning examples for this data source using basic authentication:
@@ -54,18 +69,50 @@ datasources:
jsonData:
defaultDatabase: database
port: 9000
- server: localhost
+ host: localhost
username: username
tlsSkipVerify: false
+ # tlsAuth:
+ # tlsAuthWithCACert:
+ # secure:
+ # dialTimeout:
+ # queryTimeout:
+ # protocol:
+ # defaultTable:
+ # httpHeaders:
+ # - name: X-Example-Header
+ # secure: false
+ # value:
+ # - name: Authorization
+ # secure: true
+ # logs:
+ # defaultDatabase:
+ # defaultTable:
+ # otelEnabled:
+ # otelVersion:
+ # timeColumn:
+ # ...Column:
+ # traces:
+ # defaultDatabase:
+ # defaultTable:
+ # otelEnabled:
+ # otelVersion:
+ # durationUnit:
+ # traceIdColumn:
+ # ...Column:
secureJsonData:
password: password
+ # tlsCACert:
+ # tlsClientCert:
+ # tlsClientKey:
+ # secureHttpHeaders.Authorization:
```
## Building queries
-The query editor allows you to query ClickHouse to return time series or
-tabular data. Queries can contain macros which simplify syntax and allow for
-dynamic parts.
+Queries can be built using the raw SQL editor or the query builder.
+Queries can contain macros which simplify syntax and allow for
+dynamic SQL generation.
### Time series
@@ -144,16 +191,16 @@ FROM test_data
WHERE $__timeFilter(date_time)
```
-| Macro | Description | Output example |
-|----------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
-| *$__timeFilter(columnName)* | Replaced by a conditional that filters the data (using the provided column) based on the time range of the panel in seconds | `time >= '1480001790' AND time <= '1482576232' )` |
-| *$__dateFilter(columnName)* | Replaced by a conditional that filters the data (using the provided column) based on the date range of the panel | `date >= '2022-10-21' AND date <= '2022-10-23' )` |
-| *$__timeFilter_ms(columnName)* | Replaced by a conditional that filters the data (using the provided column) based on the time range of the panel in milliseconds | `time >= '1480001790671' AND time <= '1482576232479' )` |
-| *$__fromTime* | Replaced by the starting time of the range of the panel casted to DateTime | `toDateTime(intDiv(1415792726371,1000))` |
-| *$__toTime* | Replaced by the ending time of the range of the panel casted to DateTime | `toDateTime(intDiv(1415792726371,1000))` |
-| *$__interval_s* | Replaced by the interval in seconds | `20` |
-| *$__timeInterval(columnName)* | Replaced by a function calculating the interval based on window size, useful when grouping | `toStartOfInterval(column, INTERVAL 20 second)` |
-| *$__conditionalAll(condition, $templateVar)* | Replaced by the first parameter when the template variable in the second parameter does not select every value. Replaced by the 1=1 when the template variable selects every value. | `condition` or `1=1` |
+| Macro | Description | Output example |
+|----------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------|
+| *$__timeFilter(columnName)* | Replaced by a conditional that filters the data (using the provided column) based on the time range of the panel in milliseconds | `time >= toDateTime64(1480001790/1000, 3) AND time <= toDateTime64(1482576232/1000, 3) )` |
+| *$__dateFilter(columnName)* | Replaced by a conditional that filters the data (using the provided column) based on the date range of the panel | `date >= '2022-10-21' AND date <= '2022-10-23' )` |
+| *$__fromTime* | Replaced by the starting time of the range of the panel casted to `DateTime64(3)` | `toDateTime64(1415792726371/1000, 3)` |
+| *$__toTime* | Replaced by the ending time of the range of the panel casted to `DateTime64(3)` | `toDateTime64(1415792726371/1000, 3)` |
+| *$__interval_s* | Replaced by the interval in seconds | `20` |
+| *$__timeInterval(columnName)* | Replaced by a function calculating the interval based on window size in seconds, useful when grouping | `toStartOfInterval(toDateTime(column), INTERVAL 20 second)` |
+| *$__timeInterval_ms(columnName)* | Replaced by a function calculating the interval based on window size in milliseconds, useful when grouping | `toStartOfInterval(toDateTime64(column, 3), INTERVAL 20 millisecond)` |
+| *$__conditionalAll(condition, $templateVar)* | Replaced by the first parameter when the template variable in the second parameter does not select every value. Replaced by the 1=1 when the template variable selects every value. | `condition` or `1=1` |
The plugin also supports notation using braces {}. Use this notation when queries are needed inside parameters.
diff --git a/panels/grafana-clickhouse-datasource/dashboards/cluster-analysis.json b/panels/grafana-clickhouse-datasource/dashboards/cluster-analysis.json
index e204f45fdb..b5a80b62a0 100644
--- a/panels/grafana-clickhouse-datasource/dashboards/cluster-analysis.json
+++ b/panels/grafana-clickhouse-datasource/dashboards/cluster-analysis.json
@@ -1,14 +1,5 @@
{
- "__inputs": [
- {
- "name": "DS_CLICKHOUSE",
- "label": "ClickHouse",
- "description": "",
- "type": "datasource",
- "pluginId": "grafana-clickhouse-datasource",
- "pluginName": "ClickHouse"
- }
- ],
+ "__inputs": [],
"__elements": [],
"__requires": [
{
@@ -75,7 +66,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -122,9 +113,7 @@
"justifyMode": "center",
"orientation": "horizontal",
"reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
+ "calcs": ["lastNotNull"],
"fields": "/.*/",
"values": false
},
@@ -135,7 +124,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -179,7 +168,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -226,9 +215,7 @@
"justifyMode": "center",
"orientation": "auto",
"reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
+ "calcs": ["lastNotNull"],
"fields": "",
"values": false
},
@@ -239,7 +226,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -271,7 +258,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -304,9 +291,7 @@
"justifyMode": "center",
"orientation": "auto",
"reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
+ "calcs": ["lastNotNull"],
"fields": "",
"values": false
},
@@ -317,7 +302,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -337,7 +322,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -370,9 +355,7 @@
"justifyMode": "center",
"orientation": "auto",
"reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
+ "calcs": ["lastNotNull"],
"fields": "",
"values": false
},
@@ -383,7 +366,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -403,7 +386,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -436,9 +419,7 @@
"justifyMode": "center",
"orientation": "auto",
"reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
+ "calcs": ["lastNotNull"],
"fields": "",
"values": false
},
@@ -449,7 +430,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -469,7 +450,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -502,9 +483,7 @@
"justifyMode": "center",
"orientation": "auto",
"reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
+ "calcs": ["lastNotNull"],
"fields": "",
"values": false
},
@@ -515,7 +494,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -535,7 +514,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -668,9 +647,7 @@
"options": {
"footer": {
"fields": "",
- "reducer": [
- "sum"
- ],
+ "reducer": ["sum"],
"show": false
},
"showHeader": true
@@ -680,7 +657,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -721,7 +698,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -773,9 +750,7 @@
"minVizWidth": 0,
"orientation": "horizontal",
"reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
+ "calcs": ["lastNotNull"],
"fields": "",
"values": true
},
@@ -786,7 +761,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -807,7 +782,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -1029,9 +1004,7 @@
"options": {
"footer": {
"fields": "",
- "reducer": [
- "sum"
- ],
+ "reducer": ["sum"],
"show": false
},
"showHeader": true,
@@ -1042,7 +1015,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -1092,7 +1065,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -1138,9 +1111,7 @@
"minVizWidth": 0,
"orientation": "horizontal",
"reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
+ "calcs": ["lastNotNull"],
"fields": "",
"values": true
},
@@ -1151,7 +1122,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -1172,7 +1143,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -1383,9 +1354,7 @@
"options": {
"footer": {
"fields": "",
- "reducer": [
- "sum"
- ],
+ "reducer": ["sum"],
"show": false
},
"showHeader": true,
@@ -1396,7 +1365,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -1475,7 +1444,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -1508,9 +1477,7 @@
"minVizWidth": 0,
"orientation": "horizontal",
"reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
+ "calcs": ["lastNotNull"],
"fields": "",
"values": false
},
@@ -1521,7 +1488,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -1560,7 +1527,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -1660,9 +1627,7 @@
"options": {
"footer": {
"fields": "",
- "reducer": [
- "sum"
- ],
+ "reducer": ["sum"],
"show": false
},
"showHeader": true,
@@ -1673,7 +1638,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -1715,11 +1680,26 @@
"tags": [],
"templating": {
"list": [
+ {
+ "current": {},
+ "hide": 0,
+ "includeAll": false,
+ "label": "ClickHouse instance",
+ "multi": false,
+ "name": "datasource",
+ "options": [],
+ "query": "grafana-clickhouse-datasource",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
{
"current": {},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"definition": "SELECT name FROM system.databases;",
"hide": 0,
diff --git a/panels/grafana-clickhouse-datasource/dashboards/data-analysis.json b/panels/grafana-clickhouse-datasource/dashboards/data-analysis.json
index 37af8e7d3b..335ed6daf0 100644
--- a/panels/grafana-clickhouse-datasource/dashboards/data-analysis.json
+++ b/panels/grafana-clickhouse-datasource/dashboards/data-analysis.json
@@ -1,14 +1,5 @@
{
- "__inputs": [
- {
- "name": "DS_CLICKHOUSE",
- "label": "ClickHouse",
- "description": "",
- "type": "datasource",
- "pluginId": "grafana-clickhouse-datasource",
- "pluginName": "ClickHouse"
- }
- ],
+ "__inputs": [],
"__elements": [],
"__requires": [
{
@@ -87,7 +78,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -133,9 +124,7 @@
"justifyMode": "center",
"orientation": "horizontal",
"reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
+ "calcs": ["lastNotNull"],
"fields": "/.*/",
"values": false
},
@@ -146,7 +135,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -190,7 +179,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -237,9 +226,7 @@
"justifyMode": "center",
"orientation": "auto",
"reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
+ "calcs": ["lastNotNull"],
"fields": "",
"values": false
},
@@ -250,7 +237,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -282,7 +269,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -316,9 +303,7 @@
"justifyMode": "center",
"orientation": "auto",
"reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
+ "calcs": ["lastNotNull"],
"fields": "",
"values": false
},
@@ -329,7 +314,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -350,7 +335,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -384,9 +369,7 @@
"justifyMode": "center",
"orientation": "auto",
"reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
+ "calcs": ["lastNotNull"],
"fields": "",
"values": false
},
@@ -397,7 +380,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -418,7 +401,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -558,9 +541,7 @@
"options": {
"footer": {
"fields": "",
- "reducer": [
- "sum"
- ],
+ "reducer": ["sum"],
"show": false
},
"showHeader": true,
@@ -576,7 +557,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -613,7 +594,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -666,7 +647,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -687,7 +668,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -740,7 +721,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -761,7 +742,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -834,7 +815,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -855,7 +836,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -927,7 +908,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -948,7 +929,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -1085,9 +1066,7 @@
"options": {
"footer": {
"fields": "",
- "reducer": [
- "sum"
- ],
+ "reducer": ["sum"],
"show": false
},
"showHeader": true,
@@ -1103,7 +1082,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -1154,7 +1133,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -1230,9 +1209,7 @@
"options": {
"footer": {
"fields": "",
- "reducer": [
- "sum"
- ],
+ "reducer": ["sum"],
"show": false
},
"showHeader": true,
@@ -1248,7 +1225,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -1284,7 +1261,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -1450,9 +1427,7 @@
"options": {
"footer": {
"fields": "",
- "reducer": [
- "sum"
- ],
+ "reducer": ["sum"],
"show": false
},
"showHeader": true,
@@ -1473,7 +1448,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -1484,7 +1459,7 @@
}
},
"queryType": "sql",
- "rawSql": "SELECT name,\n table.database,\n engine,\n partitions,\n parts,\n formatReadableSize(bytes_on_disk) \"disk_size\",\n col_count,\n table_stats.total_rows,\n formatReadableSize(data_compressed_bytes) as \"uncompressed_size\"\nFROM system.tables table\n LEFT JOIN ( SELECT table,\n database,\n uniq(table, partition) \"partitions\",\n count() AS parts,\n sum(bytes_on_disk) \"bytes_on_disk\",\n sum(data_compressed_bytes) as \"data_compressed_bytes\",\n sum(rows) as total_rows,\n max(col_count) as col_count\nFROM system.parts as parts\n LEFT JOIN (SELECT database, table, count() as col_count FROM system.columns GROUP BY table, database) as col_stats\n ON parts.table = col_stats.table AND col_stats.database = parts.database\nWHERE active\nGROUP BY table, database\n ) AS table_stats ON table.name = table_stats.table AND table.database = table_stats.database\nWHERE database IN (${database}) AND lower(name) != 'information_schema' AND table IN (${table})\nORDER BY bytes_on_disk DESC\nLIMIT 1000",
+ "rawSql": "SELECT name,\n table.database,\n engine,\n partitions,\n parts,\n formatReadableSize(bytes_on_disk) \"disk_size\",\n col_count,\n table_stats.total_rows,\n formatReadableSize(data_uncompressed_bytes) as \"uncompressed_size\"\nFROM system.tables table\n LEFT JOIN ( SELECT table,\n database,\n uniq(table, partition) \"partitions\",\n count() AS parts,\n sum(bytes_on_disk) \"bytes_on_disk\",\n sum(data_uncompressed_bytes) as \"data_uncompressed_bytes\",\n sum(rows) as total_rows,\n max(col_count) as col_count\nFROM system.parts as parts\n LEFT JOIN (SELECT database, table, count() as col_count FROM system.columns GROUP BY table, database) as col_stats\n ON parts.table = col_stats.table AND col_stats.database = parts.database\nWHERE active\nGROUP BY table, database\n ) AS table_stats ON table.name = table_stats.table AND table.database = table_stats.database\nWHERE database IN (${database}) AND lower(name) != 'information_schema' AND table IN (${table})\nORDER BY bytes_on_disk DESC\nLIMIT 1000",
"refId": "A"
}
],
@@ -1528,7 +1503,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -1677,9 +1652,7 @@
"options": {
"footer": {
"fields": "",
- "reducer": [
- "sum"
- ],
+ "reducer": ["sum"],
"show": false
},
"showHeader": true,
@@ -1695,7 +1668,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -1736,7 +1709,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -1815,7 +1788,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -1826,7 +1799,7 @@
}
},
"queryType": "sql",
- "rawSql": "SELECT modification_time as timestamp, concatAssumeInjective(database, '.', table) as table, rows FROM system.parts WHERE database IN ($database) AND table IN (${table}) AND $__timeFilter(modification_time) ORDER BY modification_time DESC",
+ "rawSql": "SELECT modification_time as timestamp, concatAssumeInjective(database, '.', table) as table, rows FROM system.parts parts WHERE parts.database IN ($database) AND parts.table IN (${table}) AND $__timeFilter(modification_time) ORDER BY modification_time ASC",
"refId": "A"
}
],
@@ -1862,7 +1835,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -1895,9 +1868,7 @@
"minVizWidth": 0,
"orientation": "horizontal",
"reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
+ "calcs": ["lastNotNull"],
"fields": "",
"values": true
},
@@ -1913,7 +1884,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -1947,7 +1918,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -2128,9 +2099,7 @@
"options": {
"footer": {
"fields": "",
- "reducer": [
- "sum"
- ],
+ "reducer": ["sum"],
"show": false
},
"showHeader": true,
@@ -2146,7 +2115,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -2207,11 +2176,26 @@
"tags": [],
"templating": {
"list": [
+ {
+ "current": {},
+ "hide": 0,
+ "includeAll": false,
+ "label": "ClickHouse instance",
+ "multi": false,
+ "name": "datasource",
+ "options": [],
+ "query": "grafana-clickhouse-datasource",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
{
"current": {},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"definition": "SELECT name FROM system.databases;\n",
"hide": 0,
@@ -2231,7 +2215,7 @@
"current": {},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"definition": "SELECT name FROM system.tables WHERE database IN (${database})",
"hide": 0,
diff --git a/panels/grafana-clickhouse-datasource/dashboards/query-analysis.json b/panels/grafana-clickhouse-datasource/dashboards/query-analysis.json
index 1761a0672d..eae4dccc91 100644
--- a/panels/grafana-clickhouse-datasource/dashboards/query-analysis.json
+++ b/panels/grafana-clickhouse-datasource/dashboards/query-analysis.json
@@ -1,14 +1,5 @@
{
- "__inputs": [
- {
- "name": "DS_CLICKHOUSE",
- "label": "ClickHouse",
- "description": "",
- "type": "datasource",
- "pluginId": "grafana-clickhouse-datasource",
- "pluginName": "ClickHouse"
- }
- ],
+ "__inputs": [],
"__elements": [],
"__requires": [
{
@@ -87,7 +78,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -120,9 +111,7 @@
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
+ "calcs": ["lastNotNull"],
"fields": "",
"values": false
},
@@ -138,7 +127,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -158,7 +147,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -204,9 +193,7 @@
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
+ "calcs": ["lastNotNull"],
"fields": "",
"values": false
},
@@ -222,7 +209,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -242,7 +229,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -310,7 +297,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -331,7 +318,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -364,9 +351,7 @@
},
"pieType": "pie",
"reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
+ "calcs": ["lastNotNull"],
"fields": "",
"values": true
},
@@ -384,7 +369,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -405,7 +390,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -451,9 +436,7 @@
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
+ "calcs": ["lastNotNull"],
"fields": "/^Avg query time$/",
"values": false
},
@@ -469,7 +452,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -489,7 +472,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -568,7 +551,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 2,
"meta": {
@@ -597,7 +580,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -676,7 +659,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 2,
"meta": {
@@ -705,7 +688,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -780,7 +763,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 2,
"meta": {
@@ -809,7 +792,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -896,7 +879,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 2,
"meta": {
@@ -917,7 +900,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -1024,7 +1007,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -1045,7 +1028,7 @@
{
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -1363,9 +1346,7 @@
"options": {
"footer": {
"fields": "",
- "reducer": [
- "sum"
- ],
+ "reducer": ["sum"],
"show": false
},
"showHeader": true,
@@ -1386,7 +1367,7 @@
},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"format": 1,
"meta": {
@@ -1453,11 +1434,26 @@
"tags": [],
"templating": {
"list": [
+ {
+ "current": {},
+ "hide": 0,
+ "includeAll": false,
+ "label": "ClickHouse instance",
+ "multi": false,
+ "name": "datasource",
+ "options": [],
+ "query": "grafana-clickhouse-datasource",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
{
"current": {},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"definition": "SELECT DISTINCT(query_kind) as query_kind FROM system.query_log WHERE query_kind != ''",
"description": "",
@@ -1478,7 +1474,7 @@
"current": {},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"definition": "SELECT type FROM system.query_log GROUP BY type",
"hide": 0,
@@ -1498,7 +1494,7 @@
"current": {},
"datasource": {
"type": "grafana-clickhouse-datasource",
- "uid": "${DS_CLICKHOUSE}"
+ "uid": "${datasource}"
},
"definition": "SELECT DISTINCT(initial_user) FROM system.query_log WHERE initial_user != '' LIMIT 100",
"hide": 0,
diff --git a/panels/grafana-clickhouse-datasource/go_plugin_build_manifest b/panels/grafana-clickhouse-datasource/go_plugin_build_manifest
index 62a197ecdc..87145712c6 100755
--- a/panels/grafana-clickhouse-datasource/go_plugin_build_manifest
+++ b/panels/grafana-clickhouse-datasource/go_plugin_build_manifest
@@ -1,11 +1,12 @@
04707ad0a7f03cb6ab28466b82d791e7578c8d11274c4855d226acf11d5ecafb:Magefile.go
-5ec8cc22adb0d2889564e93acf7e334b87a9dbd2931c5c25edc60067832d8889:pkg/converters/converters.go
-31c432a8162192e5041a9dd6115fe69d70c7c0d991fda7c76265db826b19710b:pkg/converters/converters_test.go
-7f9ba89b1d9d48149e18bca15339b6af2cbcd7f69b1f6c3ab9017fee03115a7c:pkg/macros/macros.go
-47701114bcd076588c7a785e7bc8a626a1ecee93885cc24cd0ace20ed66c779c:pkg/macros/macros_test.go
-517e6c02490ef04bab7d874e6899c4a7029b3cb5a39da7eb90c6a695bc4f217a:pkg/main.go
-3f15ebf00ab8ba6a77b39478c714e89296574f64613b43c2d54dc564c99655f2:pkg/plugin/driver.go
-ea4107f16d9e250c1280c0874d737452489aa7136380207a60690a1c5f6aa984:pkg/plugin/driver_test.go
-497eae8c8c9b24bc0689060ae49f40cefd07d77e97f9185ced2943ecad204408:pkg/plugin/errors.go
-c72edefb1c56761415a27e87f303c56f2a5eaeba9f651e972957ba489f2fa695:pkg/plugin/settings.go
-05b394efbd34ffeae9d7dd28002d6407f2babdb00b9930c52bff63e5086a8c10:pkg/plugin/settings_test.go
+b1b7d81ede3e77030ef6772b423be27866ce8411cd0bddf2f9e6c109fbc519a0:e2e/e2e_test.go
+f8ca2990d3b4fdf05b3ddda43468c2ed0417f615a8f4be58dc303dcee798a867:pkg/converters/converters.go
+487f4b8589b1038fbcfc91ed7f3deba1e33e20d46e89e37426e3d6720be1064f:pkg/converters/converters_test.go
+d1c75fa67ad748b0a8638d7eed32b664c7ab65b3e9981615a12e972f8d0b31b7:pkg/macros/macros.go
+dfdd9b0fb3b339df2430fd9ab0013a7f0bfe5cb1a519ad28a11b68de413e15e0:pkg/macros/macros_test.go
+1963e3f81482ce7b5f1c7527cd9c851ed1a77ce8e7e8e17b040964bfb81f588b:pkg/main.go
+e19e5b3c580c5c76d1ef0cb10bd727647b0ab3f9e0ac29aad4ff449c00bbd25a:pkg/plugin/driver.go
+bd8b4fe75deee5b09b0569d8d600efed97ee40cc95bf99a2007c29bec7dee7a3:pkg/plugin/driver_test.go
+51ee8486dde6fea63e682154446cf3b47376d63b0d60eaadeb5823f792a07ce7:pkg/plugin/errors.go
+380f3edb9a2c6eacf1346e815af29b974c71cd3b23a13bac71284b75623b901b:pkg/plugin/settings.go
+f7b0c64acb78a71c19bf2ed3a0afcd5ac776dab26bbbedc8536da9717d9a91c8:pkg/plugin/settings_test.go
diff --git a/panels/grafana-clickhouse-datasource/gpx_clickhouse_linux_amd64 b/panels/grafana-clickhouse-datasource/gpx_clickhouse_linux_amd64
index 5fbb4d6114..e12685da43 100755
Binary files a/panels/grafana-clickhouse-datasource/gpx_clickhouse_linux_amd64 and b/panels/grafana-clickhouse-datasource/gpx_clickhouse_linux_amd64 differ
diff --git a/panels/grafana-clickhouse-datasource/img/logo.png b/panels/grafana-clickhouse-datasource/img/logo.png
deleted file mode 100644
index 1bafdd78bc..0000000000
Binary files a/panels/grafana-clickhouse-datasource/img/logo.png and /dev/null differ
diff --git a/panels/grafana-clickhouse-datasource/img/logo.svg b/panels/grafana-clickhouse-datasource/img/logo.svg
index 3d284dea3a..d3a6e6bf71 100644
--- a/panels/grafana-clickhouse-datasource/img/logo.svg
+++ b/panels/grafana-clickhouse-datasource/img/logo.svg
@@ -1 +1,8 @@
-
\ No newline at end of file
+
diff --git a/panels/grafana-clickhouse-datasource/module.js b/panels/grafana-clickhouse-datasource/module.js
index 0b3efec2dd..2fbb233eed 100644
--- a/panels/grafana-clickhouse-datasource/module.js
+++ b/panels/grafana-clickhouse-datasource/module.js
@@ -1,24 +1,24 @@
-define(["@grafana/data","@grafana/runtime","lodash","rxjs","@grafana/ui","react","@emotion/css"],((e,s,t,r,a,n,o)=>(()=>{var l={7799:function(e,s){var t,r=function(){var e=function(e,s,t,r){for(t=t||{},r=e.length;r--;t[e[r]]=s);return t},s=[1,8],t=[1,4],r=[2,4],a=[1,11],n=[1,10],o=[2,16],l=[1,14],i=[1,15],c=[1,16],p=[6,8],m=[2,145],u=[1,19],b=[1,20],_=[16,33,35,36,37,38,39,40,41,42,45,46,50,51,54,55,57,58,60,75,78,80,81,82,83,85,86,87,100],y=[16,18,32,33,35,36,37,38,39,40,41,42,45,46,50,51,54,55,57,58,60,75,78,80,81,82,83,85,86,87,100],$=[2,159],d=[1,29],f=[6,8,14,17,145,149,151,153],h=[1,42],x=[1,59],w=[1,51],k=[1,58],v=[1,60],g=[1,61],A=[1,62],E=[1,63],O=[1,64],T=[1,57],S=[1,52],C=[1,53],N=[1,54],L=[1,55],I=[1,56],R=[1,43],q=[1,44],j=[1,45],P=[1,34],F=[16,35,36,37,38,39,40,41,42,45,46,50,51,54,55,57,58,60,75,78,80,81,82,83,85,86,87,100],D=[6,8,14,17,149,151,153],B=[2,142],U=[1,73],M=[1,74],H=[6,8,14,17,43,132,137,143,145,149,151,153],G=[1,79],z=[1,76],W=[1,77],K=[1,78],Q=[1,80],V=[6,8,14,17,36,43,49,50,51,70,71,73,76,88,106,123,124,125,126,128,132,134,137,140,141,143,145,149,151,153,156,163,164,166,167,172,176,178,179,181],Y=[6,8,14,17,34,36,43,49,50,51,70,71,73,76,88,106,111,112,113,114,115,116,120,123,124,125,126,128,132,134,137,140,141,143,145,149,151,153,156,163,164,166,167,172,176,178,179,181],J=[1,101],X=[1,99],Z=[1,100],ee=[1,95],se=[1,96],te=[1,97],re=[1,98],ae=[1,102],ne=[1,103],oe=[1,104],le=[1,105],ie=[1,106],ce=[1,107],pe=[2,102],me=[6,8,14,17,34,36,43,45,49,50,51,70,71,73,76,78,80,88,90,91,92,93,94,95,96,97,98,100,104,105,106,107,108,109,111,112,113,114,115,116,120,123,124,125,126,128,132,134,137,140,141,143,145,149,151,153,156,163,164,166,167,172,176,178,179,181],ue=[6,8,14,17,34,36,43,45,49,50,51,70,71,73,76,78,80,88,90,91,92,93,94,95,96,97,98,100,102,104,105,106,107,108,109,111,112,113,114,115,116,120,123,124,125,126,128,132,134,137,140,141,143,145,149,151,153,156,163,164,166,167,172,176,178,179,181],be=[1,108],_e=[1,115],ye=[2,63],$e=[1,116],de=[16,35,37,38,39,40,41,42,45,46,50,51,54,55,57,58,60,75,78,80,81,82,83,85,86,87,100],fe=[16,29,35,50,51,54,55,57,58,60,75,78,80,81,82,83,85,86,87,118],he=[1,162],xe=[17,43],we=[2,58],ke=[1,171],ve=[1,169],ge=[1,170],Ae=[6,8,137,145],Ee=[16,35,38,39,40,41,42,45,46,50,51,54,55,57,58,60,75,78,80,81,82,83,85,86,87,100],Oe=[6,8,14,17,137,143,145,149,151,153],Te=[6,8,14,17,36,43,49,50,51,70,71,73,76,88,124,125,126,128,132,134,137,140,141,143,145,149,151,153,156,163,164,166,167,172,176,178,179,181],Se=[6,8,14,17,34,36,43,49,50,51,70,71,73,76,88,90,91,92,93,98,100,104,105,106,107,108,109,111,112,113,114,115,116,120,123,124,125,126,128,132,134,137,140,141,143,145,149,151,153,156,163,164,166,167,172,176,178,179,181],Ce=[6,8,14,17,34,36,43,49,50,51,70,71,73,76,78,80,88,90,91,92,93,98,100,104,105,106,107,108,109,111,112,113,114,115,116,120,123,124,125,126,128,132,134,137,140,141,143,145,149,151,153,156,163,164,166,167,172,176,178,179,181],Ne=[16,35,39,40,41,42,45,46,50,51,54,55,57,58,60,75,78,80,81,82,83,85,86,87,100],Le=[16,35,40,41,42,45,46,50,51,54,55,57,58,60,75,78,80,81,82,83,85,86,87,100],Ie=[16,35,42,45,46,50,51,54,55,57,58,60,75,78,80,81,82,83,85,86,87,100],Re=[70,73,76],qe=[16,35,45,46,50,51,54,55,57,58,60,75,78,80,81,82,83,85,86,87,100],je=[1,231],Pe=[1,232],Fe=[6,8,14,17],De=[6,8,14,17,43,156],Be=[1,249],Ue=[1,245],Me=[2,196],He=[1,253],Ge=[1,254],ze=[6,8,14,17,43,128,134,137,143,145,149,151,153,181],We=[1,256],Ke=[1,259],Qe=[1,260],Ve=[1,261],Ye=[1,262],Je=[2,173],Xe=[1,258],Ze=[6,8,14,17,36,43,88,128,134,137,143,145,149,151,153,163,164,166,167,172,176,178,179,181],es=[6,8,14,17,134,137,143,145,149,151,153],ss=[1,274],ts=[2,178],rs=[169,172],as=[6,8,14,17,36,43,88,128,134,137,143,145,149,151,153,163,164,166,167,172,176,178,179,181,191,192,193],ns=[2,198],os=[1,279],ls=[1,291],is=[1,299],cs=[1,300],ps=[1,301],ms=[6,8,14,17,137,145,149,151,153],us=[1,311],bs=[1,317],_s=[1,318],ys=[2,203],$s=[1,329],ds=[16,151],fs=[6,8,14,17,151,153],hs=[1,345],xs={trace:function(){},yy:{},symbols_:{error:2,main:3,selectClause:4,semicolonOpt:5,EOF:6,unionClause:7,";":8,unionClauseNotParenthesized:9,unionClauseParenthesized:10,order_by_opt:11,limit_opt:12,selectClauseParenthesized:13,UNION:14,distinctOpt:15,"(":16,")":17,SELECT:18,highPriorityOpt:19,maxStateMentTimeOpt:20,straightJoinOpt:21,sqlSmallResultOpt:22,sqlBigResultOpt:23,sqlBufferResultOpt:24,sqlCacheOpt:25,sqlCalcFoundRowsOpt:26,selectExprList:27,selectDataSetOpt:28,ALL:29,DISTINCT:30,DISTINCTROW:31,HIGH_PRIORITY:32,MAX_STATEMENT_TIME:33,"=":34,NUMERIC:35,STRAIGHT_JOIN:36,SQL_SMALL_RESULT:37,SQL_BIG_RESULT:38,SQL_BUFFER_RESULT:39,SQL_CACHE:40,SQL_NO_CACHE:41,SQL_CALC_FOUND_ROWS:42,",":43,selectExpr:44,"*":45,SELECT_EXPR_STAR:46,expr:47,selectExprAliasOpt:48,AS:49,IDENTIFIER:50,STRING:51,string:52,number:53,EXPONENT_NUMERIC:54,HEX_NUMERIC:55,boolean:56,TRUE:57,FALSE:58,null:59,NULL:60,literal:61,function_call:62,function_call_param_list:63,function_call_param:64,identifier:65,DOT:66,identifier_list:67,case_expr_opt:68,when_then_list:69,WHEN:70,THEN:71,case_when_else:72,ELSE:73,case_when:74,CASE:75,END:76,simple_expr_prefix:77,"+":78,simple_expr:79,"-":80,"~":81,"!":82,BINARY:83,expr_list:84,ROW:85,EXISTS:86,"{":87,"}":88,bit_expr:89,"|":90,"&":91,"<<":92,">>":93,"/":94,DIV:95,MOD:96,"%":97,"^":98,not_opt:99,NOT:100,escape_opt:101,ESCAPE:102,predicate:103,IN:104,BETWEEN:105,AND:106,SOUNDS:107,LIKE:108,REGEXP:109,comparison_operator:110,">=":111,">":112,"<=":113,"<":114,"<>":115,"!=":116,sub_query_data_set_opt:117,ANY:118,boolean_primary:119,IS:120,boolean_extra:121,UNKNOWN:122,"&&":123,"||":124,OR:125,XOR:126,where_opt:127,WHERE:128,group_by_opt:129,group_by:130,roll_up_opt:131,WITH:132,ROLLUP:133,GROUP_BY:134,group_by_order_by_item_list:135,order_by:136,ORDER_BY:137,group_by_order_by_item:138,sort_opt:139,ASC:140,DESC:141,having_opt:142,HAVING:143,limit:144,LIMIT:145,OFFSET:146,procedure_opt:147,procedure:148,PROCEDURE:149,for_update_lock_in_share_mode_opt:150,FOR:151,UPDATE:152,LOCK:153,SHARE:154,MODE:155,FROM:156,table_references:157,partitionOpt:158,escaped_table_reference:159,table_reference:160,OJ:161,join_inner_cross:162,INNER:163,CROSS:164,left_right:165,LEFT:166,RIGHT:167,out_opt:168,OUTER:169,left_right_out_opt:170,join_table:171,JOIN:172,table_factor:173,join_condition:174,on_join_condition:175,NATURAL:176,join_condition_opt:177,ON:178,USING:179,partition_names:180,PARTITION:181,aliasOpt:182,index_or_key:183,INDEX:184,KEY:185,for_opt:186,identifier_list_opt:187,index_hint_list_opt:188,index_hint_list:189,index_hint:190,USE:191,IGNORE:192,FORCE:193,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:";",14:"UNION",16:"(",17:")",18:"SELECT",29:"ALL",30:"DISTINCT",31:"DISTINCTROW",32:"HIGH_PRIORITY",33:"MAX_STATEMENT_TIME",34:"=",35:"NUMERIC",36:"STRAIGHT_JOIN",37:"SQL_SMALL_RESULT",38:"SQL_BIG_RESULT",39:"SQL_BUFFER_RESULT",40:"SQL_CACHE",41:"SQL_NO_CACHE",42:"SQL_CALC_FOUND_ROWS",43:",",45:"*",46:"SELECT_EXPR_STAR",49:"AS",50:"IDENTIFIER",51:"STRING",54:"EXPONENT_NUMERIC",55:"HEX_NUMERIC",57:"TRUE",58:"FALSE",60:"NULL",66:"DOT",70:"WHEN",71:"THEN",73:"ELSE",75:"CASE",76:"END",78:"+",80:"-",81:"~",82:"!",83:"BINARY",85:"ROW",86:"EXISTS",87:"{",88:"}",90:"|",91:"&",92:"<<",93:">>",94:"/",95:"DIV",96:"MOD",97:"%",98:"^",100:"NOT",102:"ESCAPE",104:"IN",105:"BETWEEN",106:"AND",107:"SOUNDS",108:"LIKE",109:"REGEXP",111:">=",112:">",113:"<=",114:"<",115:"<>",116:"!=",118:"ANY",120:"IS",122:"UNKNOWN",123:"&&",124:"||",125:"OR",126:"XOR",128:"WHERE",132:"WITH",133:"ROLLUP",134:"GROUP_BY",137:"ORDER_BY",140:"ASC",141:"DESC",143:"HAVING",145:"LIMIT",146:"OFFSET",149:"PROCEDURE",151:"FOR",152:"UPDATE",153:"LOCK",154:"SHARE",155:"MODE",156:"FROM",161:"OJ",163:"INNER",164:"CROSS",166:"LEFT",167:"RIGHT",169:"OUTER",172:"JOIN",176:"NATURAL",178:"ON",179:"USING",181:"PARTITION",184:"INDEX",185:"KEY",191:"USE",192:"IGNORE",193:"FORCE"},productions_:[0,[3,3],[3,3],[5,1],[5,0],[7,1],[7,3],[10,4],[10,4],[13,3],[9,4],[9,4],[4,12],[15,1],[15,1],[15,1],[15,0],[19,1],[19,0],[20,3],[20,0],[21,1],[21,0],[22,1],[22,0],[23,1],[23,0],[24,1],[24,0],[25,0],[25,1],[25,1],[26,1],[26,0],[27,3],[27,1],[44,1],[44,1],[44,2],[48,0],[48,2],[48,1],[48,2],[48,1],[52,1],[53,1],[53,1],[53,1],[56,1],[56,1],[59,1],[61,1],[61,1],[61,1],[61,1],[62,4],[63,3],[63,1],[64,0],[64,1],[64,1],[64,2],[64,1],[65,1],[65,3],[67,1],[67,3],[68,0],[68,1],[69,4],[69,5],[72,0],[72,2],[74,5],[77,2],[77,2],[77,2],[77,2],[77,2],[79,1],[79,1],[79,1],[79,1],[79,3],[79,4],[79,3],[79,4],[79,4],[79,1],[89,1],[89,3],[89,3],[89,3],[89,3],[89,3],[89,3],[89,3],[89,3],[89,3],[89,3],[89,3],[89,3],[99,0],[99,1],[101,0],[101,2],[103,1],[103,6],[103,6],[103,6],[103,4],[103,5],[103,4],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[117,1],[117,1],[119,1],[119,4],[119,3],[119,6],[121,1],[121,1],[47,1],[47,4],[47,2],[47,3],[47,3],[47,3],[47,3],[47,3],[84,1],[84,3],[127,0],[127,2],[129,0],[129,1],[131,0],[131,2],[130,3],[11,0],[11,1],[136,3],[135,1],[135,3],[138,2],[139,0],[139,1],[139,1],[142,0],[142,2],[144,2],[144,4],[144,4],[12,0],[12,1],[147,0],[147,1],[148,2],[150,0],[150,2],[150,4],[28,0],[28,10],[157,1],[157,3],[159,1],[159,4],[162,0],[162,1],[162,1],[165,1],[165,1],[168,0],[168,1],[170,0],[170,2],[171,4],[171,5],[171,4],[171,6],[171,5],[177,0],[177,1],[175,2],[174,1],[174,4],[160,1],[160,1],[180,1],[180,3],[158,0],[158,4],[182,0],[182,2],[182,1],[183,1],[183,1],[186,0],[186,2],[186,2],[186,2],[187,0],[187,1],[188,0],[188,1],[189,1],[189,3],[190,6],[190,6],[190,6],[173,4],[173,4],[173,3]],performAction:function(e,s,t,r,a,n,o){var l=n.length-1;switch(a){case 1:case 2:return{nodeType:"Main",value:n[l-2],hasSemicolon:n[l-1]};case 3:case 143:this.$=!0;break;case 4:this.$=!1;break;case 5:case 13:case 14:case 15:case 17:case 19:case 21:case 23:case 25:case 27:case 30:case 31:case 32:case 51:case 52:case 53:case 54:case 59:case 60:case 62:case 68:case 72:case 79:case 80:case 81:case 82:case 88:case 89:case 103:case 105:case 106:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:case 126:case 128:case 139:case 141:case 146:case 152:case 153:case 155:case 160:case 162:case 163:case 174:case 175:case 176:case 177:case 179:case 188:case 190:case 192:case 193:case 201:case 202:case 208:case 210:this.$=n[l];break;case 6:this.$=n[l-2],this.$.orderBy=n[l-1],this.$.limit=n[l];break;case 7:case 8:case 10:case 11:this.$={type:"Union",left:n[l-3],distinctOpt:n[l-1],right:n[l]};break;case 9:this.$={type:"SelectParenthesized",value:n[l-1]};break;case 12:this.$={type:"Select",distinctOpt:n[l-10],highPriorityOpt:n[l-9],maxStateMentTimeOpt:n[l-8],straightJoinOpt:n[l-7],sqlSmallResultOpt:n[l-6],sqlBigResultOpt:n[l-5],sqlBufferResultOpt:n[l-4],sqlCacheOpt:n[l-3],sqlCalcFoundRowsOpt:n[l-2],selectItems:n[l-1],from:n[l].from,partition:n[l].partition,where:n[l].where,groupBy:n[l].groupBy,having:n[l].having,orderBy:n[l].orderBy,limit:n[l].limit,procedure:n[l].procedure,updateLockMode:n[l].updateLockMode};break;case 16:case 18:case 20:case 22:case 24:case 26:case 28:case 29:case 33:case 58:case 67:case 71:case 102:case 104:case 138:case 140:case 142:case 145:case 151:case 154:case 159:case 161:case 164:case 173:case 178:case 187:case 196:case 203:case 207:case 209:this.$=null;break;case 34:n[l-2].value.push(n[l]);break;case 35:this.$={type:"SelectExpr",value:[n[l]]};break;case 36:case 37:case 63:this.$={type:"Identifier",value:n[l]};break;case 38:this.$=n[l-1],this.$.alias=n[l].alias,this.$.hasAs=n[l].hasAs;break;case 39:case 198:this.$={alias:null,hasAs:null};break;case 40:case 42:this.$={alias:n[l],hasAs:!0};break;case 41:this.$={alias:n[l],hasAs:!1};break;case 43:this.$={alias:n[$01],hasAs:!1};break;case 44:this.$={type:"String",value:n[l]};break;case 45:case 46:case 47:this.$={type:"Number",value:n[l]};break;case 48:this.$={type:"Boolean",value:"TRUE"};break;case 49:this.$={type:"Boolean",value:"FALSE"};break;case 50:this.$={type:"Null",value:"null"};break;case 55:this.$={type:"FunctionCall",name:n[l-3],params:n[l-1]};break;case 56:n[l-2].push(n[l]),this.$=n[l-2];break;case 57:case 148:case 194:this.$=[n[l]];break;case 61:this.$={type:"FunctionCallParam",distinctOpt:n[l-1],value:n[l]};break;case 64:this.$=n[l-2],n[l-2].value+="."+n[l];break;case 65:this.$={type:"IdentifierList",value:[n[l]]};break;case 66:case 170:this.$=n[l-2],n[l-2].value.push(n[l]);break;case 69:this.$={type:"WhenThenList",value:[{when:n[l-2],then:n[l]}]};break;case 70:this.$=n[l-4],this.$.value.push({when:n[l-2],then:n[l]});break;case 73:this.$={type:"CaseWhen",caseExprOpt:n[l-3],whenThenList:n[l-2],else:n[l-1]};break;case 74:case 75:case 76:case 77:case 78:this.$={type:"Prefix",prefix:n[l-1],value:n[l]};break;case 83:this.$={type:"SimpleExprParentheses",value:n[l-1]};break;case 84:this.$={type:"SimpleExprParentheses",value:n[l-2],hasRow:!0};break;case 85:this.$={type:"SubQuery",value:n[l-1]};break;case 86:this.$={type:"SubQuery",value:n[l-1],hasExists:!0};break;case 87:this.$={type:"IdentifierExpr",identifier:n[l-2],value:n[l-1]};break;case 90:this.$={type:"BitExpression",operator:"|",left:n[l-2],right:n[l]};break;case 91:this.$={type:"BitExpression",operator:"&",left:n[l-2],right:n[l]};break;case 92:this.$={type:"BitExpression",operator:"<<",left:n[l-2],right:n[l]};break;case 93:this.$={type:"BitExpression",operator:">>",left:n[l-2],right:n[l]};break;case 94:this.$={type:"BitExpression",operator:"+",left:n[l-2],right:n[l]};break;case 95:this.$={type:"BitExpression",operator:"-",left:n[l-2],right:n[l]};break;case 96:this.$={type:"BitExpression",operator:"*",left:n[l-2],right:n[l]};break;case 97:this.$={type:"BitExpression",operator:"/",left:n[l-2],right:n[l]};break;case 98:this.$={type:"BitExpression",operator:"DIV",left:n[l-2],right:n[l]};break;case 99:this.$={type:"BitExpression",operator:"MOD",left:n[l-2],right:n[l]};break;case 100:this.$={type:"BitExpression",operator:"%",left:n[l-2],right:n[l]};break;case 101:this.$={type:"BitExpression",operator:"^",left:n[l-2],right:n[l]};break;case 107:this.$={type:"InSubQueryPredicate",hasNot:n[l-4],left:n[l-5],right:n[l-1]};break;case 108:this.$={type:"InExpressionListPredicate",hasNot:n[l-4],left:n[l-5],right:n[l-1]};break;case 109:this.$={type:"BetweenPredicate",hasNot:n[l-4],left:n[l-5],right:{left:n[l-2],right:n[l]}};break;case 110:this.$={type:"SoundsLikePredicate",hasNot:!1,left:n[l-3],right:n[l]};break;case 111:this.$={type:"LikePredicate",hasNot:n[l-3],left:n[l-4],right:n[l-1],escape:n[l]};break;case 112:this.$={type:"RegexpPredicate",hasNot:n[l-2],left:n[l-3],right:n[l]};break;case 123:this.$={type:"IsNullBooleanPrimary",hasNot:n[l-1],value:n[l-3]};break;case 124:this.$={type:"ComparisonBooleanPrimary",left:n[l-2],operator:n[l-1],right:n[l]};break;case 125:this.$={type:"ComparisonSubQueryBooleanPrimary",operator:n[l-4],subQueryOpt:n[l-3],left:n[l-5],right:n[l-1]};break;case 127:this.$={type:"BooleanExtra",value:n[l]};break;case 129:this.$={type:"IsExpression",hasNot:n[l-1],left:n[l-3],right:n[l]};break;case 130:this.$={type:"NotExpression",value:n[l]};break;case 131:case 134:this.$={type:"AndExpression",operator:n[l-1],left:n[l-2],right:n[l]};break;case 132:case 133:this.$={type:"OrExpression",operator:n[l-1],left:n[l-2],right:n[l]};break;case 135:this.$={type:"XORExpression",left:n[l-2],right:n[l]};break;case 136:this.$={type:"ExpressionList",value:[n[l]]};break;case 137:case 212:this.$=n[l-2],this.$.value.push(n[l]);break;case 144:this.$={type:"GroupBy",value:n[l-1],rollUp:n[l]};break;case 147:this.$={type:"OrderBy",value:n[l-1],rollUp:n[l]};break;case 149:case 195:this.$=n[l-2],n[l-2].push(n[l]);break;case 150:this.$={type:"GroupByOrderByItem",value:n[l-1],sortOpt:n[l]};break;case 156:this.$={type:"Limit",value:[n[l]]};break;case 157:this.$={type:"Limit",value:[n[l-2],n[l]]};break;case 158:this.$={type:"Limit",value:[n[l],n[l-2]],offsetMode:!0};break;case 165:this.$=n[l-1]+" "+n[l];break;case 166:this.$=n[l-3]+" "+n[l-2]+" "+n[l-1]+" "+n[l];break;case 167:this.$={};break;case 168:this.$={from:n[l-8],partition:n[l-7],where:n[l-6],groupBy:n[l-5],having:n[l-4],orderBy:n[l-3],limit:n[l-2],procedure:n[l-1],updateLockMode:n[l]};break;case 169:this.$={type:"TableReferences",value:[n[l]]};break;case 171:this.$={type:"TableReference",value:n[l]};break;case 172:this.$={type:"TableReference",hasOj:!0,value:n[l-1]};break;case 180:this.$={leftRight:null,outOpt:null};break;case 181:this.$={leftRight:n[l-1],outOpt:n[l]};break;case 182:this.$={type:"InnerCrossJoinTable",innerCrossOpt:n[l-2],left:n[l-3],right:n[l],condition:null};break;case 183:this.$={type:"InnerCrossJoinTable",innerCrossOpt:n[l-3],left:n[l-4],right:n[l-1],condition:n[l]};break;case 184:this.$={type:"StraightJoinTable",left:n[l-3],right:n[l-1],condition:n[l]};break;case 185:this.$={type:"LeftRightJoinTable",leftRight:n[l-4],outOpt:n[l-3],left:n[l-5],right:n[l-1],condition:n[l]};break;case 186:this.$={type:"NaturalJoinTable",leftRight:n[l-2].leftRight,outOpt:n[l-2].outOpt,left:n[l-4],right:n[l]};break;case 189:this.$={type:"OnJoinCondition",value:n[l]};break;case 191:this.$={type:"UsingJoinCondition",value:n[l-1]};break;case 197:this.$={type:"Partitions",value:n[l-1]};break;case 199:this.$={hasAs:!0,alias:n[l]};break;case 200:this.$={hasAs:!1,alias:n[l]};break;case 204:case 205:case 206:this.$={type:"ForOptIndexHint",value:n[l]};break;case 211:this.$={type:"IndexHintList",value:[n[l]]};break;case 213:this.$={type:"UseIndexHint",value:n[l-1],forOpt:n[l-3],indexOrKey:n[l-4]};break;case 214:this.$={type:"IgnoreIndexHint",value:n[l-1],forOpt:n[l-3],indexOrKey:n[l-4]};break;case 215:this.$={type:"ForceIndexHint",value:n[l-1],forOpt:n[l-3],indexOrKey:n[l-4]};break;case 216:this.$={type:"TableFactor",value:n[l-3],partition:n[l-2],alias:n[l-1].alias,hasAs:n[l-1].hasAs,indexHintOpt:n[l]};break;case 217:this.$={type:"TableFactor",value:{type:"SubQuery",value:n[l-2]},alias:n[l].alias,hasAs:n[l].hasAs};break;case 218:this.$=n[l-1],this.$.hasParentheses=!0}},table:[{3:1,4:2,7:3,9:5,10:6,13:7,16:s,18:t},{1:[3]},{5:9,6:r,8:a,14:n},{5:12,6:r,8:a},e([16,32,33,35,36,37,38,39,40,41,42,45,46,50,51,54,55,57,58,60,75,78,80,81,82,83,85,86,87,100],o,{15:13,29:l,30:i,31:c}),e(p,[2,5]),e([6,8,145],m,{11:17,136:18,137:u}),{14:b},{4:21,18:t},{6:[1,22]},{15:23,18:o,29:l,30:i,31:c},{6:[2,3]},{6:[1,24]},e(_,[2,18],{19:25,32:[1,26]}),e(y,[2,13]),e(y,[2,14]),e(y,[2,15]),e(p,$,{12:27,144:28,145:d}),e(f,[2,146]),{16:h,35:x,47:32,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33,135:30,138:31},{15:65,16:o,29:l,30:i,31:c},{17:[1,66]},{1:[2,1]},{4:67,9:68,18:t},{1:[2,2]},e(F,[2,20],{20:69,33:[1,70]}),e(_,[2,17]),e(p,[2,6]),e(D,[2,160]),{35:[1,71]},e(f,B,{131:72,43:U,132:M}),e(H,[2,148]),e(H,[2,151],{139:75,106:G,123:z,124:W,125:K,126:Q,140:[1,81],141:[1,82]}),e(V,[2,128],{110:84,34:[1,85],111:[1,86],112:[1,87],113:[1,88],114:[1,89],115:[1,90],116:[1,91],120:[1,83]}),{16:h,35:x,47:92,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33},e(Y,[2,122]),e(Y,[2,106],{99:93,45:J,78:X,80:Z,90:ee,91:se,92:te,93:re,94:ae,95:ne,96:oe,97:le,98:ie,100:ce,104:pe,105:pe,108:pe,109:pe,107:[1,94]}),e(me,[2,89]),e(ue,[2,79]),e(ue,[2,80],{66:be}),e(ue,[2,81]),e(ue,[2,82]),{4:110,16:h,18:t,35:x,47:111,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,84:109,85:R,86:q,87:j,89:36,100:P,103:35,119:33},{16:[1,112]},{16:[1,113]},{50:_e,65:114},e(ue,[2,88]),e(ue,[2,51]),e(ue,[2,52]),e(ue,[2,53]),e(ue,[2,54]),e([6,8,14,17,34,36,43,45,49,50,51,66,70,71,73,76,78,80,88,90,91,92,93,94,95,96,97,98,100,102,104,105,106,107,108,109,111,112,113,114,115,116,120,123,124,125,126,128,132,134,137,140,141,143,145,149,151,153,156,163,164,166,167,172,176,178,179,181],ye,{16:$e}),{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:117,80:C,81:N,82:L,83:I,85:R,86:q,87:j},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:118,80:C,81:N,82:L,83:I,85:R,86:q,87:j},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:119,80:C,81:N,82:L,83:I,85:R,86:q,87:j},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:120,80:C,81:N,82:L,83:I,85:R,86:q,87:j},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:121,80:C,81:N,82:L,83:I,85:R,86:q,87:j},{16:h,35:x,47:123,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,68:122,70:[2,67],74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33},e(ue,[2,44]),e(ue,[2,45]),e(ue,[2,46]),e(ue,[2,47]),e(ue,[2,48]),e(ue,[2,49]),e(ue,[2,50]),{10:125,13:124,16:s},e([6,8,14,137,145],[2,9]),e(p,[2,10],{14:n}),e(p,[2,11]),e(de,[2,22],{21:126,36:[1,127]}),{34:[1,128]},e(D,[2,156],{43:[1,129],146:[1,130]}),e(f,[2,147]),{16:h,35:x,47:32,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33,138:131},{133:[1,132]},e(H,[2,150]),{16:h,35:x,47:133,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33},{16:h,35:x,47:134,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33},{16:h,35:x,47:135,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33},{16:h,35:x,47:136,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33},{16:h,35:x,47:137,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33},e(H,[2,152]),e(H,[2,153]),e([57,58,60,122],pe,{99:138,100:ce}),{16:h,29:[1,141],35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,103:139,117:140,118:[1,142]},e(fe,[2,113]),e(fe,[2,114]),e(fe,[2,115]),e(fe,[2,116]),e(fe,[2,117]),e(fe,[2,118]),e(fe,[2,119]),e(V,[2,130]),{104:[1,143],105:[1,144],108:[1,145],109:[1,146]},{108:[1,147]},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:148},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:149},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:150},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:151},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:152},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:153},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:154},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:155},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:156},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:157},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:158},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:159},e([57,58,60,104,105,108,109,122],[2,103]),{50:[1,160]},{17:[1,161],43:he},{17:[1,163]},e(xe,[2,136],{106:G,123:z,124:W,125:K,126:Q}),{16:h,35:x,47:111,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,84:164,85:R,86:q,87:j,89:36,100:P,103:35,119:33},{4:165,18:t},{16:h,35:x,47:166,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,66:be,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33},e([6,8,14,16,17,35,36,43,49,50,51,54,55,57,58,60,66,75,78,80,81,82,83,85,86,87,88,100,128,134,137,143,145,149,151,153,163,164,166,167,172,176,178,179,181,191,192,193],ye),e(xe,we,{119:33,103:35,89:36,79:37,61:38,65:39,62:40,77:41,74:46,52:47,53:48,56:49,59:50,63:167,64:168,47:172,16:h,30:ke,35:x,45:ve,46:ge,50:w,51:k,54:v,55:g,57:A,58:E,60:O,75:T,78:S,80:C,81:N,82:L,83:I,85:R,86:q,87:j,100:P}),e(ue,[2,74]),e(ue,[2,75]),e(ue,[2,76]),e(ue,[2,77]),e(ue,[2,78]),{69:173,70:[1,174]},{70:[2,68],106:G,123:z,124:W,125:K,126:Q},e(Ae,[2,7],{14:b}),e(Ae,[2,8]),e(Ee,[2,24],{22:175,37:[1,176]}),e(de,[2,21]),{35:[1,177]},{35:[1,178]},{35:[1,179]},e(H,[2,149]),e(Oe,[2,143]),e(V,[2,131]),e(Te,[2,132],{106:G,123:z}),e(Te,[2,133],{106:G,123:z}),e(V,[2,134]),e(Te,[2,135],{106:G,123:z}),{56:182,57:A,58:E,60:[1,181],121:180,122:[1,183]},e(Y,[2,124]),{16:[1,184]},{16:[2,120]},{16:[2,121]},{16:[1,185]},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:186},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:187,80:C,81:N,82:L,83:I,85:R,86:q,87:j},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:188},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:189},e([6,8,14,17,34,36,43,49,50,51,70,71,73,76,88,90,100,104,105,106,107,108,109,111,112,113,114,115,116,120,123,124,125,126,128,132,134,137,140,141,143,145,149,151,153,156,163,164,166,167,172,176,178,179,181],[2,90],{45:J,78:X,80:Z,91:se,92:te,93:re,94:ae,95:ne,96:oe,97:le,98:ie}),e([6,8,14,17,34,36,43,49,50,51,70,71,73,76,88,90,91,98,100,104,105,106,107,108,109,111,112,113,114,115,116,120,123,124,125,126,128,132,134,137,140,141,143,145,149,151,153,156,163,164,166,167,172,176,178,179,181],[2,91],{45:J,78:X,80:Z,92:te,93:re,94:ae,95:ne,96:oe,97:le}),e(Se,[2,92],{45:J,78:X,80:Z,94:ae,95:ne,96:oe,97:le}),e(Se,[2,93],{45:J,78:X,80:Z,94:ae,95:ne,96:oe,97:le}),e(Ce,[2,94],{45:J,94:ae,95:ne,96:oe,97:le}),e(Ce,[2,95],{45:J,94:ae,95:ne,96:oe,97:le}),e(me,[2,96]),e(me,[2,97]),e(me,[2,98]),e(me,[2,99]),e(me,[2,100]),e([6,8,14,17,34,36,43,49,50,51,70,71,73,76,88,90,98,100,104,105,106,107,108,109,111,112,113,114,115,116,120,123,124,125,126,128,132,134,137,140,141,143,145,149,151,153,156,163,164,166,167,172,176,178,179,181],[2,101],{45:J,78:X,80:Z,91:se,92:te,93:re,94:ae,95:ne,96:oe,97:le}),e([6,8,14,16,17,34,35,36,43,45,49,50,51,54,55,57,58,60,66,70,71,73,75,76,78,80,81,82,83,85,86,87,88,90,91,92,93,94,95,96,97,98,100,102,104,105,106,107,108,109,111,112,113,114,115,116,120,123,124,125,126,128,132,134,137,140,141,143,145,149,151,153,156,163,164,166,167,172,176,178,179,181,191,192,193],[2,64]),e(ue,[2,83]),{16:h,35:x,47:190,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33},e(ue,[2,85]),{17:[1,191],43:he},{17:[1,192]},{88:[1,193],106:G,123:z,124:W,125:K,126:Q},{17:[1,194],43:[1,195]},e(xe,[2,57]),e(xe,[2,59]),e(xe,[2,60]),{16:h,35:x,47:196,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33},e(xe,[2,62],{106:G,123:z,124:W,125:K,126:Q}),{70:[1,198],72:197,73:[1,199],76:[2,71]},{16:h,35:x,47:200,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33},e(Ne,[2,26],{23:201,38:[1,202]}),e(Ee,[2,23]),e(F,[2,19]),e(D,[2,157]),e(D,[2,158]),e(V,[2,129]),e(Y,[2,123]),e(V,[2,126]),e(V,[2,127]),{4:203,18:t},{4:204,16:h,18:t,35:x,47:111,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,84:205,85:R,86:q,87:j,89:36,100:P,103:35,119:33},{45:J,78:X,80:Z,90:ee,91:se,92:te,93:re,94:ae,95:ne,96:oe,97:le,98:ie,106:[1,206]},e(Y,[2,104],{101:207,102:[1,208]}),e(Y,[2,112],{45:J,78:X,80:Z,90:ee,91:se,92:te,93:re,94:ae,95:ne,96:oe,97:le,98:ie}),e(Y,[2,110],{45:J,78:X,80:Z,90:ee,91:se,92:te,93:re,94:ae,95:ne,96:oe,97:le,98:ie}),e(xe,[2,137],{106:G,123:z,124:W,125:K,126:Q}),e(ue,[2,84]),e(ue,[2,86]),e(ue,[2,87]),e(ue,[2,55]),e(xe,we,{119:33,103:35,89:36,79:37,61:38,65:39,62:40,77:41,74:46,52:47,53:48,56:49,59:50,47:172,64:209,16:h,30:ke,35:x,45:ve,46:ge,50:w,51:k,54:v,55:g,57:A,58:E,60:O,75:T,78:S,80:C,81:N,82:L,83:I,85:R,86:q,87:j,100:P}),e(xe,[2,61],{106:G,123:z,124:W,125:K,126:Q}),{76:[1,210]},{16:h,35:x,47:211,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33},{16:h,35:x,47:212,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33},{71:[1,213],106:G,123:z,124:W,125:K,126:Q},e(Le,[2,28],{24:214,39:[1,215]}),e(Ne,[2,25]),{17:[1,216]},{17:[1,217]},{17:[1,218],43:he},{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,103:219},e(Y,[2,111]),{16:h,35:x,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:220,80:C,81:N,82:L,83:I,85:R,86:q,87:j},e(xe,[2,56]),e(ue,[2,73]),{71:[1,221],106:G,123:z,124:W,125:K,126:Q},{76:[2,72],106:G,123:z,124:W,125:K,126:Q},{16:h,35:x,47:222,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33},e(Ie,[2,29],{25:223,40:[1,224],41:[1,225]}),e(Le,[2,27]),e(Y,[2,125]),e(Y,[2,107]),e(Y,[2,108]),e(Y,[2,109]),e(Y,[2,105]),{16:h,35:x,47:226,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33},e(Re,[2,69],{106:G,123:z,124:W,125:K,126:Q}),e(qe,[2,33],{26:227,42:[1,228]}),e(Ie,[2,30]),e(Ie,[2,31]),e(Re,[2,70],{106:G,123:z,124:W,125:K,126:Q}),{16:h,27:229,35:x,44:230,45:je,46:Pe,47:233,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33},e(qe,[2,32]),e(Fe,[2,167],{28:234,43:[1,235],156:[1,236]}),e(De,[2,35]),e(De,[2,36]),e(De,[2,37]),e(De,[2,39],{48:237,49:[1,238],50:[1,239],51:[1,240],106:G,123:z,124:W,125:K,126:Q}),e(Fe,[2,12]),{16:h,35:x,44:241,45:je,46:Pe,47:233,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33},{16:Be,50:_e,65:248,87:Ue,157:242,159:243,160:244,171:247,173:246},e(De,[2,38]),{50:[1,250],51:[1,251]},e(De,[2,41]),e(De,[2,43]),e(De,[2,34]),e([6,8,14,17,128,134,137,143,145,149,151,153],Me,{158:252,43:He,181:Ge}),e(ze,[2,169]),e(ze,[2,171],{162:255,165:257,36:We,163:Ke,164:Qe,166:Ve,167:Ye,172:Je,176:Xe}),{161:[1,263]},e(Ze,[2,192]),e(Ze,[2,193]),e([6,8,14,17,36,43,49,50,88,128,134,137,143,145,149,151,153,163,164,166,167,172,176,178,179,191,192,193],Me,{158:264,66:be,181:Ge}),{4:265,16:Be,18:t,50:_e,65:248,87:Ue,157:266,159:243,160:244,171:247,173:246},e(De,[2,40]),e(De,[2,42]),e(es,[2,138],{127:267,128:[1,268]}),{16:Be,50:_e,65:248,87:Ue,159:269,160:244,171:247,173:246},{16:[1,270]},{172:[1,271]},{16:Be,50:_e,65:248,173:272},{168:273,169:ss,172:ts},{165:276,166:Ve,167:Ye,170:275,172:[2,180]},{172:[2,174]},{172:[2,175]},e(rs,[2,176]),e(rs,[2,177]),{16:Be,50:_e,65:248,160:277,171:247,173:246},e(as,ns,{182:278,65:280,49:os,50:_e}),{17:[1,281]},{17:[1,282],43:He},e(Oe,[2,140],{129:283,130:284,134:[1,285]}),{16:h,35:x,47:286,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33},e(ze,[2,170]),{50:_e,65:288,180:287},{16:Be,50:_e,65:248,173:289},{175:290,178:ls},{172:[1,292]},{172:[2,179]},{172:[1,293]},{168:294,169:ss,172:ts},{36:We,88:[1,295],162:255,163:Ke,164:Qe,165:257,166:Ve,167:Ye,172:Je,176:Xe},e(Ze,[2,209],{188:296,189:297,190:298,191:is,192:cs,193:ps}),{50:_e,65:302},e(as,[2,200],{66:be}),e(Ze,ns,{65:280,182:303,49:os,50:_e}),e(Ze,[2,218]),e(ms,[2,154],{142:304,143:[1,305]}),e(Oe,[2,141]),{16:h,35:x,47:32,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33,135:306,138:31},e(es,[2,139],{106:G,123:z,124:W,125:K,126:Q}),{17:[1,307],43:[1,308]},e(xe,[2,194],{66:be}),e([6,8,14,17,36,43,88,128,134,137,143,145,149,151,153,163,164,166,167,172,176,181],[2,182],{174:309,175:310,178:ls,179:us}),e(Ze,[2,184]),{16:h,35:x,47:312,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33},{16:Be,50:_e,65:248,160:313,171:247,173:246},{16:Be,50:_e,65:248,173:314},{172:[2,181]},e(ze,[2,172]),e(Ze,[2,216]),e(Ze,[2,210]),e(Ze,[2,211]),{183:316,184:bs,185:_s},{183:319,184:bs,185:_s},{183:320,184:bs,185:_s},e(as,[2,199],{66:be}),e(Ze,[2,217]),e(f,m,{136:18,11:321,137:u}),{16:h,35:x,47:322,50:w,51:k,52:47,53:48,54:v,55:g,56:49,57:A,58:E,59:50,60:O,61:38,62:40,65:39,74:46,75:T,77:41,78:S,79:37,80:C,81:N,82:L,83:I,85:R,86:q,87:j,89:36,100:P,103:35,119:33},e(Oe,B,{131:323,43:U,132:M}),e([6,8,14,17,36,43,49,50,88,128,134,137,143,145,149,151,153,163,164,166,167,172,176,178,179,181,191,192,193],[2,197]),{50:_e,65:324},e(Ze,[2,183]),e(Ze,[2,190]),{16:[1,325]},e(Ze,[2,189],{106:G,123:z,124:W,125:K,126:Q}),{36:We,162:255,163:Ke,164:Qe,165:257,166:Ve,167:Ye,172:Je,174:326,175:310,176:Xe,178:ls,179:us},e(Ze,[2,186]),{190:327,191:is,192:cs,193:ps},{16:ys,151:$s,186:328},e(ds,[2,201]),e(ds,[2,202]),{16:ys,151:$s,186:330},{16:ys,151:$s,186:331},e(D,$,{144:28,12:332,145:d}),e(ms,[2,155],{106:G,123:z,124:W,125:K,126:Q}),e(Oe,[2,144]),e(xe,[2,195],{66:be}),{50:_e,65:334,67:333},e(Ze,[2,185]),e(Ze,[2,212]),{16:[1,335]},{134:[1,338],137:[1,337],172:[1,336]},{16:[1,339]},{16:[1,340]},e(fs,[2,161],{147:341,148:342,149:[1,343]}),{17:[1,344],43:hs},e(xe,[2,65],{66:be}),{17:[2,207],50:_e,65:334,67:347,187:346},{16:[2,204]},{16:[2,205]},{16:[2,206]},{50:_e,65:334,67:348},{50:_e,65:334,67:349},e(Fe,[2,164],{150:350,151:[1,351],153:[1,352]}),e(fs,[2,162]),{50:[1,354],62:353},e(Ze,[2,191]),{50:_e,65:355},{17:[1,356]},{17:[2,208],43:hs},{17:[1,357],43:hs},{17:[1,358],43:hs},e(Fe,[2,168]),{152:[1,359]},{104:[1,360]},e(fs,[2,163]),{16:$e},e(xe,[2,66],{66:be}),e(Ze,[2,213]),e(Ze,[2,214]),e(Ze,[2,215]),e(Fe,[2,165]),{154:[1,361]},{155:[1,362]},e(Fe,[2,166])],defaultActions:{11:[2,3],22:[2,1],24:[2,2],141:[2,120],142:[2,121],259:[2,174],260:[2,175],274:[2,179],294:[2,181],336:[2,204],337:[2,205],338:[2,206]},parseError:function(e,s){if(!s.recoverable){var t=new Error(e);throw t.hash=s,t}this.trace(e)},parse:function(e){var s=this,t=[0],r=[null],a=[],n=this.table,o="",l=0,i=0,c=0,p=a.slice.call(arguments,1),m=Object.create(this.lexer),u={yy:{}};for(var b in this.yy)Object.prototype.hasOwnProperty.call(this.yy,b)&&(u.yy[b]=this.yy[b]);m.setInput(e,u.yy),u.yy.lexer=m,u.yy.parser=this,void 0===m.yylloc&&(m.yylloc={});var _=m.yylloc;a.push(_);var y,$=m.options&&m.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var d,f,h,x,w,k,v,g,A,E={};;){if(h=t[t.length-1],this.defaultActions[h]?x=this.defaultActions[h]:(null==d&&(y=void 0,"number"!=typeof(y=m.lex()||1)&&(y=s.symbols_[y]||y),d=y),x=n[h]&&n[h][d]),void 0===x||!x.length||!x[0]){var O;for(k in A=[],n[h])this.terminals_[k]&&k>2&&A.push("'"+this.terminals_[k]+"'");O=m.showPosition?"Parse error on line "+(l+1)+":\n"+m.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[d]||d)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==d?"end of input":"'"+(this.terminals_[d]||d)+"'"),this.parseError(O,{text:m.match,token:this.terminals_[d]||d,line:m.yylineno,loc:_,expected:A})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+h+", token: "+d);switch(x[0]){case 1:t.push(d),r.push(m.yytext),a.push(m.yylloc),t.push(x[1]),d=null,f?(d=f,f=null):(i=m.yyleng,o=m.yytext,l=m.yylineno,_=m.yylloc,c>0&&c--);break;case 2:if(v=this.productions_[x[1]][1],E.$=r[r.length-v],E._$={first_line:a[a.length-(v||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(v||1)].first_column,last_column:a[a.length-1].last_column},$&&(E._$.range=[a[a.length-(v||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(E,[o,i,l,u.yy,x[1],r,a].concat(p))))return w;v&&(t=t.slice(0,-1*v*2),r=r.slice(0,-1*v),a=a.slice(0,-1*v)),t.push(this.productions_[x[1]][0]),r.push(E.$),a.push(E._$),g=n[t[t.length-2]][t[t.length-1]],t.push(g);break;case 3:return!0}}return!0}},ws={EOF:1,parseError:function(e,s){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,s)},setInput:function(e,s){return this.yy=s||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var s=e.length,t=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),t.length-1&&(this.yylineno-=t.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:t?(t.length===r.length?this.yylloc.first_column:0)+r[r.length-t.length].length-t[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),s=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+s+"^"},test_match:function(e,s){var t,r,a;if(this.options.backtrack_lexer&&(a={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(a.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],t=this.performAction.call(this,this.yy,this,s,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),t)return t;if(this._backtrack){for(var n in a)this[n]=a[n];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,s,t,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var a=this._currentRules(),n=0;ns[0].length)){if(s=t,r=n,this.options.backtrack_lexer){if(!1!==(e=this.test_match(t,a[n])))return e;if(this._backtrack){s=!1;continue}return!1}if(!this.options.flex)break}return s?!1!==(e=this.test_match(s,a[r]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,s,t,r){switch(t){case 0:case 1:case 2:case 3:break;case 4:case 5:case 6:case 114:case 118:return 50;case 7:return 18;case 8:return 29;case 9:return 118;case 10:return 30;case 11:return 31;case 12:return 32;case 13:return 33;case 14:return 36;case 15:return 37;case 16:return 38;case 17:return 39;case 18:return 40;case 19:return 41;case 20:return 42;case 21:return 46;case 22:return 49;case 23:return 57;case 24:return 58;case 25:return 60;case 26:return"COLLATE";case 27:return 83;case 28:return 85;case 29:return 86;case 30:return 75;case 31:return 70;case 32:return 71;case 33:return 73;case 34:return 76;case 35:return 95;case 36:return 96;case 37:return 100;case 38:return 105;case 39:return 104;case 40:return 107;case 41:return 108;case 42:return 102;case 43:return 109;case 44:return 120;case 45:return 122;case 46:return 106;case 47:return 125;case 48:return 126;case 49:return 156;case 50:return 181;case 51:return 191;case 52:return 184;case 53:return 185;case 54:return 151;case 55:return 172;case 56:return 137;case 57:return 134;case 58:return 192;case 59:return 193;case 60:return 163;case 61:return 164;case 62:return 178;case 63:return 179;case 64:return 166;case 65:return 167;case 66:return 169;case 67:return 176;case 68:return 128;case 69:return 140;case 70:return 141;case 71:return 132;case 72:return 133;case 73:return 143;case 74:return 146;case 75:return 149;case 76:return 152;case 77:return 153;case 78:return 154;case 79:return 155;case 80:return 161;case 81:return 145;case 82:return 14;case 83:return 43;case 84:return 34;case 85:return 16;case 86:return 17;case 87:return 81;case 88:return 116;case 89:return 82;case 90:return 90;case 91:return 91;case 92:return 78;case 93:return 80;case 94:return 45;case 95:return 94;case 96:return 97;case 97:return 98;case 98:return 93;case 99:return 111;case 100:return 112;case 101:return 92;case 102:return"<=>";case 103:return 113;case 104:return 115;case 105:return 114;case 106:return 87;case 107:return 88;case 108:return 8;case 109:case 110:case 116:case 117:return 51;case 111:return 55;case 112:return 35;case 113:return 54;case 115:return 66;case 119:return 6;case 120:return"INVALID"}},rules:[/^(?:[\/][*](.|\n)*?[*][\/])/i,/^(?:[-][-]\s.*\n)/i,/^(?:[#]\s.*\n)/i,/^(?:\s+)/i,/^(?:[`][a-zA-Z_\u4e00-\u9fa5][a-zA-Z0-9_\u4e00-\u9fa5]*[`])/i,/^(?:[\w]+[\u4e00-\u9fa5]+[0-9a-zA-Z_\u4e00-\u9fa5]*)/i,/^(?:[\u4e00-\u9fa5][0-9a-zA-Z_\u4e00-\u9fa5]*)/i,/^(?:SELECT\b)/i,/^(?:ALL\b)/i,/^(?:ANY\b)/i,/^(?:DISTINCT\b)/i,/^(?:DISTINCTROW\b)/i,/^(?:HIGH_PRIORITY\b)/i,/^(?:MAX_STATEMENT_TIME\b)/i,/^(?:STRAIGHT_JOIN\b)/i,/^(?:SQL_SMALL_RESULT\b)/i,/^(?:SQL_BIG_RESULT\b)/i,/^(?:SQL_BUFFER_RESULT\b)/i,/^(?:SQL_CACHE\b)/i,/^(?:SQL_NO_CACHE\b)/i,/^(?:SQL_CALC_FOUND_ROWS\b)/i,/^(?:([a-zA-Z_\u4e00-\u9fa5][a-zA-Z0-9_\u4e00-\u9fa5]*\.){1,2}\*)/i,/^(?:AS\b)/i,/^(?:TRUE\b)/i,/^(?:FALSE\b)/i,/^(?:NULL\b)/i,/^(?:COLLATE\b)/i,/^(?:BINARY\b)/i,/^(?:ROW\b)/i,/^(?:EXISTS\b)/i,/^(?:CASE\b)/i,/^(?:WHEN\b)/i,/^(?:THEN\b)/i,/^(?:ELSE\b)/i,/^(?:END\b)/i,/^(?:DIV\b)/i,/^(?:MOD\b)/i,/^(?:NOT\b)/i,/^(?:BETWEEN\b)/i,/^(?:IN\b)/i,/^(?:SOUNDS\b)/i,/^(?:LIKE\b)/i,/^(?:ESCAPE\b)/i,/^(?:REGEXP\b)/i,/^(?:IS\b)/i,/^(?:UNKNOWN\b)/i,/^(?:AND\b)/i,/^(?:OR\b)/i,/^(?:XOR\b)/i,/^(?:FROM\b)/i,/^(?:PARTITION\b)/i,/^(?:USE\b)/i,/^(?:INDEX\b)/i,/^(?:KEY\b)/i,/^(?:FOR\b)/i,/^(?:JOIN\b)/i,/^(?:ORDER\s+BY\b)/i,/^(?:GROUP\s+BY\b)/i,/^(?:IGNORE\b)/i,/^(?:FORCE\b)/i,/^(?:INNER\b)/i,/^(?:CROSS\b)/i,/^(?:ON\b)/i,/^(?:USING\b)/i,/^(?:LEFT\b)/i,/^(?:RIGHT\b)/i,/^(?:OUTER\b)/i,/^(?:NATURAL\b)/i,/^(?:WHERE\b)/i,/^(?:ASC\b)/i,/^(?:DESC\b)/i,/^(?:WITH\b)/i,/^(?:ROLLUP\b)/i,/^(?:HAVING\b)/i,/^(?:OFFSET\b)/i,/^(?:PROCEDURE\b)/i,/^(?:UPDATE\b)/i,/^(?:LOCK\b)/i,/^(?:SHARE\b)/i,/^(?:MODE\b)/i,/^(?:OJ\b)/i,/^(?:LIMIT\b)/i,/^(?:UNION\b)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\()/i,/^(?:\))/i,/^(?:~)/i,/^(?:!=)/i,/^(?:!)/i,/^(?:\|)/i,/^(?:&)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\*)/i,/^(?:\/)/i,/^(?:%)/i,/^(?:\^)/i,/^(?:>>)/i,/^(?:>=)/i,/^(?:>)/i,/^(?:<<)/i,/^(?:<=>)/i,/^(?:<=)/i,/^(?:<>)/i,/^(?:<)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:;)/i,/^(?:['](\\.|[^'])*['])/i,/^(?:["](\\.|[^"])*["])/i,/^(?:[0][x][0-9a-fA-F]+)/i,/^(?:[-]?[0-9]+(\.[0-9]+)?)/i,/^(?:[-]?[0-9]+(\.[0-9]+)?[eE][-][0-9]+(\.[0-9]+)?)/i,/^(?:[a-zA-Z_\u4e00-\u9fa5][a-zA-Z0-9_\u4e00-\u9fa5]*)/i,/^(?:\.)/i,/^(?:["][a-zA-Z_\u4e00-\u9fa5][a-zA-Z0-9_\u4e00-\u9fa5]*["])/i,/^(?:['][a-zA-Z_\u4e00-\u9fa5][a-zA-Z0-9_\u4e00-\u9fa5]*['])/i,/^(?:([`])(?:(?=(\\?))\2.)*?\1)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120],inclusive:!0}}};function ks(){this.yy={}}return xs.lexer=ws,ks.prototype=xs,xs.Parser=ks,new ks}();function a(){this.buffer=""}r||(r={}),r.stringify=function(e){var s=new a;return s.travelMain(e),s.buffer},a.prototype.travel=function(e){if(e){if("string"==typeof e)return this.append(e);this["travel"+e.type].call(this,e)}};var n=!1;a.prototype.appendKeyword=function(e,s,t){n&&(s=!0,n=!1),this.buffer+=s?e.toUpperCase():" "+e.toUpperCase(),t&&(n=!0)},a.prototype.append=function(e,s,t){n&&(s=!0,n=!1),this.buffer+=s?e:" "+e,t&&(n=!0)},a.prototype.travelMain=function(e){this.travel(e.value),e.hasSemicolon&&this.append(";",!0)},a.prototype.travelSelect=function(e){this.appendKeyword("select"),e.distinctOpt&&this.appendKeyword(e.distinctOpt),e.highPriorityOpt&&this.appendKeyword(e.highPriorityOpt),e.maxStateMentTimeOpt&&this.append("MAX_STATEMENT_TIME = "+e.maxStateMentTimeOpt),e.straightJoinOpt&&this.appendKeyword(e.straightJoinOpt),e.sqlSmallResultOpt&&this.appendKeyword(e.sqlSmallResultOpt),e.sqlBigResultOpt&&this.appendKeyword(e.sqlBigResultOpt),e.sqlBufferResultOpt&&this.appendKeyword(e.sqlBufferResultOpt),e.sqlCacheOpt&&this.appendKeyword(e.sqlCacheOpt),e.sqlCalcFoundRowsOpt&&this.appendKeyword(e.sqlCalcFoundRowsOpt),e.selectItems&&this.travelSelectExpr(e.selectItems),e.from&&(this.appendKeyword("from"),this.travel(e.from)),e.partition&&this.travel(e.partition),e.where&&(this.appendKeyword("where"),this.travel(e.where)),e.groupBy&&this.travel(e.groupBy),e.having&&(this.appendKeyword("having"),this.travel(e.having)),e.orderBy&&this.travel(e.orderBy),e.limit&&this.travel(e.limit),e.procedure&&(this.appendKeyword("procedure"),this.travel(e.procedure)),e.updateLockMode&&this.appendKeyword(e.updateLockMode)},a.prototype.travelSelectExpr=function(e){for(var s=e.value,t=0;t{var r=t(7753),a=t(2452),n=t(2115),o=t(8256),l=t(7426);function i(e){var s=-1,t=null==e?0:e.length;for(this.clear();++s{var r=t(9417),a=t(2470),n=t(6165),o=t(1873),l=t(2556);function i(e){var s=-1,t=null==e?0:e.length;for(this.clear();++s{var r=t(1822)(t(7400),"Map");e.exports=r},4554:(e,s,t)=>{var r=t(9448),a=t(7738),n=t(6575),o=t(7238),l=t(8738);function i(e){var s=-1,t=null==e?0:e.length;for(this.clear();++s{var r=t(6301),a=t(7354),n=t(5863),o=t(2367),l=t(748),i=t(7569);function c(e){var s=this.__data__=new r(e);this.size=s.size}c.prototype.clear=a,c.prototype.delete=n,c.prototype.get=o,c.prototype.has=l,c.prototype.set=i,e.exports=c},6539:(e,s,t)=>{var r=t(7400).Symbol;e.exports=r},9942:(e,s,t)=>{var r=t(7400).Uint8Array;e.exports=r},9349:e=>{e.exports=function(e,s,t){switch(t.length){case 0:return e.call(s);case 1:return e.call(s,t[0]);case 2:return e.call(s,t[0],t[1]);case 3:return e.call(s,t[0],t[1],t[2])}return e.apply(s,t)}},8213:(e,s,t)=>{var r=t(4701),a=t(2900),n=t(9785),o=t(3854),l=t(2383),i=t(8519),c=Object.prototype.hasOwnProperty;e.exports=function(e,s){var t=n(e),p=!t&&a(e),m=!t&&!p&&o(e),u=!t&&!p&&!m&&i(e),b=t||p||m||u,_=b?r(e.length,String):[],y=_.length;for(var $ in e)!s&&!c.call(e,$)||b&&("length"==$||m&&("offset"==$||"parent"==$)||u&&("buffer"==$||"byteLength"==$||"byteOffset"==$)||l($,y))||_.push($);return _}},3140:(e,s,t)=>{var r=t(8799),a=t(5638);e.exports=function(e,s,t){(void 0!==t&&!a(e[s],t)||void 0===t&&!(s in e))&&r(e,s,t)}},1928:(e,s,t)=>{var r=t(8799),a=t(5638),n=Object.prototype.hasOwnProperty;e.exports=function(e,s,t){var o=e[s];n.call(e,s)&&a(o,t)&&(void 0!==t||s in e)||r(e,s,t)}},3382:(e,s,t)=>{var r=t(5638);e.exports=function(e,s){for(var t=e.length;t--;)if(r(e[t][0],s))return t;return-1}},8799:(e,s,t)=>{var r=t(2630);e.exports=function(e,s,t){"__proto__"==s&&r?r(e,s,{configurable:!0,enumerable:!0,value:t,writable:!0}):e[s]=t}},158:(e,s,t)=>{var r=t(1611),a=Object.create,n=function(){function e(){}return function(s){if(!r(s))return{};if(a)return a(s);e.prototype=s;var t=new e;return e.prototype=void 0,t}}();e.exports=n},9819:(e,s,t)=>{var r=t(8911)();e.exports=r},9736:(e,s,t)=>{var r=t(6539),a=t(4840),n=t(1258),o=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?a(e):n(e)}},5829:(e,s,t)=>{var r=t(9736),a=t(2360);e.exports=function(e){return a(e)&&"[object Arguments]"==r(e)}},6729:(e,s,t)=>{var r=t(8338),a=t(9678),n=t(1611),o=t(6532),l=/^\[object .+?Constructor\]$/,i=Function.prototype,c=Object.prototype,p=i.toString,m=c.hasOwnProperty,u=RegExp("^"+p.call(m).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!n(e)||a(e))&&(r(e)?u:l).test(o(e))}},6972:(e,s,t)=>{var r=t(9736),a=t(4194),n=t(2360),o={};o["[object Float32Array]"]=o["[object Float64Array]"]=o["[object Int8Array]"]=o["[object Int16Array]"]=o["[object Int32Array]"]=o["[object Uint8Array]"]=o["[object Uint8ClampedArray]"]=o["[object Uint16Array]"]=o["[object Uint32Array]"]=!0,o["[object Arguments]"]=o["[object Array]"]=o["[object ArrayBuffer]"]=o["[object Boolean]"]=o["[object DataView]"]=o["[object Date]"]=o["[object Error]"]=o["[object Function]"]=o["[object Map]"]=o["[object Number]"]=o["[object Object]"]=o["[object RegExp]"]=o["[object Set]"]=o["[object String]"]=o["[object WeakMap]"]=!1,e.exports=function(e){return n(e)&&a(e.length)&&!!o[r(e)]}},9464:(e,s,t)=>{var r=t(1611),a=t(6016),n=t(1586),o=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return n(e);var s=a(e),t=[];for(var l in e)("constructor"!=l||!s&&o.call(e,l))&&t.push(l);return t}},15:(e,s,t)=>{var r=t(3694),a=t(3140),n=t(9819),o=t(8867),l=t(1611),i=t(3893),c=t(7494);e.exports=function e(s,t,p,m,u){s!==t&&n(t,(function(n,i){if(u||(u=new r),l(n))o(s,t,i,p,e,m,u);else{var b=m?m(c(s,i),n,i+"",s,t,u):void 0;void 0===b&&(b=n),a(s,i,b)}}),i)}},8867:(e,s,t)=>{var r=t(3140),a=t(2734),n=t(3428),o=t(7561),l=t(7635),i=t(2900),c=t(9785),p=t(6468),m=t(3854),u=t(8338),b=t(1611),_=t(861),y=t(8519),$=t(7494),d=t(9328);e.exports=function(e,s,t,f,h,x,w){var k=$(e,t),v=$(s,t),g=w.get(v);if(g)r(e,t,g);else{var A=x?x(k,v,t+"",e,s,w):void 0,E=void 0===A;if(E){var O=c(v),T=!O&&m(v),S=!O&&!T&&y(v);A=v,O||T||S?c(k)?A=k:p(k)?A=o(k):T?(E=!1,A=a(v,!0)):S?(E=!1,A=n(v,!0)):A=[]:_(v)||i(v)?(A=k,i(k)?A=d(k):b(k)&&!u(k)||(A=l(v))):E=!1}E&&(w.set(v,A),h(A,v,f,x,w),w.delete(v)),r(e,t,A)}}},1197:(e,s,t)=>{var r=t(1137),a=t(1871),n=t(3132);e.exports=function(e,s){return n(a(e,s,r),e+"")}},4459:(e,s,t)=>{var r=t(551),a=t(2630),n=t(1137),o=a?function(e,s){return a(e,"toString",{configurable:!0,enumerable:!1,value:r(s),writable:!0})}:n;e.exports=o},4701:e=>{e.exports=function(e,s){for(var t=-1,r=Array(e);++t{e.exports=function(e){return function(s){return e(s)}}},5825:(e,s,t)=>{var r=t(9942);e.exports=function(e){var s=new e.constructor(e.byteLength);return new r(s).set(new r(e)),s}},2734:(e,s,t)=>{e=t.nmd(e);var r=t(7400),a=s&&!s.nodeType&&s,n=a&&e&&!e.nodeType&&e,o=n&&n.exports===a?r.Buffer:void 0,l=o?o.allocUnsafe:void 0;e.exports=function(e,s){if(s)return e.slice();var t=e.length,r=l?l(t):new e.constructor(t);return e.copy(r),r}},3428:(e,s,t)=>{var r=t(5825);e.exports=function(e,s){var t=s?r(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.length)}},7561:e=>{e.exports=function(e,s){var t=-1,r=e.length;for(s||(s=Array(r));++t{var r=t(1928),a=t(8799);e.exports=function(e,s,t,n){var o=!t;t||(t={});for(var l=-1,i=s.length;++l{var r=t(7400)["__core-js_shared__"];e.exports=r},7270:(e,s,t)=>{var r=t(1197),a=t(7535);e.exports=function(e){return r((function(s,t){var r=-1,n=t.length,o=n>1?t[n-1]:void 0,l=n>2?t[2]:void 0;for(o=e.length>3&&"function"==typeof o?(n--,o):void 0,l&&a(t[0],t[1],l)&&(o=n<3?void 0:o,n=1),s=Object(s);++r{e.exports=function(e){return function(s,t,r){for(var a=-1,n=Object(s),o=r(s),l=o.length;l--;){var i=o[e?l:++a];if(!1===t(n[i],i,n))break}return s}}},9491:(e,s,t)=>{var r=t(15),a=t(1611);e.exports=function e(s,t,n,o,l,i){return a(s)&&a(t)&&(i.set(t,s),r(s,t,void 0,e,i),i.delete(t)),s}},2630:(e,s,t)=>{var r=t(1822),a=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=a},9120:(e,s,t)=>{var r="object"==typeof t.g&&t.g&&t.g.Object===Object&&t.g;e.exports=r},5899:(e,s,t)=>{var r=t(4479);e.exports=function(e,s){var t=e.__data__;return r(s)?t["string"==typeof s?"string":"hash"]:t.map}},1822:(e,s,t)=>{var r=t(6729),a=t(5371);e.exports=function(e,s){var t=a(e,s);return r(t)?t:void 0}},2173:(e,s,t)=>{var r=t(8023)(Object.getPrototypeOf,Object);e.exports=r},4840:(e,s,t)=>{var r=t(6539),a=Object.prototype,n=a.hasOwnProperty,o=a.toString,l=r?r.toStringTag:void 0;e.exports=function(e){var s=n.call(e,l),t=e[l];try{e[l]=void 0;var r=!0}catch(e){}var a=o.call(e);return r&&(s?e[l]=t:delete e[l]),a}},5371:e=>{e.exports=function(e,s){return null==e?void 0:e[s]}},7753:(e,s,t)=>{var r=t(5718);e.exports=function(){this.__data__=r?r(null):{},this.size=0}},2452:e=>{e.exports=function(e){var s=this.has(e)&&delete this.__data__[e];return this.size-=s?1:0,s}},2115:(e,s,t)=>{var r=t(5718),a=Object.prototype.hasOwnProperty;e.exports=function(e){var s=this.__data__;if(r){var t=s[e];return"__lodash_hash_undefined__"===t?void 0:t}return a.call(s,e)?s[e]:void 0}},8256:(e,s,t)=>{var r=t(5718),a=Object.prototype.hasOwnProperty;e.exports=function(e){var s=this.__data__;return r?void 0!==s[e]:a.call(s,e)}},7426:(e,s,t)=>{var r=t(5718);e.exports=function(e,s){var t=this.__data__;return this.size+=this.has(e)?0:1,t[e]=r&&void 0===s?"__lodash_hash_undefined__":s,this}},7635:(e,s,t)=>{var r=t(158),a=t(2173),n=t(6016);e.exports=function(e){return"function"!=typeof e.constructor||n(e)?{}:r(a(e))}},2383:e=>{var s=/^(?:0|[1-9]\d*)$/;e.exports=function(e,t){var r=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&s.test(e))&&e>-1&&e%1==0&&e{var r=t(5638),a=t(68),n=t(2383),o=t(1611);e.exports=function(e,s,t){if(!o(t))return!1;var l=typeof s;return!!("number"==l?a(t)&&n(s,t.length):"string"==l&&s in t)&&r(t[s],e)}},4479:e=>{e.exports=function(e){var s=typeof e;return"string"==s||"number"==s||"symbol"==s||"boolean"==s?"__proto__"!==e:null===e}},9678:(e,s,t)=>{var r,a=t(4937),n=(r=/[^.]+$/.exec(a&&a.keys&&a.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!n&&n in e}},6016:e=>{var s=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||s)}},9417:e=>{e.exports=function(){this.__data__=[],this.size=0}},2470:(e,s,t)=>{var r=t(3382),a=Array.prototype.splice;e.exports=function(e){var s=this.__data__,t=r(s,e);return!(t<0||(t==s.length-1?s.pop():a.call(s,t,1),--this.size,0))}},6165:(e,s,t)=>{var r=t(3382);e.exports=function(e){var s=this.__data__,t=r(s,e);return t<0?void 0:s[t][1]}},1873:(e,s,t)=>{var r=t(3382);e.exports=function(e){return r(this.__data__,e)>-1}},2556:(e,s,t)=>{var r=t(3382);e.exports=function(e,s){var t=this.__data__,a=r(t,e);return a<0?(++this.size,t.push([e,s])):t[a][1]=s,this}},9448:(e,s,t)=>{var r=t(6586),a=t(6301),n=t(4538);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(n||a),string:new r}}},7738:(e,s,t)=>{var r=t(5899);e.exports=function(e){var s=r(this,e).delete(e);return this.size-=s?1:0,s}},6575:(e,s,t)=>{var r=t(5899);e.exports=function(e){return r(this,e).get(e)}},7238:(e,s,t)=>{var r=t(5899);e.exports=function(e){return r(this,e).has(e)}},8738:(e,s,t)=>{var r=t(5899);e.exports=function(e,s){var t=r(this,e),a=t.size;return t.set(e,s),this.size+=t.size==a?0:1,this}},5718:(e,s,t)=>{var r=t(1822)(Object,"create");e.exports=r},1586:e=>{e.exports=function(e){var s=[];if(null!=e)for(var t in Object(e))s.push(t);return s}},8125:(e,s,t)=>{e=t.nmd(e);var r=t(9120),a=s&&!s.nodeType&&s,n=a&&e&&!e.nodeType&&e,o=n&&n.exports===a&&r.process,l=function(){try{return n&&n.require&&n.require("util").types||o&&o.binding&&o.binding("util")}catch(e){}}();e.exports=l},1258:e=>{var s=Object.prototype.toString;e.exports=function(e){return s.call(e)}},8023:e=>{e.exports=function(e,s){return function(t){return e(s(t))}}},1871:(e,s,t)=>{var r=t(9349),a=Math.max;e.exports=function(e,s,t){return s=a(void 0===s?e.length-1:s,0),function(){for(var n=arguments,o=-1,l=a(n.length-s,0),i=Array(l);++o{var r=t(9120),a="object"==typeof self&&self&&self.Object===Object&&self,n=r||a||Function("return this")();e.exports=n},7494:e=>{e.exports=function(e,s){if(("constructor"!==s||"function"!=typeof e[s])&&"__proto__"!=s)return e[s]}},3132:(e,s,t)=>{var r=t(4459),a=t(9591)(r);e.exports=a},9591:e=>{var s=Date.now;e.exports=function(e){var t=0,r=0;return function(){var a=s(),n=16-(a-r);if(r=a,n>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},7354:(e,s,t)=>{var r=t(6301);e.exports=function(){this.__data__=new r,this.size=0}},5863:e=>{e.exports=function(e){var s=this.__data__,t=s.delete(e);return this.size=s.size,t}},2367:e=>{e.exports=function(e){return this.__data__.get(e)}},748:e=>{e.exports=function(e){return this.__data__.has(e)}},7569:(e,s,t)=>{var r=t(6301),a=t(4538),n=t(4554);e.exports=function(e,s){var t=this.__data__;if(t instanceof r){var o=t.__data__;if(!a||o.length<199)return o.push([e,s]),this.size=++t.size,this;t=this.__data__=new n(o)}return t.set(e,s),this.size=t.size,this}},6532:e=>{var s=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return s.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},551:e=>{e.exports=function(e){return function(){return e}}},3533:(e,s,t)=>{var r=t(9349),a=t(1197),n=t(9491),o=t(3952),l=a((function(e){return e.push(void 0,n),r(o,void 0,e)}));e.exports=l},5638:e=>{e.exports=function(e,s){return e===s||e!=e&&s!=s}},1137:e=>{e.exports=function(e){return e}},2900:(e,s,t)=>{var r=t(5829),a=t(2360),n=Object.prototype,o=n.hasOwnProperty,l=n.propertyIsEnumerable,i=r(function(){return arguments}())?r:function(e){return a(e)&&o.call(e,"callee")&&!l.call(e,"callee")};e.exports=i},9785:e=>{var s=Array.isArray;e.exports=s},68:(e,s,t)=>{var r=t(8338),a=t(4194);e.exports=function(e){return null!=e&&a(e.length)&&!r(e)}},6468:(e,s,t)=>{var r=t(68),a=t(2360);e.exports=function(e){return a(e)&&r(e)}},3854:(e,s,t)=>{e=t.nmd(e);var r=t(7400),a=t(7714),n=s&&!s.nodeType&&s,o=n&&e&&!e.nodeType&&e,l=o&&o.exports===n?r.Buffer:void 0,i=(l?l.isBuffer:void 0)||a;e.exports=i},8338:(e,s,t)=>{var r=t(9736),a=t(1611);e.exports=function(e){if(!a(e))return!1;var s=r(e);return"[object Function]"==s||"[object GeneratorFunction]"==s||"[object AsyncFunction]"==s||"[object Proxy]"==s}},4194:e=>{e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},1611:e=>{e.exports=function(e){var s=typeof e;return null!=e&&("object"==s||"function"==s)}},2360:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},861:(e,s,t)=>{var r=t(9736),a=t(2173),n=t(2360),o=Function.prototype,l=Object.prototype,i=o.toString,c=l.hasOwnProperty,p=i.call(Object);e.exports=function(e){if(!n(e)||"[object Object]"!=r(e))return!1;var s=a(e);if(null===s)return!0;var t=c.call(s,"constructor")&&s.constructor;return"function"==typeof t&&t instanceof t&&i.call(t)==p}},8519:(e,s,t)=>{var r=t(6972),a=t(9334),n=t(8125),o=n&&n.isTypedArray,l=o?a(o):r;e.exports=l},3893:(e,s,t)=>{var r=t(8213),a=t(9464),n=t(68);e.exports=function(e){return n(e)?r(e,!0):a(e)}},3952:(e,s,t)=>{var r=t(15),a=t(7270)((function(e,s,t,a){r(e,s,t,a)}));e.exports=a},7714:e=>{e.exports=function(){return!1}},9328:(e,s,t)=>{var r=t(5159),a=t(3893);e.exports=function(e){return r(e,a(e))}},985:function(e,s){var t,r;void 0===(r="function"==typeof(t=function(){"use strict";var e=Object.prototype.hasOwnProperty,s=Object.prototype.toString,t="boolean"==typeof(new RegExp).sticky;function r(e){return e&&"[object RegExp]"===s.call(e)}function a(e){return e&&"object"==typeof e&&!r(e)&&!Array.isArray(e)}function n(e){return"("+e+")"}function o(e){return e.length?"(?:"+e.map((function(e){return"(?:"+e+")"})).join("|")+")":"(?!)"}function l(e){if("string"==typeof e)return"(?:"+(e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")+")");if(r(e)){if(e.ignoreCase)throw new Error("RegExp /i flag not allowed");if(e.global)throw new Error("RegExp /g flag is implied");if(e.sticky)throw new Error("RegExp /y flag is implied");if(e.multiline)throw new Error("RegExp /m flag is implied");return e.source}throw new Error("Not a pattern: "+e)}function i(s,t){if(a(t)||(t={match:t}),t.include)throw new Error("Matching rules cannot also include states");var n={defaultType:s,lineBreaks:!!t.error||!!t.fallback,pop:!1,next:null,push:null,error:!1,fallback:!1,value:null,type:null,shouldThrow:!1};for(var o in t)e.call(t,o)&&(n[o]=t[o]);if("string"==typeof n.type&&s!==n.type)throw new Error("Type transform cannot be a string (type '"+n.type+"' for token '"+s+"')");var l=n.match;return n.match=Array.isArray(l)?l:l?[l]:[],n.match.sort((function(e,s){return r(e)&&r(s)?0:r(s)?-1:r(e)?1:s.length-e.length})),n}function c(e){return Array.isArray(e)?function(e){for(var s=[],t=0;t0)throw new Error("RegExp has capture groups: "+x+"\nUse (?: … ) instead");if(!y.lineBreaks&&x.test("\n"))throw new Error("Rule should declare lineBreaks: "+x);b.push(n(h))}}var w=a&&a.fallback,k=t&&!w?"ym":"gm",v=t||w?"":"|";return!0===m&&(k+="u"),{regexp:new RegExp(o(b)+v,k),groups:u,fast:i,error:a||p}}function u(e,s,t){var r=e&&(e.push||e.next);if(r&&!t[r])throw new Error("Missing state '"+r+"' (in token '"+e.defaultType+"' of state '"+s+"')");if(e&&e.pop&&1!=+e.pop)throw new Error("pop must be 1 (in token '"+e.defaultType+"' of state '"+s+"')")}var b=function(e,s){this.startState=s,this.states=e,this.buffer="",this.stack=[],this.reset()};b.prototype.reset=function(e,s){return this.buffer=e||"",this.index=0,this.line=s?s.line:1,this.col=s?s.col:1,this.queuedToken=s?s.queuedToken:null,this.queuedThrow=s?s.queuedThrow:null,this.setState(s?s.state:this.startState),this.stack=s&&s.stack?s.stack.slice():[],this},b.prototype.save=function(){return{line:this.line,col:this.col,state:this.state,stack:this.stack.slice(),queuedToken:this.queuedToken,queuedThrow:this.queuedThrow}},b.prototype.setState=function(e){if(e&&this.state!==e){this.state=e;var s=this.states[e];this.groups=s.groups,this.error=s.error,this.re=s.regexp,this.fast=s.fast}},b.prototype.popState=function(){this.setState(this.stack.pop())},b.prototype.pushState=function(e){this.stack.push(this.state),this.setState(e)};var _=t?function(e,s){return e.exec(s)}:function(e,s){var t=e.exec(s);return 0===t[0].length?null:t};function y(){return this.value}if(b.prototype._getGroup=function(e){for(var s=this.groups.length,t=0;t";throw new Error("Unknown symbol type: "+e)}}return e.highestId=0,e.prototype.toString=function(e){var s=void 0===e?this.symbols.map(o).join(" "):this.symbols.slice(0,e).map(o).join(" ")+" ● "+this.symbols.slice(e).map(o).join(" ");return this.name+" → "+s},s.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},s.prototype.nextState=function(e){var t=new s(this.rule,this.dot+1,this.reference,this.wantedBy);return t.left=this,t.right=e,t.isComplete&&(t.data=t.build(),t.right=void 0),t},s.prototype.build=function(){var e=[],s=this;do{e.push(s.right.data),s=s.left}while(s.left);return e.reverse(),e},s.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,n.fail))},t.prototype.process=function(e){for(var s=this.states,t=this.wants,r=this.completed,a=0;a0&&s.push(" ^ "+r+" more lines identical to this"),r=0,s.push(" "+o)),t=o}},n.prototype.getSymbolDisplay=function(e){return function(e){var s=typeof e;if("string"===s)return e;if("object"===s){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return"character matching "+e;if(e.type)return e.type+" token";if(e.test)return"token matching "+String(e.test);throw new Error("Unknown symbol type: "+e)}}(e)},n.prototype.buildFirstStateStack=function(e,s){if(-1!==s.indexOf(e))return null;if(0===e.wantedBy.length)return[e];var t=e.wantedBy[0],r=[e].concat(s),a=this.buildFirstStateStack(t,r);return null===a?null:[e].concat(a)},n.prototype.save=function(){var e=this.table[this.current];return e.lexerState=this.lexerState,e},n.prototype.restore=function(e){var s=e.index;this.current=s,this.table[s]=e,this.table.splice(s+1),this.lexerState=e.lexerState,this.results=this.finish()},n.prototype.rewind=function(e){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[e])},n.prototype.finish=function(){var e=[],s=this.grammar.start;return this.table[this.table.length-1].states.forEach((function(t){t.rule.name===s&&t.dot===t.rule.symbols.length&&0===t.reference&&t.data!==n.fail&&e.push(t)})),e.map((function(e){return e.data}))},{Parser:n,Grammar:r,Rule:e}},e.exports?e.exports=s():this.nearley=s()},5884:(e,s,t)=>{!function(e,s){for(var t in s)e[t]=s[t]}(s,function(e){var s={};function t(r){if(s[r])return s[r].exports;var a=s[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,t),a.l=!0,a.exports}return t.m=e,t.c=s,t.d=function(e,s,r){t.o(e,s)||Object.defineProperty(e,s,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,s){if(1&s&&(e=t(e)),8&s)return e;if(4&s&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&s&&"string"!=typeof e)for(var a in e)t.d(r,a,function(s){return e[s]}.bind(null,a));return r},t.n=function(e){var s=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(s,"a",s),s},t.o=function(e,s){return Object.prototype.hasOwnProperty.call(e,s)},t.p="",t(t.s=7)}([function(e,s){e.exports=t(985)},function(e,s,t){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.unbox=s.doubleQuoted=s.box=s.track=s.tracking=s.trackingComments=s.lexerAny=s.lexer=void 0;const r=t(0),a=t(3),n={};for(const e of a.sqlKeywords)n["kw_"+e.toLowerCase()]=e;var o;s.lexer=(0,r.compile)({word:{match:/[eE](?!')[A-Za-z0-9_]*|[a-df-zA-DF-Z_][A-Za-z0-9_]*/,type:(e=>{const s=(0,r.keywords)(e);return e=>s(e.toUpperCase())})(n),value:e=>e.toLowerCase()},wordQuoted:{match:/"(?:[^"\*]|"")+"/,type:()=>"quoted_word",value:e=>e.substring(1,e.length-1)},string:{match:/'(?:[^']|\'\')*'/,value:e=>e.substring(1,e.length-1).replace(/''/g,"'")},eString:{match:/\b(?:e|E)'(?:[^'\\]|[\r\n\s]|(?:\\\s)|(?:\\\n)|(?:\\.)|(?:\'\'))+'/,value:e=>e.substring(2,e.length-1).replace(/''/g,"'").replace(/\\([\s\n])/g,((e,s)=>s)).replace(/\\./g,(e=>JSON.parse('"'+e+'"')))},qparam:{match:/\$\d+/},commentLine:/\-\-.*?$[\s\r\n]*/,commentFullOpen:/\/\*/,commentFullClose:/\*\/[\s\r\n]*/,star:"*",comma:",",space:{match:/[\s\t\n\v\f\r]+/,lineBreaks:!0},int:/\-?\d+(?![\.\d])/,float:/\-?(?:(?:\d*\.\d+)|(?:\d+\.\d*))/,lparen:"(",rparen:")",lbracket:"[",rbracket:"]",semicolon:";",dot:/\.(?!\d)/,op_cast:"::",op_colon:":",op_plus:"+",op_eq:"=",op_neq:{match:/(?:!=)|(?:\<\>)/,value:()=>"!="},op_membertext:"->>",op_member:"->",op_minus:"-",op_div:/\//,op_not_ilike:/\!~~\*/,op_not_like:/\!~~/,op_ilike:/~~\*/,op_like:/~~/,op_mod:"%",op_exp:"^",op_additive:{match:["||","-","#-","&&"]},op_compare:{match:[">",">=","<","<=","@>","<@","?","?|","?&","#>>",">>","<<","~","~*","!~","!~*"]},ops_others:{match:["|","&","^","#"]},codeblock:{match:/\$\$(?:.|[\s\t\n\v\f\r])*?\$\$/s,lineBreaks:!0,value:e=>e.substring(2,e.length-2)}}),s.lexer.next=(o=s.lexer.next,()=>{let e,t=null;for(;e=o.call(s.lexer);){if("commentFullOpen"===e.type){if(null===t){t={nested:0,offset:e.offset,text:e.text};continue}t.nested++}if(null==t){if("space"!==e.type){if("commentLine"!==e.type)break;null==l||l.push(i(e))}}else if(t.text+=e.text,"commentFullClose"===e.type){if(0===t.nested){null==l||l.push(i(t)),t=null;continue}t.nested--}}if(c&&e){const s=e.offset,t={start:s,end:s+e.text.length};e._location=t}return e}),s.lexerAny=s.lexer;let l=null;const i=({offset:e,text:s})=>({_location:{start:e,end:e+s.length},comment:s});s.trackingComments=function(e){if(l)throw new Error("WAT ? Recursive comments tracking 🤔🤨 ?");try{l=[];const s=e();return{comments:l,ast:s}}finally{l=null}};let c=!1;function p(e,s){if(!c||!s||"object"!=typeof s)return s;const t=_(e,!0),r=_(e,!1);if(!t||!r)return s;if(t===r)s._location=t;else{const e={start:t.start,end:r.end};s._location=e}return s}s.tracking=function(e){if(c)return e();try{return c=!0,e()}finally{c=!1}},s.track=p;const m=Symbol("_literal"),u=Symbol("_doublequoted");function b(e){return Array.isArray(e)&&1===e.length&&(e=b(e[0])),Array.isArray(e)&&!e.length?null:e}function _(e,s){if(!e)return null;if(Array.isArray(e)){const t=s?1:-1;for(let r=s?0:e.length-1;r>=0&&ra(e,{type:this.dataType(e.type)})));let t;if(e.returns)switch(e.returns.kind){case"table":t=a(e.returns,{columns:n(e.returns.columns,(e=>{const s=this.dataType(e.type);return s&&a(e,{type:s})}))});break;case void 0:case null:case"array":t=this.dataType(e.returns);break;default:throw r.NotSupported.never(e.returns)}return a(e,{returns:t,arguments:s})}dropFunction(e){const s=n(e.arguments,(e=>a(e,{type:this.dataType(e.type)})));return a(e,{arguments:s})}show(e){return e}createEnum(e){return e}createCompositeType(e){const s=n(e.attributes,(e=>a(e,{dataType:this.dataType(e.dataType)})));return a(e,{attributes:s})}drop(e){return e}alterSequence(e){return"set options"===e.change.type&&e.change.as&&this.dataType(e.change.as),e}begin(e){return e}createSequence(e){return e.options.as&&this.dataType(e.options.as),e}tablespace(e){return e}setGlobal(e){return e}setTimezone(e){return e}update(e){if(!e)return e;const s=this.tableRef(e.table);if(!s)return null;const t=e.from&&this.from(e.from),r=e.where&&this.expr(e.where),o=n(e.sets,(e=>this.set(e)));return(null==o?void 0:o.length)?a(e,{table:s,where:r,sets:o,from:t,returning:n(e.returning,(e=>this.selectionColumn(e)))}):null}insert(e){var s,t;const o=this.tableRef(e.into);if(!o)return null;const l=e.insert&&this.select(e.insert);if(!l)return null;const i=n(e.returning,(e=>this.selectionColumn(e)));let c=null===(s=e.onConflict)||void 0===s?void 0:s.on;switch(null==c?void 0:c.type){case"on constraint":break;case"on expr":c=a(c,{exprs:n(c.exprs,(e=>this.expr(e)))});break;case null:case void 0:break;default:throw r.NotSupported.never(c)}let p=null===(t=e.onConflict)||void 0===t?void 0:t.do;if(p&&"do nothing"!==p){const e=n(p.sets,(e=>this.set(e)));(null==e?void 0:e.length)?p.sets!==e&&(p={sets:e}):p="do nothing"}return a(e,{into:o,insert:l,returning:i,onConflict:p?a(e.onConflict,{do:p,on:c}):e.onConflict})}raise(e){return a(e,{formatExprs:e.formatExprs&&n(e.formatExprs,(e=>this.expr(e))),using:e.using&&n(e.using,(e=>a(e,{value:this.expr(e.value)})))})}delete(e){const s=this.tableRef(e.from);return s?a(e,{where:e.where&&this.expr(e.where),returning:n(e.returning,(e=>this.selectionColumn(e))),from:s}):null}createSchema(e){return e}createTable(e){const s=n(e.columns,(e=>{switch(e.kind){case"column":return this.createColumn(e);case"like table":return this.likeTable(e);default:throw r.NotSupported.never(e)}}));return(null==s?void 0:s.length)?a(e,{columns:s}):null}likeTable(e){const s=this.tableRef(e.like);return s?a(e,{like:s}):null}truncateTable(e){return e}constraint(e){switch(e.type){case"not null":case"null":case"primary key":case"unique":case"add generated":return e;case"default":{const s=this.expr(e.default);return s?a(e,{default:s}):null}case"check":{const s=this.expr(e.expr);return s?a(e,{expr:s}):null}case"reference":{const s=this.tableRef(e.foreignTable);return s?a(e,{foreignTable:s}):null}default:throw r.NotSupported.never(e)}}set(e){const s=this.expr(e.value);return s?a(e,{value:s}):null}dataType(e){return e}tableRef(e){return e}transaction(e){return e}createExtension(e){return e}createIndex(e){const s=n(e.expressions,(e=>{const s=this.expr(e.expression);return s===e.expression?e:s?{...e,expression:s}:null}));return(null==s?void 0:s.length)?a(e,{expressions:s}):null}prepare(e){const s=this.statement(e.statement);return s?a(e,{args:n(e.args,(e=>this.dataType(e))),statement:s}):null}deallocate(e){return e}alterIndex(e){return e}alterTable(e){var s;const t=this.tableRef(e.table);if(!t)return null;let r=[],n=!1;for(let t=0;t<((null===(s=e.changes)||void 0===s?void 0:s.length)||0);t++){const s=e.changes[t],a=this.tableAlteration(s,e.table);n=n||a!=s,a&&r.push(a)}return r.length?n?a(e,{table:t,changes:r}):e:null}tableAlteration(e,s){switch(e.type){case"add column":return this.addColumn(e,s);case"add constraint":return this.addConstraint(e,s);case"alter column":return this.alterColumn(e,s);case"rename":return this.renameTable(e,s);case"rename column":return this.renameColumn(e,s);case"rename constraint":return this.renameConstraint(e,s);case"drop column":return this.dropColumn(e,s);case"drop constraint":return this.dropConstraint(e,s);case"owner":return this.setTableOwner(e,s);default:throw r.NotSupported.never(e)}}dropColumn(e,s){return e}dropConstraint(e,s){return e}setTableOwner(e,s){return e}renameConstraint(e,s){return e}renameColumn(e,s){return e}renameTable(e,s){return e}alterColumn(e,s){let t;switch(e.alter.type){case"set default":t=this.setColumnDefault(e.alter,s,e.column);break;case"set type":t=this.setColumnType(e.alter,s,e.column);break;case"drop default":case"set not null":case"drop not null":t=this.alterColumnSimple(e.alter,s,e.column);break;case"add generated":t=this.alterColumnAddGenerated(e.alter,s,e.column);break;default:throw r.NotSupported.never(e.alter)}return t?a(e,{alter:t}):null}setColumnType(e,s,t){return a(e,{dataType:this.dataType(e.dataType)})}alterColumnAddGenerated(e,s,t){return e}alterColumnSimple(e,s,t){return e}setColumnDefault(e,s,t){const r=this.expr(e.default);return r?a(e,{default:r}):null}addConstraint(e,s){return e}addColumn(e,s){const t=this.createColumn(e.column);return t?a(e,{column:t}):null}createColumn(e){var s;const t=this.dataType(e.dataType);return t?a(e,{dataType:t,constraints:null!==(s=n(e.constraints,(e=>this.constraint(e))))&&void 0!==s?s:void 0}):null}select(e){switch(e.type){case"select":return this.selection(e);case"union":case"union all":return this.union(e);case"with":return this.with(e);case"values":return this.values(e);case"with recursive":return this.withRecursive(e);default:throw r.NotSupported.never(e)}}selection(e){var s,t;const r=n(e.from,(e=>this.from(e))),o=n(e.columns,(e=>this.selectionColumn(e))),l=e.where&&this.expr(e.where),i=n(e.groupBy,(e=>this.expr(e))),c=this.orderBy(e.orderBy),p=a(e.limit,{limit:this.expr(null===(s=e.limit)||void 0===s?void 0:s.limit),offset:this.expr(null===(t=e.limit)||void 0===t?void 0:t.offset)});return a(e,{from:r,columns:o,where:l,groupBy:i,orderBy:c,limit:p})}orderBy(e){return n(e,(e=>{const s=this.expr(e.by);return s?s===e.by?e:{...e,by:s}:null}))}union(e){const s=this.select(e.left),t=this.select(e.right);return s&&t?a(e,{left:s,right:t}):null!=s?s:t}with(e){const s=n(e.bind,(e=>{const s=this.statement(e.statement);return o(s)?a(e,{statement:s}):null}));if(!s)return null;const t=this.statement(e.in);return o(t)?a(e,{bind:s,in:t}):null}withRecursive(e){const s=this.union(e.bind);if(!s)return null;if("union"!==s.type&&"union all"!==s.type)return null;const t=this.statement(e.in);return o(t)?a(e,{bind:s,in:t}):null}from(e){switch(e.type){case"table":return this.fromTable(e);case"statement":return this.fromStatement(e);case"call":return this.fromCall(e);default:throw r.NotSupported.never(e)}}fromCall(e){const s=this.call(e);return s&&"call"===s.type?a(e,s):null}fromStatement(e){const s=this.select(e.statement);return s?a(e,{statement:s,join:e.join&&this.join(e.join)}):null}values(e){const s=n(e.values,(e=>n(e,(e=>this.expr(e)))));return(null==s?void 0:s.length)?a(e,{values:s}):null}join(e){const s=e.on&&this.expr(e.on);return s||e.using?a(e,{on:s}):e}fromTable(e){const s=this.tableRef(e.name);return s?a(e,{name:s,join:e.join&&this.join(e.join)}):null}selectionColumn(e){const s=this.expr(e.expr);return s?a(e,{expr:s}):null}expr(e){if(!e)return e;switch(e.type){case"binary":return this.binary(e);case"unary":return this.unary(e);case"ref":return this.ref(e);case"string":case"numeric":case"integer":case"boolean":case"constant":case"null":return this.constant(e);case"list":case"array":return this.array(e);case"array select":return this.arraySelect(e);case"call":return this.call(e);case"cast":return this.cast(e);case"case":return this.case(e);case"member":return this.member(e);case"arrayIndex":return this.arrayIndex(e);case"ternary":return this.ternary(e);case"select":case"union":case"union all":case"with":case"with recursive":return this.select(e);case"keyword":return this.valueKeyword(e);case"parameter":return this.parameter(e);case"extract":return this.extract(e);case"overlay":return this.callOverlay(e);case"substring":return this.callSubstring(e);case"values":return this.values(e);case"default":return this.default(e);default:throw r.NotSupported.never(e)}}arraySelect(e){const s=this.select(e.select);return s?a(e,{select:s}):null}extract(e){const s=this.expr(e.from);return s?a(e,{from:s}):null}valueKeyword(e){return e}ternary(e){const s=this.expr(e.value),t=this.expr(e.lo),r=this.expr(e.hi);return s&&t&&r?a(e,{value:s,lo:t,hi:r}):null}parameter(e){return e}arrayIndex(e){const s=this.expr(e.array),t=this.expr(e.index);return s&&t?a(e,{array:s,index:t}):null}member(e){const s=this.expr(e.operand);return s?a(e,{operand:s}):null}case(e){const s=e.value&&this.expr(e.value),t=n(e.whens,(e=>{const s=this.expr(e.when),t=this.expr(e.value);return s&&t?a(e,{value:t,when:s}):null}));return(null==t?void 0:t.length)?a(e,{value:s,whens:t,else:e.else&&this.expr(e.else)}):null}cast(e){const s=this.expr(e.operand);return s?a(e,{operand:s}):null}call(e){const s=n(e.args,(e=>this.expr(e)));return s?a(e,{args:s,orderBy:this.orderBy(e.orderBy),filter:this.expr(e.filter)}):null}callSubstring(e){return a(e,{value:this.expr(e.value),from:this.expr(e.from),for:this.expr(e.for)})}callOverlay(e){return a(e,{value:this.expr(e.value),placing:this.expr(e.placing),from:this.expr(e.from),for:this.expr(e.for)})}array(e){const s=n(e.expressions,(e=>this.expr(e)));return s?a(e,{expressions:s}):null}constant(e){return e}default(e){return e}ref(e){return e}unary(e){const s=this.expr(e.operand);return s?a(e,{operand:s}):null}binary(e){const s=this.expr(e.left),t=this.expr(e.right);return s&&t?a(e,{left:s,right:t}):null}}s.AstDefaultMapper=l;const i=l.prototype;for(const e of Object.getOwnPropertyNames(i)){const s=i[e];"constructor"!==e&&"super"!==e&&"function"==typeof s&&Object.defineProperty(i,e,{configurable:!1,get:()=>function(...t){var r;if(this.skipNext)return this.skipNext=!1,s.apply(this,t);const a=null===(r=this.wrapped)||void 0===r?void 0:r[e];return a?a.apply(this.wrapped,t):s.apply(this,t)}})}class c extends l{constructor(e){super(),this.parent=e}}for(const e of Object.getOwnPropertyNames(i)){const s=i[e];"constructor"!==e&&"super"!==e&&"function"==typeof s&&Object.defineProperty(c.prototype,e,{configurable:!1,get:()=>function(...e){return this.parent.skipNext=!0,s.apply(this.parent,e)}})}},function(e,s,t){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.sqlKeywords=void 0,s.sqlKeywords=["ALL","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","FALSE","FETCH","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","ILIKE","IN","INITIALLY","INNER","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","NATURAL","NOT","NOTNULL","NULL","OFFSET","ON","ONLY","OR","ORDER","OUTER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH","PRECISION"]},function(e,s,t){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.intervalToString=s.normalizeInterval=s.buildInterval=void 0;const r=[["years",12],["months",30],["days",24],["hours",60],["minutes",60],["seconds",1e3],["milliseconds",0]];function*a(e){if("number"==typeof e[1])yield e;else for(const s of e)yield*a(s)}function n(e){var s,t,a,n,o,l,i,c,p;const m={...e};for(let e=0;e=0?Math.floor(l):Math.ceil(l);if(!l||i===l)continue;const c=null===(t=r[e+1])||void 0===t?void 0:t[0];c&&(m[c]=(null!==(a=m[c])&&void 0!==a?a:0)+o*(l-i)),m[n]=i}if(m.months||m.years){const e=(null!==(n=m.months)&&void 0!==n?n:0)+12*(null!==(o=m.years)&&void 0!==o?o:0);m.months=e%12,m.years=(e-m.months)/12}let u=3600*(null!==(l=m.hours)&&void 0!==l?l:0)+60*(null!==(i=m.minutes)&&void 0!==i?i:0)+(null!==(c=m.seconds)&&void 0!==c?c:0)+(null!==(p=m.milliseconds)&&void 0!==p?p:0)/1e3,b=1;u<0&&(b=-1,u=-u),u>=3600?(m.hours=b*Math.floor(u/3600),u-=b*m.hours*3600):delete m.hours,u>=60?(m.minutes=b*Math.floor(u/60),u-=b*m.minutes*60):delete m.minutes,u>0?(m.seconds=b*Math.floor(u),u-=b*m.seconds):delete m.seconds,u>0?m.milliseconds=b*Math.round(1e3*u):delete m.milliseconds;for(const[e]of r)m[e]||delete m[e];return m}function o(e){return(e=Math.abs(e))<10?"0"+e:e.toString()}function l(e){return e&&e<0}s.buildInterval=function(e,s){var t;const r={};if("invalid"===s)throw new Error(`invalid input syntax for type interval: "${e}"`);for(const[e,n]of a(s))r[e]=(null!==(t=r[e])&&void 0!==t?t:0)+n;return r},s.normalizeInterval=n,s.intervalToString=function(e){var s,t,r;const a=[];if((e=n(e)).years&&a.push(1===e.years?"1 year":e.years+" years"),e.months&&a.push(1===e.months?"1 month":e.months+" months"),e.days&&a.push(1===e.days?"1 day":e.days+" days"),e.hours||e.minutes||e.seconds||e.milliseconds){let n=`${o(null!==(s=e.hours)&&void 0!==s?s:0)}:${o(null!==(t=e.minutes)&&void 0!==t?t:0)}:${o(null!==(r=e.seconds)&&void 0!==r?r:0)}`;e.milliseconds&&(n+=(e.milliseconds/1e3).toString().substr(1)),(l(e.hours)||l(e.minutes)||l(e.seconds)||l(e.milliseconds))&&(n="-"+n),a.push(n)}return a.join(" ")}},function(e,s,t){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.astVisitor=void 0;const r=t(2);class a{super(){return new o(this)}}const n=r.AstDefaultMapper.prototype;for(const e of Object.getOwnPropertyNames(n)){const s=n[e];"constructor"!==e&&"super"!==e&&"function"==typeof s&&Object.defineProperty(a.prototype,e,{configurable:!1,get:()=>function(...t){const r=this.visitor[e];return r?(r.apply(this.visitor,t),t[0]):s.apply(this,t)}})}class o{constructor(e){this.parent=e}}for(const e of Object.getOwnPropertyNames(n)){const s=n[e];"constructor"!==e&&"super"!==e&&"function"==typeof s&&Object.defineProperty(o.prototype,e,{configurable:!1,get:()=>function(...e){return s.apply(this.parent,e)}})}s.astVisitor=function(e){return(0,r.astMapper)((s=>{const t=new a;return t.mapper=s,t.visitor=e(t),t}))}},function(e,s,t){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.trimNullish=s.NotSupported=void 0;class r extends Error{constructor(e){super("Not supported"+(e?": "+e:""))}static never(e,s){return new r(`${null!=s?s:""} ${JSON.stringify(e)}`)}}s.NotSupported=r,s.trimNullish=function e(s,t=5){if(t<0)return s;if(s instanceof Array&&s.forEach((s=>e(s,t-1))),"object"!=typeof s||s instanceof Date)return s;if(!s)return s;for(const r of Object.keys(s)){const a=s[r];null==a?delete s[r]:e(a,t-1)}return s}},function(e,s,t){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,s,t,r){void 0===r&&(r=t);var a=Object.getOwnPropertyDescriptor(s,t);a&&!("get"in a?!s.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return s[t]}}),Object.defineProperty(e,r,a)}:function(e,s,t,r){void 0===r&&(r=t),e[r]=s[t]}),a=this&&this.__exportStar||function(e,s){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(s,t)||r(s,e,t)};Object.defineProperty(s,"__esModule",{value:!0}),s.normalizeInterval=s.intervalToString=s.toSql=s.astMapper=s.assignChanged=s.arrayNilMap=s.astVisitor=s.parseWithComments=s.parseIntervalLiteral=s.parseGeometricLiteral=s.parseArrayLiteral=s.parseFirst=s.parse=void 0;var n=t(8);Object.defineProperty(s,"parse",{enumerable:!0,get:function(){return n.parse}}),Object.defineProperty(s,"parseFirst",{enumerable:!0,get:function(){return n.parseFirst}}),Object.defineProperty(s,"parseArrayLiteral",{enumerable:!0,get:function(){return n.parseArrayLiteral}}),Object.defineProperty(s,"parseGeometricLiteral",{enumerable:!0,get:function(){return n.parseGeometricLiteral}}),Object.defineProperty(s,"parseIntervalLiteral",{enumerable:!0,get:function(){return n.parseIntervalLiteral}}),Object.defineProperty(s,"parseWithComments",{enumerable:!0,get:function(){return n.parseWithComments}});var o=t(5);Object.defineProperty(s,"astVisitor",{enumerable:!0,get:function(){return o.astVisitor}});var l=t(2);Object.defineProperty(s,"arrayNilMap",{enumerable:!0,get:function(){return l.arrayNilMap}}),Object.defineProperty(s,"assignChanged",{enumerable:!0,get:function(){return l.assignChanged}}),Object.defineProperty(s,"astMapper",{enumerable:!0,get:function(){return l.astMapper}});var i=t(19);Object.defineProperty(s,"toSql",{enumerable:!0,get:function(){return i.toSql}}),a(t(21),s);var c=t(4);Object.defineProperty(s,"intervalToString",{enumerable:!0,get:function(){return c.intervalToString}}),Object.defineProperty(s,"normalizeInterval",{enumerable:!0,get:function(){return c.normalizeInterval}})},function(e,s,t){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(s,"__esModule",{value:!0}),s.parseGeometricLiteral=s.parseIntervalLiteral=s.parseArrayLiteral=s.parse=s.parseWithComments=s.parseFirst=void 0;const a=t(9),n=r(t(10)),o=r(t(11)),l=r(t(13)),i=r(t(15)),c=r(t(17)),p=t(4),m=t(1);let u,b,_,y,$;function d(e,s){u||(u=a.Grammar.fromCompiled(n.default));const t="string"==typeof s?s:null==s?void 0:s.entry,r="string"==typeof s?null:s,o=()=>f(e,u,t);let l=(null==r?void 0:r.locationTracking)?(0,m.tracking)(o):o();return"string"==typeof s||Array.isArray(l)||(l=[l]),l}function f(e,s,t){try{s.start=null!=t?t:"main";const r=new a.Parser(s);r.feed(e);const n=r.finish();if(!n.length)throw new Error("Unexpected end of input");if(1!==n.length)throw new Error(`💀 Ambiguous SQL syntax: Please file an issue stating the request that has failed at https://github.com/oguimbal/pgsql-ast-parser:\n\n ${e}\n\n `);return n[0]}catch(e){if("string"!=typeof(null==e?void 0:e.message))throw e;let s=e.message,t=null;const r=[],a=/A (.+) token based on:/g;let n;for(;n=a.exec(s);)t=null!=t?t:s.substr(0,n.index),r.push(` - A "${n[1]}" token`);throw t&&(s=t+r.join("\n")+"\n\n"),e.message=s,e}}s.parseFirst=function(e){return d(e)[0]},s.parseWithComments=function(e,s){return(0,m.trackingComments)((()=>d(e,s)))},s.parse=d,s.parseArrayLiteral=function(e){return b||(b=a.Grammar.fromCompiled(o.default)),f(e,b)},s.parseIntervalLiteral=function(e){if(e.startsWith("P"))return $||($=a.Grammar.fromCompiled(c.default)),(0,p.buildInterval)(e,f(e,$));{y||(y=a.Grammar.fromCompiled(i.default));const s=e.toLowerCase();return(0,p.buildInterval)(e,f(s,y))}},s.parseGeometricLiteral=function(e,s){return _||(_=a.Grammar.fromCompiled(l.default)),f(e,_,s)}},function(e,s){e.exports=t(7606)},function(e,s,t){"use strict";function r(e){return e[0]}Object.defineProperty(s,"__esModule",{value:!0});const a=t(1),n=t(1);function o(e){return l(e,void 0)}function l(e,s){const t=y(e);return s&&0!==s.length?(0,n.track)(e,{name:t,columns:s.map((e=>({name:y(e)})))}):(0,n.track)(e,{name:t})}function i(e){const s=y(e);return(0,n.track)(e,{value:s})}function c(e){return Array.isArray(e)&&1===e.length&&(e=c(e[0])),Array.isArray(e)&&!e.length?null:(0,n.unbox)(e)}const p=e=>s=>(0,n.track)(s,s[e]),m=e=>Array.isArray(e)?(0,n.track)(e[e.length-1],e[e.length-1]):e;function u(e){if(Array.isArray(e)){const s=[];for(const t of e)s.push(...u(t));return s}return e?[e]:[]}function b(e){var s;return null!==(s=null==(e=(0,n.unbox)(e))?void 0:e.value)&&void 0!==s?s:e}function _(e){return u((0,n.unbox)(e)).filter((e=>!!e)).map((e=>b(e))).filter((e=>"string"==typeof e)).map((e=>e.trim())).filter((e=>!!e))}function y(e,s){return _(e).join(s||"")}function $(e){const s={};for(const[t,r]of e)s[t]=r;return s}const d={sensitivity:"accent"},f=e=>(s,t,r)=>{const a=b(s[0]);return o=e,0===a.localeCompare(o,void 0,d)?(0,n.box)(s,e):r;var o},h=f,x=(...e)=>{const s=new Set(e);return(e,t,r)=>{const a="string"==typeof e[0]?e[0]:e[0].value;return s.has(a)?a:r}};function w(e,s){const t=new Set,r=s.map(n.unbox);for(const[s,a]of r){if(t.has(s))throw new Error("conflicting or redundant options");t.add(s),e[s]=(0,n.unbox)(a)}}const k={Lexer:a.lexerAny,ParserRules:[{name:"lparen",symbols:[a.lexerAny.has("lparen")?{type:"lparen"}:lparen]},{name:"rparen",symbols:[a.lexerAny.has("rparen")?{type:"rparen"}:rparen]},{name:"number$subexpression$1",symbols:["float"]},{name:"number$subexpression$1",symbols:["int"]},{name:"number",symbols:["number$subexpression$1"],postprocess:c},{name:"dot",symbols:[a.lexerAny.has("dot")?{type:"dot"}:dot],postprocess:r},{name:"float",symbols:[a.lexerAny.has("float")?{type:"float"}:float],postprocess:e=>(0,n.box)(e,parseFloat(c(e)))},{name:"int",symbols:[a.lexerAny.has("int")?{type:"int"}:int],postprocess:e=>(0,n.box)(e,parseInt(c(e),10))},{name:"comma",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma],postprocess:r},{name:"star",symbols:[a.lexerAny.has("star")?{type:"star"}:star],postprocess:e=>(0,n.box)(e,e[0].value)},{name:"string$subexpression$1",symbols:[a.lexerAny.has("string")?{type:"string"}:string]},{name:"string$subexpression$1",symbols:[a.lexerAny.has("eString")?{type:"eString"}:eString]},{name:"string",symbols:["string$subexpression$1"],postprocess:e=>(0,n.box)(e,c(e[0]).value)},{name:"ident",symbols:["word"],postprocess:p(0)},{name:"word",symbols:[a.lexerAny.has("kw_primary")?{type:"kw_primary"}:kw_primary],postprocess:e=>(0,n.box)(e,"primary")},{name:"word",symbols:[a.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique],postprocess:e=>(0,n.box)(e,"unique")},{name:"word",symbols:[a.lexerAny.has("quoted_word")?{type:"quoted_word"}:quoted_word],postprocess:e=>(0,n.box)(e,e[0].value,!0)},{name:"word",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:e=>(0,n.box)(e,e[0].value)},{name:"collist_paren",symbols:["lparen","collist","rparen"],postprocess:p(1)},{name:"collist$ebnf$1",symbols:[]},{name:"collist$ebnf$1$subexpression$1",symbols:["comma","ident"],postprocess:m},{name:"collist$ebnf$1",symbols:["collist$ebnf$1","collist$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"collist",symbols:["ident","collist$ebnf$1"],postprocess:([e,s])=>[e,...s||[]]},{name:"kw_between",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("between")},{name:"kw_conflict",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("conflict")},{name:"kw_nothing",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("nothing")},{name:"kw_begin",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("begin")},{name:"kw_if",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("if")},{name:"kw_exists",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("exists")},{name:"kw_key",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("key")},{name:"kw_index",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("index")},{name:"kw_extension",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("extension")},{name:"kw_schema",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("schema")},{name:"kw_nulls",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("nulls")},{name:"kw_first",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("first")},{name:"kw_last",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("last")},{name:"kw_start",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("start")},{name:"kw_restart",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("restart")},{name:"kw_filter",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("filter")},{name:"kw_commit",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("commit")},{name:"kw_tablespace",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("tablespace")},{name:"kw_transaction",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("transaction")},{name:"kw_work",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("work")},{name:"kw_read",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("read")},{name:"kw_write",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("write")},{name:"kw_isolation",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("isolation")},{name:"kw_level",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("level")},{name:"kw_serializable",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("serializable")},{name:"kw_rollback",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("rollback")},{name:"kw_insert",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("insert")},{name:"kw_value",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("value")},{name:"kw_values",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("values")},{name:"kw_update",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("update")},{name:"kw_column",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("column")},{name:"kw_set",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("set")},{name:"kw_version",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("version")},{name:"kw_alter",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("alter")},{name:"kw_rename",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("rename")},{name:"kw_sequence",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("sequence")},{name:"kw_temp",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("temp")},{name:"kw_temporary",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("temporary")},{name:"kw_add",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("add")},{name:"kw_owner",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("owner")},{name:"kw_owned",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("owned")},{name:"kw_including",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("including")},{name:"kw_excluding",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("excluding")},{name:"kw_none",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("none")},{name:"kw_drop",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("drop")},{name:"kw_operator",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("operator")},{name:"kw_minvalue",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("minvalue")},{name:"kw_maxvalue",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("maxvalue")},{name:"kw_data",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("data")},{name:"kw_type",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("type")},{name:"kw_trigger",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("trigger")},{name:"kw_delete",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("delete")},{name:"kw_cache",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("cache")},{name:"kw_cascade",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("cascade")},{name:"kw_no",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("no")},{name:"kw_timestamp",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("timestamp")},{name:"kw_cycle",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("cycle")},{name:"kw_function",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("function")},{name:"kw_returns",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("returns")},{name:"kw_language",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("language")},{name:"kw_out",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("out")},{name:"kw_inout",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("inout")},{name:"kw_variadic",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("variadic")},{name:"kw_action",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("action")},{name:"kw_restrict",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("restrict")},{name:"kw_truncate",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("truncate")},{name:"kw_increment",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("increment")},{name:"kw_by",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("by")},{name:"kw_row",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("row")},{name:"kw_rows",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("rows")},{name:"kw_next",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("next")},{name:"kw_match",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("match")},{name:"kw_replace",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("replace")},{name:"kw_recursive",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("recursive")},{name:"kw_view",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("view")},{name:"kw_cascaded",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("cascaded")},{name:"kw_unlogged",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("unlogged")},{name:"kw_global",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("global")},{name:"kw_option",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("option")},{name:"kw_materialized",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("materialized")},{name:"kw_partial",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("partial")},{name:"kw_partition",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("partition")},{name:"kw_simple",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("simple")},{name:"kw_generated",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("generated")},{name:"kw_always",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("always")},{name:"kw_identity",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("identity")},{name:"kw_name",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("name")},{name:"kw_enum",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("enum")},{name:"kw_show",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("show")},{name:"kw_ordinality",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("ordinality")},{name:"kw_overriding",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("overriding")},{name:"kw_over",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("over")},{name:"kw_system",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("system")},{name:"kw_comment",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("comment")},{name:"kw_time",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("time")},{name:"kw_at",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("at")},{name:"kw_zone",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("zone")},{name:"kw_interval",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("interval")},{name:"kw_hour",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("hour")},{name:"kw_minute",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("minute")},{name:"kw_local",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("local")},{name:"kw_prepare",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("prepare")},{name:"kw_deallocate",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("deallocate")},{name:"kw_raise",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("raise")},{name:"kw_continue",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("continue")},{name:"kw_share",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("share")},{name:"kw_refresh",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("refresh")},{name:"kw_ifnotexists",symbols:["kw_if",a.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not,"kw_exists"]},{name:"kw_ifexists",symbols:["kw_if","kw_exists"]},{name:"kw_withordinality",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"kw_ordinality"]},{name:"kw_not_null",symbols:[a.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not,a.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null]},{name:"kw_primary_key",symbols:[a.lexerAny.has("kw_primary")?{type:"kw_primary"}:kw_primary,"kw_key"]},{name:"data_type$ebnf$1$subexpression$1$macrocall$2",symbols:["int"]},{name:"data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1",symbols:[]},{name:"data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"data_type$ebnf$1$subexpression$1$macrocall$2"],postprocess:m},{name:"data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1",symbols:["data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1","data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"data_type$ebnf$1$subexpression$1$macrocall$1",symbols:["data_type$ebnf$1$subexpression$1$macrocall$2","data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1"],postprocess:([e,s])=>[e,...s||[]]},{name:"data_type$ebnf$1$subexpression$1",symbols:["lparen","data_type$ebnf$1$subexpression$1$macrocall$1","rparen"],postprocess:p(1)},{name:"data_type$ebnf$1",symbols:["data_type$ebnf$1$subexpression$1"],postprocess:r},{name:"data_type$ebnf$1",symbols:[],postprocess:()=>null},{name:"data_type$ebnf$2$subexpression$1",symbols:[a.lexerAny.has("kw_array")?{type:"kw_array"}:kw_array]},{name:"data_type$ebnf$2$subexpression$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,a.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket]},{name:"data_type$ebnf$2$subexpression$1$ebnf$1",symbols:["data_type$ebnf$2$subexpression$1$ebnf$1$subexpression$1"]},{name:"data_type$ebnf$2$subexpression$1$ebnf$1$subexpression$2",symbols:[a.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,a.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket]},{name:"data_type$ebnf$2$subexpression$1$ebnf$1",symbols:["data_type$ebnf$2$subexpression$1$ebnf$1","data_type$ebnf$2$subexpression$1$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"data_type$ebnf$2$subexpression$1",symbols:["data_type$ebnf$2$subexpression$1$ebnf$1"]},{name:"data_type$ebnf$2",symbols:["data_type$ebnf$2$subexpression$1"],postprocess:r},{name:"data_type$ebnf$2",symbols:[],postprocess:()=>null},{name:"data_type",symbols:["data_type_simple","data_type$ebnf$1","data_type$ebnf$2"],postprocess:e=>{let s,t=e[2];if(s={...c(e[0]),...Array.isArray(e[1])&&e[1].length?{config:e[1].map(c)}:{}},t){"kw_array"===t[0].type&&(t=[["array"]]);for(const e of t[0])s={kind:"array",arrayOf:s}}return(0,n.track)(e,s)}},{name:"data_type_list$ebnf$1",symbols:[]},{name:"data_type_list$ebnf$1$subexpression$1",symbols:["comma","data_type"],postprocess:m},{name:"data_type_list$ebnf$1",symbols:["data_type_list$ebnf$1","data_type_list$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"data_type_list",symbols:["data_type","data_type_list$ebnf$1"],postprocess:([e,s])=>[e,...s||[]]},{name:"data_type_simple",symbols:["data_type_text"],postprocess:e=>(0,n.track)(e,{name:y(e," ")})},{name:"data_type_simple",symbols:["data_type_numeric"],postprocess:e=>(0,n.track)(e,{name:y(e," ")})},{name:"data_type_simple",symbols:["data_type_date"]},{name:"data_type_simple",symbols:["qualified_name_mark_quotes"]},{name:"data_type_numeric$subexpression$1",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("double")},{name:"data_type_numeric",symbols:["data_type_numeric$subexpression$1",a.lexerAny.has("kw_precision")?{type:"kw_precision"}:kw_precision]},{name:"data_type_text$subexpression$1",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:x("character","bit")},{name:"data_type_text$subexpression$2",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("varying")},{name:"data_type_text",symbols:["data_type_text$subexpression$1","data_type_text$subexpression$2"]},{name:"data_type_date$subexpression$1",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:x("timestamp","time")},{name:"data_type_date$subexpression$2",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with]},{name:"data_type_date$subexpression$2",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("without")},{name:"data_type_date$subexpression$3",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("time")},{name:"data_type_date$subexpression$4",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("zone")},{name:"data_type_date",symbols:["data_type_date$subexpression$1","data_type_date$subexpression$2","data_type_date$subexpression$3","data_type_date$subexpression$4"],postprocess:e=>(0,n.track)(e,{name:y(e," ")})},{name:"data_type_date$subexpression$5",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:x("timestamp","time")},{name:"data_type_date$subexpression$6",symbols:["lparen","int","rparen"],postprocess:p(1)},{name:"data_type_date$subexpression$7",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with]},{name:"data_type_date$subexpression$7",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("without")},{name:"data_type_date$subexpression$8",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("time")},{name:"data_type_date$subexpression$9",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("zone")},{name:"data_type_date",symbols:["data_type_date$subexpression$5","data_type_date$subexpression$6","data_type_date$subexpression$7","data_type_date$subexpression$8","data_type_date$subexpression$9"],postprocess:e=>(0,n.track)(e,{name:`timestamp ${y(e[2])} time zone`,config:[(0,n.unbox)(e[1])]})},{name:"ident_aliased$subexpression$1",symbols:[a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"ident"],postprocess:m},{name:"ident_aliased",symbols:["ident_aliased$subexpression$1"]},{name:"ident_aliased",symbols:["ident"],postprocess:c},{name:"table_ref",symbols:["qualified_name"],postprocess:c},{name:"qcolumn$ebnf$1$subexpression$1",symbols:["dot","ident"],postprocess:m},{name:"qcolumn$ebnf$1",symbols:["qcolumn$ebnf$1$subexpression$1"],postprocess:r},{name:"qcolumn$ebnf$1",symbols:[],postprocess:()=>null},{name:"qcolumn",symbols:["ident","dot","ident","qcolumn$ebnf$1"],postprocess:e=>e[3]?(0,n.track)(e,{schema:(0,n.unbox)(e[0]),table:(0,n.unbox)(e[2]),column:(0,n.unbox)(e[3])}):(0,n.track)(e,{table:(0,n.unbox)(e[0]),column:(0,n.unbox)(e[2])})},{name:"table_ref_aliased$ebnf$1",symbols:["ident_aliased"],postprocess:r},{name:"table_ref_aliased$ebnf$1",symbols:[],postprocess:()=>null},{name:"table_ref_aliased",symbols:["table_ref","table_ref_aliased$ebnf$1"],postprocess:e=>{const s=c(e[1]);return(0,n.track)(e,{...c(e[0]),...s?{alias:s}:{}})}},{name:"qualified_name",symbols:["qname_ident"],postprocess:e=>(0,n.track)(e,{name:y(e)})},{name:"qualified_name",symbols:["ident","dot","ident_extended"],postprocess:e=>{const s=y(e[0]),t=y(e[2]);return(0,n.track)(e,{schema:s,name:t})}},{name:"qualified_name",symbols:[a.lexerAny.has("kw_current_schema")?{type:"kw_current_schema"}:kw_current_schema],postprocess:e=>(0,n.track)(e,{name:"current_schema"})},{name:"qualified_name_mark_quotes",symbols:["qname_ident"],postprocess:e=>(0,n.track)(e,{name:y(e),...(0,n.doubleQuoted)(e)})},{name:"qualified_name_mark_quotes",symbols:["ident","dot","ident_extended"],postprocess:e=>{const s=y(e[0]),t=y(e[2]);return(0,n.track)(e,{schema:s,name:t,...(0,n.doubleQuoted)(e[2])})}},{name:"qualified_name_mark_quotes",symbols:[a.lexerAny.has("kw_current_schema")?{type:"kw_current_schema"}:kw_current_schema],postprocess:e=>(0,n.track)(e,{name:"current_schema"})},{name:"qname_ident",symbols:["ident"]},{name:"qname_ident",symbols:[a.lexerAny.has("kw_precision")?{type:"kw_precision"}:kw_precision]},{name:"qname",symbols:["qualified_name"],postprocess:c},{name:"any_keyword",symbols:[a.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_analyse")?{type:"kw_analyse"}:kw_analyse]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_analyze")?{type:"kw_analyze"}:kw_analyze]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_and")?{type:"kw_and"}:kw_and]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_any")?{type:"kw_any"}:kw_any]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_array")?{type:"kw_array"}:kw_array]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_asc")?{type:"kw_asc"}:kw_asc]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_asymmetric")?{type:"kw_asymmetric"}:kw_asymmetric]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_authorization")?{type:"kw_authorization"}:kw_authorization]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_binary")?{type:"kw_binary"}:kw_binary]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_both")?{type:"kw_both"}:kw_both]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_case")?{type:"kw_case"}:kw_case]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_cast")?{type:"kw_cast"}:kw_cast]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_check")?{type:"kw_check"}:kw_check]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_collate")?{type:"kw_collate"}:kw_collate]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_collation")?{type:"kw_collation"}:kw_collation]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_concurrently")?{type:"kw_concurrently"}:kw_concurrently]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_cross")?{type:"kw_cross"}:kw_cross]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_current_catalog")?{type:"kw_current_catalog"}:kw_current_catalog]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_current_date")?{type:"kw_current_date"}:kw_current_date]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_current_role")?{type:"kw_current_role"}:kw_current_role]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_current_schema")?{type:"kw_current_schema"}:kw_current_schema]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_current_time")?{type:"kw_current_time"}:kw_current_time]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_current_timestamp")?{type:"kw_current_timestamp"}:kw_current_timestamp]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_current_user")?{type:"kw_current_user"}:kw_current_user]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_deferrable")?{type:"kw_deferrable"}:kw_deferrable]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_desc")?{type:"kw_desc"}:kw_desc]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_distinct")?{type:"kw_distinct"}:kw_distinct]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_do")?{type:"kw_do"}:kw_do]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_else")?{type:"kw_else"}:kw_else]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_end")?{type:"kw_end"}:kw_end]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_except")?{type:"kw_except"}:kw_except]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_false")?{type:"kw_false"}:kw_false]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_fetch")?{type:"kw_fetch"}:kw_fetch]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_for")?{type:"kw_for"}:kw_for]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_foreign")?{type:"kw_foreign"}:kw_foreign]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_freeze")?{type:"kw_freeze"}:kw_freeze]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_full")?{type:"kw_full"}:kw_full]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_grant")?{type:"kw_grant"}:kw_grant]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_group")?{type:"kw_group"}:kw_group]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_having")?{type:"kw_having"}:kw_having]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_ilike")?{type:"kw_ilike"}:kw_ilike]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_in")?{type:"kw_in"}:kw_in]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_initially")?{type:"kw_initially"}:kw_initially]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_inner")?{type:"kw_inner"}:kw_inner]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_intersect")?{type:"kw_intersect"}:kw_intersect]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_into")?{type:"kw_into"}:kw_into]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_isnull")?{type:"kw_isnull"}:kw_isnull]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_join")?{type:"kw_join"}:kw_join]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_lateral")?{type:"kw_lateral"}:kw_lateral]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_leading")?{type:"kw_leading"}:kw_leading]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_left")?{type:"kw_left"}:kw_left]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_like")?{type:"kw_like"}:kw_like]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_limit")?{type:"kw_limit"}:kw_limit]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_localtime")?{type:"kw_localtime"}:kw_localtime]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_localtimestamp")?{type:"kw_localtimestamp"}:kw_localtimestamp]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_natural")?{type:"kw_natural"}:kw_natural]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_notnull")?{type:"kw_notnull"}:kw_notnull]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_offset")?{type:"kw_offset"}:kw_offset]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_only")?{type:"kw_only"}:kw_only]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_or")?{type:"kw_or"}:kw_or]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_order")?{type:"kw_order"}:kw_order]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_outer")?{type:"kw_outer"}:kw_outer]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_overlaps")?{type:"kw_overlaps"}:kw_overlaps]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_placing")?{type:"kw_placing"}:kw_placing]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_primary")?{type:"kw_primary"}:kw_primary]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_references")?{type:"kw_references"}:kw_references]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_returning")?{type:"kw_returning"}:kw_returning]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_right")?{type:"kw_right"}:kw_right]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_select")?{type:"kw_select"}:kw_select]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_session_user")?{type:"kw_session_user"}:kw_session_user]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_similar")?{type:"kw_similar"}:kw_similar]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_some")?{type:"kw_some"}:kw_some]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_symmetric")?{type:"kw_symmetric"}:kw_symmetric]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_tablesample")?{type:"kw_tablesample"}:kw_tablesample]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_then")?{type:"kw_then"}:kw_then]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_trailing")?{type:"kw_trailing"}:kw_trailing]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_true")?{type:"kw_true"}:kw_true]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_union")?{type:"kw_union"}:kw_union]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_user")?{type:"kw_user"}:kw_user]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_using")?{type:"kw_using"}:kw_using]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_variadic")?{type:"kw_variadic"}:kw_variadic]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_verbose")?{type:"kw_verbose"}:kw_verbose]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_when")?{type:"kw_when"}:kw_when]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_window")?{type:"kw_window"}:kw_window]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with]},{name:"ident_extended",symbols:["ident"]},{name:"ident_extended",symbols:["any_keyword"]},{name:"select_statement$ebnf$1",symbols:["select_from"],postprocess:r},{name:"select_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$2",symbols:["select_where"],postprocess:r},{name:"select_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$3",symbols:["select_groupby"],postprocess:r},{name:"select_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$4",symbols:["select_order_by"],postprocess:r},{name:"select_statement$ebnf$4",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$5",symbols:["select_limit_offset"],postprocess:r},{name:"select_statement$ebnf$5",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$6",symbols:["select_for"],postprocess:r},{name:"select_statement$ebnf$6",symbols:[],postprocess:()=>null},{name:"select_statement",symbols:["select_what","select_statement$ebnf$1","select_statement$ebnf$2","select_statement$ebnf$3","select_statement$ebnf$4","select_statement$ebnf$5","select_statement$ebnf$6"],postprocess:e=>{let[s,t,r,a,o,l,i]=e;return t=c(t),a=a&&(1===a.length&&"list"===a[0].type?a[0].expressions:a),(0,n.track)(e,{...s,...t?{from:Array.isArray(t)?t:[t]}:{},...a?{groupBy:a}:{},...l?{limit:c(l)}:{},...o?{orderBy:o}:{},...r?{where:r}:{},...i?{for:i[1]}:{},type:"select"})}},{name:"select_from",symbols:[a.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"select_from_items"],postprocess:m},{name:"select_from_items$ebnf$1",symbols:[]},{name:"select_from_items$ebnf$1$subexpression$1",symbols:["comma","select_from_item"],postprocess:m},{name:"select_from_items$ebnf$1",symbols:["select_from_items$ebnf$1","select_from_items$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"select_from_items",symbols:["select_from_item","select_from_items$ebnf$1"],postprocess:([e,s])=>[...e,...u(s)||[]]},{name:"select_from_item",symbols:["select_from_subject"]},{name:"select_from_item",symbols:["select_from_item_joins"],postprocess:p(0)},{name:"select_from_item_joins$subexpression$1",symbols:["select_from_item"],postprocess:p(0)},{name:"select_from_item_joins",symbols:["select_from_item_joins$subexpression$1","select_table_join"],postprocess:u},{name:"select_from_item_joins",symbols:["lparen","select_from_item_joins","rparen"],postprocess:p(1)},{name:"select_from_subject",symbols:["stb_table"],postprocess:c},{name:"select_from_subject",symbols:["stb_statement"],postprocess:c},{name:"select_from_subject",symbols:["stb_call"],postprocess:c},{name:"stb_opts$ebnf$1",symbols:["collist_paren"],postprocess:r},{name:"stb_opts$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_opts",symbols:["ident_aliased","stb_opts$ebnf$1"],postprocess:e=>(0,n.track)(e,{alias:y(e[0]),...e[1]&&{columnNames:(0,n.unbox)(e[1]).map(o)}})},{name:"stb_table$ebnf$1",symbols:["stb_opts"],postprocess:r},{name:"stb_table$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_table",symbols:["table_ref","stb_table$ebnf$1"],postprocess:e=>(0,n.track)(e,{type:"table",name:(0,n.track)(e,{...e[0],...e[1]})})},{name:"stb_statement",symbols:["selection_paren","stb_opts"],postprocess:e=>(0,n.track)(e,{type:"statement",statement:c(e[0]),...e[1]})},{name:"select_values",symbols:["kw_values","insert_values"],postprocess:e=>(0,n.track)(e,{type:"values",values:e[1]})},{name:"stb_call$ebnf$1",symbols:["kw_withordinality"],postprocess:r},{name:"stb_call$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_call$ebnf$2",symbols:["stb_call_alias"],postprocess:r},{name:"stb_call$ebnf$2",symbols:[],postprocess:()=>null},{name:"stb_call",symbols:["expr_function_call","stb_call$ebnf$1","stb_call$ebnf$2"],postprocess:e=>{const s=e[1],t=e[2];return s||t?(0,n.track)(e,{...e[0],...s&&{withOrdinality:!0},alias:t?l(t[0],t[1]):void 0}):e[0]}},{name:"stb_call_alias$subexpression$1$ebnf$1",symbols:[a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as],postprocess:r},{name:"stb_call_alias$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_call_alias$subexpression$1",symbols:["stb_call_alias$subexpression$1$ebnf$1","ident"],postprocess:m},{name:"stb_call_alias$ebnf$1",symbols:["stb_call_alias_list"],postprocess:r},{name:"stb_call_alias$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_call_alias",symbols:["stb_call_alias$subexpression$1","stb_call_alias$ebnf$1"]},{name:"stb_call_alias_list",symbols:["lparen","stb_call_alias_list_raw","rparen"],postprocess:p(1)},{name:"stb_call_alias_list_raw$ebnf$1",symbols:[]},{name:"stb_call_alias_list_raw$ebnf$1$subexpression$1",symbols:["comma","ident"],postprocess:m},{name:"stb_call_alias_list_raw$ebnf$1",symbols:["stb_call_alias_list_raw$ebnf$1","stb_call_alias_list_raw$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"stb_call_alias_list_raw",symbols:["ident","stb_call_alias_list_raw$ebnf$1"],postprocess:([e,s])=>[e,...s||[]]},{name:"select_table_join$ebnf$1",symbols:["select_table_join_clause"],postprocess:r},{name:"select_table_join$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_table_join",symbols:["select_join_op",a.lexerAny.has("kw_join")?{type:"kw_join"}:kw_join,"select_from_subject","select_table_join$ebnf$1"],postprocess:e=>(0,n.track)(e,{...c(e[2]),join:{type:y(e[0]," "),...e[3]&&c(e[3])}})},{name:"select_table_join_clause",symbols:[a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"expr"],postprocess:e=>(0,n.track)(e,{on:m(e)})},{name:"select_table_join_clause$macrocall$2",symbols:["ident"]},{name:"select_table_join_clause$macrocall$1$ebnf$1",symbols:[]},{name:"select_table_join_clause$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"select_table_join_clause$macrocall$2"],postprocess:m},{name:"select_table_join_clause$macrocall$1$ebnf$1",symbols:["select_table_join_clause$macrocall$1$ebnf$1","select_table_join_clause$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"select_table_join_clause$macrocall$1",symbols:["select_table_join_clause$macrocall$2","select_table_join_clause$macrocall$1$ebnf$1"],postprocess:([e,s])=>[c(e),...s.map(c)||[]]},{name:"select_table_join_clause",symbols:[a.lexerAny.has("kw_using")?{type:"kw_using"}:kw_using,"lparen","select_table_join_clause$macrocall$1","rparen"],postprocess:e=>(0,n.track)(e,{using:e[2].map(o)})},{name:"select_join_op$subexpression$1$ebnf$1",symbols:[a.lexerAny.has("kw_inner")?{type:"kw_inner"}:kw_inner],postprocess:r},{name:"select_join_op$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_join_op$subexpression$1",symbols:["select_join_op$subexpression$1$ebnf$1"],postprocess:e=>(0,n.box)(e,"INNER JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$1"]},{name:"select_join_op$subexpression$2",symbols:[a.lexerAny.has("kw_cross")?{type:"kw_cross"}:kw_cross],postprocess:e=>(0,n.box)(e,"CROSS JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$2"]},{name:"select_join_op$subexpression$3$ebnf$1",symbols:[a.lexerAny.has("kw_outer")?{type:"kw_outer"}:kw_outer],postprocess:r},{name:"select_join_op$subexpression$3$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_join_op$subexpression$3",symbols:[a.lexerAny.has("kw_left")?{type:"kw_left"}:kw_left,"select_join_op$subexpression$3$ebnf$1"],postprocess:e=>(0,n.box)(e,"LEFT JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$3"]},{name:"select_join_op$subexpression$4$ebnf$1",symbols:[a.lexerAny.has("kw_outer")?{type:"kw_outer"}:kw_outer],postprocess:r},{name:"select_join_op$subexpression$4$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_join_op$subexpression$4",symbols:[a.lexerAny.has("kw_right")?{type:"kw_right"}:kw_right,"select_join_op$subexpression$4$ebnf$1"],postprocess:e=>(0,n.box)(e,"RIGHT JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$4"]},{name:"select_join_op$subexpression$5$ebnf$1",symbols:[a.lexerAny.has("kw_outer")?{type:"kw_outer"}:kw_outer],postprocess:r},{name:"select_join_op$subexpression$5$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_join_op$subexpression$5",symbols:[a.lexerAny.has("kw_full")?{type:"kw_full"}:kw_full,"select_join_op$subexpression$5$ebnf$1"],postprocess:e=>(0,n.box)(e,"FULL JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$5"]},{name:"select_what$ebnf$1",symbols:["select_distinct"],postprocess:r},{name:"select_what$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_what$ebnf$2",symbols:["select_expr_list_aliased"],postprocess:r},{name:"select_what$ebnf$2",symbols:[],postprocess:()=>null},{name:"select_what",symbols:[a.lexerAny.has("kw_select")?{type:"kw_select"}:kw_select,"select_what$ebnf$1","select_what$ebnf$2"],postprocess:e=>(0,n.track)(e,{columns:e[2],...e[1]&&{distinct:(0,n.unbox)(e[1])}})},{name:"select_expr_list_aliased$ebnf$1",symbols:[]},{name:"select_expr_list_aliased$ebnf$1$subexpression$1",symbols:["comma","select_expr_list_item"],postprocess:m},{name:"select_expr_list_aliased$ebnf$1",symbols:["select_expr_list_aliased$ebnf$1","select_expr_list_aliased$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"select_expr_list_aliased",symbols:["select_expr_list_item","select_expr_list_aliased$ebnf$1"],postprocess:([e,s])=>[e,...s||[]]},{name:"select_expr_list_item$ebnf$1",symbols:["ident_aliased"],postprocess:r},{name:"select_expr_list_item$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_expr_list_item",symbols:["expr","select_expr_list_item$ebnf$1"],postprocess:e=>(0,n.track)(e,{expr:e[0],...e[1]?{alias:o(e[1])}:{}})},{name:"select_distinct",symbols:[a.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all],postprocess:e=>(0,n.box)(e,"all")},{name:"select_distinct$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"lparen","expr_list_raw","rparen"],postprocess:p(2)},{name:"select_distinct$ebnf$1",symbols:["select_distinct$ebnf$1$subexpression$1"],postprocess:r},{name:"select_distinct$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_distinct",symbols:[a.lexerAny.has("kw_distinct")?{type:"kw_distinct"}:kw_distinct,"select_distinct$ebnf$1"],postprocess:e=>(0,n.box)(e,e[1]||"distinct")},{name:"select_where",symbols:[a.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where,"expr"],postprocess:m},{name:"select_groupby",symbols:[a.lexerAny.has("kw_group")?{type:"kw_group"}:kw_group,"kw_by","expr_list_raw"],postprocess:m},{name:"select_limit_offset$ebnf$1$subexpression$1",symbols:["select_offset"]},{name:"select_limit_offset$ebnf$1$subexpression$1",symbols:["select_limit"]},{name:"select_limit_offset$ebnf$1",symbols:["select_limit_offset$ebnf$1$subexpression$1"]},{name:"select_limit_offset$ebnf$1$subexpression$2",symbols:["select_offset"]},{name:"select_limit_offset$ebnf$1$subexpression$2",symbols:["select_limit"]},{name:"select_limit_offset$ebnf$1",symbols:["select_limit_offset$ebnf$1","select_limit_offset$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"select_limit_offset",symbols:["select_limit_offset$ebnf$1"],postprocess:(e,s)=>{const t=c(e);if(!Array.isArray(t))return(0,n.track)(e,t);if(2!=t.length)return s;const r=c(t[0]),a=c(t[1]);return r.offset&&a.offset||r.limit&&a.limit?s:(0,n.track)(e,{...r,...a})}},{name:"select_offset$ebnf$1$subexpression$1",symbols:["kw_row"]},{name:"select_offset$ebnf$1$subexpression$1",symbols:["kw_rows"]},{name:"select_offset$ebnf$1",symbols:["select_offset$ebnf$1$subexpression$1"],postprocess:r},{name:"select_offset$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_offset",symbols:[a.lexerAny.has("kw_offset")?{type:"kw_offset"}:kw_offset,"expr_nostar","select_offset$ebnf$1"],postprocess:e=>(0,n.track)(e,{offset:c(e[1])})},{name:"select_limit$subexpression$1",symbols:["select_limit_1"]},{name:"select_limit$subexpression$1",symbols:["select_limit_2"]},{name:"select_limit",symbols:["select_limit$subexpression$1"],postprocess:e=>(0,n.track)(e,{limit:c(e)})},{name:"select_limit_1",symbols:[a.lexerAny.has("kw_limit")?{type:"kw_limit"}:kw_limit,"expr_nostar"],postprocess:m},{name:"select_limit_2$ebnf$1$subexpression$1",symbols:["kw_first"]},{name:"select_limit_2$ebnf$1$subexpression$1",symbols:["kw_next"]},{name:"select_limit_2$ebnf$1",symbols:["select_limit_2$ebnf$1$subexpression$1"],postprocess:r},{name:"select_limit_2$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_limit_2$subexpression$1",symbols:["kw_row"]},{name:"select_limit_2$subexpression$1",symbols:["kw_rows"]},{name:"select_limit_2",symbols:[a.lexerAny.has("kw_fetch")?{type:"kw_fetch"}:kw_fetch,"select_limit_2$ebnf$1","expr_nostar","select_limit_2$subexpression$1",a.lexerAny.has("kw_only")?{type:"kw_only"}:kw_only],postprocess:p(2)},{name:"select_for$subexpression$1",symbols:["kw_update"],postprocess:e=>(0,n.track)(e,{type:"update"})},{name:"select_for$subexpression$1",symbols:["kw_no","kw_key","kw_update"],postprocess:e=>(0,n.track)(e,{type:"no key update"})},{name:"select_for$subexpression$1",symbols:["kw_share"],postprocess:e=>(0,n.track)(e,{type:"share"})},{name:"select_for$subexpression$1",symbols:["kw_key","kw_share"],postprocess:e=>(0,n.track)(e,{type:"key share"})},{name:"select_for",symbols:[a.lexerAny.has("kw_for")?{type:"kw_for"}:kw_for,"select_for$subexpression$1"]},{name:"select_order_by$subexpression$1",symbols:[a.lexerAny.has("kw_order")?{type:"kw_order"}:kw_order,"kw_by"]},{name:"select_order_by$ebnf$1",symbols:[]},{name:"select_order_by$ebnf$1$subexpression$1",symbols:["comma","select_order_by_expr"],postprocess:m},{name:"select_order_by$ebnf$1",symbols:["select_order_by$ebnf$1","select_order_by$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"select_order_by",symbols:["select_order_by$subexpression$1","select_order_by_expr","select_order_by$ebnf$1"],postprocess:([e,s,t])=>[s,...t||[]]},{name:"select_order_by_expr$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_asc")?{type:"kw_asc"}:kw_asc]},{name:"select_order_by_expr$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_desc")?{type:"kw_desc"}:kw_desc]},{name:"select_order_by_expr$ebnf$1",symbols:["select_order_by_expr$ebnf$1$subexpression$1"],postprocess:r},{name:"select_order_by_expr$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_order_by_expr$ebnf$2$subexpression$1$subexpression$1",symbols:["kw_first"]},{name:"select_order_by_expr$ebnf$2$subexpression$1$subexpression$1",symbols:["kw_last"]},{name:"select_order_by_expr$ebnf$2$subexpression$1",symbols:["kw_nulls","select_order_by_expr$ebnf$2$subexpression$1$subexpression$1"],postprocess:m},{name:"select_order_by_expr$ebnf$2",symbols:["select_order_by_expr$ebnf$2$subexpression$1"],postprocess:r},{name:"select_order_by_expr$ebnf$2",symbols:[],postprocess:()=>null},{name:"select_order_by_expr",symbols:["expr","select_order_by_expr$ebnf$1","select_order_by_expr$ebnf$2"],postprocess:e=>(0,n.track)(e,{by:e[0],...e[1]&&{order:y(e[1]).toUpperCase()},...e[2]&&{nulls:y(e[2]).toUpperCase()}})},{name:"expr",symbols:["expr_nostar"],postprocess:c},{name:"expr",symbols:["expr_star"],postprocess:c},{name:"expr_nostar",symbols:["expr_paren"],postprocess:c},{name:"expr_nostar",symbols:["expr_or"],postprocess:c},{name:"expr_paren$subexpression$1",symbols:["expr_or_select"]},{name:"expr_paren$subexpression$1",symbols:["expr_list_many"]},{name:"expr_paren",symbols:["lparen","expr_paren$subexpression$1","rparen"],postprocess:p(1)},{name:"expr_or$macrocall$2$macrocall$2",symbols:[a.lexerAny.has("kw_or")?{type:"kw_or"}:kw_or]},{name:"expr_or$macrocall$2$macrocall$1",symbols:["expr_or$macrocall$2$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(y(e," ")||"").toUpperCase()})},{name:"expr_or$macrocall$2",symbols:["expr_or$macrocall$2$macrocall$1"]},{name:"expr_or$macrocall$3",symbols:["expr_or"]},{name:"expr_or$macrocall$4",symbols:["expr_and"]},{name:"expr_or$macrocall$1$subexpression$1",symbols:["expr_or$macrocall$3"]},{name:"expr_or$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_or$macrocall$1$subexpression$2",symbols:["expr_or$macrocall$4"]},{name:"expr_or$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_or$macrocall$1",symbols:["expr_or$macrocall$1$subexpression$1","expr_or$macrocall$2","expr_or$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_or$macrocall$1",symbols:["expr_or$macrocall$4"],postprocess:c},{name:"expr_or",symbols:["expr_or$macrocall$1"]},{name:"expr_and$macrocall$2$macrocall$2",symbols:[a.lexerAny.has("kw_and")?{type:"kw_and"}:kw_and]},{name:"expr_and$macrocall$2$macrocall$1",symbols:["expr_and$macrocall$2$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(y(e," ")||"").toUpperCase()})},{name:"expr_and$macrocall$2",symbols:["expr_and$macrocall$2$macrocall$1"]},{name:"expr_and$macrocall$3",symbols:["expr_and"]},{name:"expr_and$macrocall$4",symbols:["expr_not"]},{name:"expr_and$macrocall$1$subexpression$1",symbols:["expr_and$macrocall$3"]},{name:"expr_and$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_and$macrocall$1$subexpression$2",symbols:["expr_and$macrocall$4"]},{name:"expr_and$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_and$macrocall$1",symbols:["expr_and$macrocall$1$subexpression$1","expr_and$macrocall$2","expr_and$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_and$macrocall$1",symbols:["expr_and$macrocall$4"],postprocess:c},{name:"expr_and",symbols:["expr_and$macrocall$1"]},{name:"expr_not$macrocall$2$macrocall$2",symbols:[a.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not]},{name:"expr_not$macrocall$2$macrocall$1",symbols:["expr_not$macrocall$2$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(y(e," ")||"").toUpperCase()})},{name:"expr_not$macrocall$2",symbols:["expr_not$macrocall$2$macrocall$1"]},{name:"expr_not$macrocall$3",symbols:["expr_not"]},{name:"expr_not$macrocall$4",symbols:["expr_eq"]},{name:"expr_not$macrocall$1$subexpression$1",symbols:["expr_not$macrocall$3"]},{name:"expr_not$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_not$macrocall$1",symbols:["expr_not$macrocall$2","expr_not$macrocall$1$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"unary",...c(e[0]),operand:c(e[1])})},{name:"expr_not$macrocall$1",symbols:["expr_not$macrocall$4"],postprocess:c},{name:"expr_not",symbols:["expr_not$macrocall$1"]},{name:"expr_eq$macrocall$2$macrocall$2$subexpression$1",symbols:[a.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq]},{name:"expr_eq$macrocall$2$macrocall$2$subexpression$1",symbols:[a.lexerAny.has("op_neq")?{type:"op_neq"}:op_neq]},{name:"expr_eq$macrocall$2$macrocall$2",symbols:["expr_eq$macrocall$2$macrocall$2$subexpression$1"]},{name:"expr_eq$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_eq$macrocall$2$macrocall$2"]},{name:"expr_eq$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_eq$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(y(e," ")||"").toUpperCase()})},{name:"expr_eq$macrocall$2$macrocall$1",symbols:["expr_eq$macrocall$2$macrocall$1$macrocall$1"],postprocess:c},{name:"expr_eq$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_eq$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(y(e[4]," ")||"").toUpperCase(),opSchema:y(e[2])})},{name:"expr_eq$macrocall$2",symbols:["expr_eq$macrocall$2$macrocall$1"]},{name:"expr_eq$macrocall$3",symbols:["expr_eq"]},{name:"expr_eq$macrocall$4",symbols:["expr_is"]},{name:"expr_eq$macrocall$1$subexpression$1",symbols:["expr_eq$macrocall$3"]},{name:"expr_eq$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_eq$macrocall$1$subexpression$2",symbols:["expr_eq$macrocall$4"]},{name:"expr_eq$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_eq$macrocall$1",symbols:["expr_eq$macrocall$1$subexpression$1","expr_eq$macrocall$2","expr_eq$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_eq$macrocall$1",symbols:["expr_eq$macrocall$4"],postprocess:c},{name:"expr_eq",symbols:["expr_eq$macrocall$1"]},{name:"expr_star",symbols:["star"],postprocess:e=>(0,n.track)(e,{type:"ref",name:"*"})},{name:"expr_is$subexpression$1",symbols:["expr_is"]},{name:"expr_is$subexpression$1",symbols:["expr_paren"]},{name:"expr_is$subexpression$2",symbols:[a.lexerAny.has("kw_isnull")?{type:"kw_isnull"}:kw_isnull]},{name:"expr_is$subexpression$2",symbols:[a.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is,a.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null]},{name:"expr_is",symbols:["expr_is$subexpression$1","expr_is$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"unary",op:"IS NULL",operand:c(e[0])})},{name:"expr_is$subexpression$3",symbols:["expr_is"]},{name:"expr_is$subexpression$3",symbols:["expr_paren"]},{name:"expr_is$subexpression$4",symbols:[a.lexerAny.has("kw_notnull")?{type:"kw_notnull"}:kw_notnull]},{name:"expr_is$subexpression$4",symbols:[a.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is,"kw_not_null"]},{name:"expr_is",symbols:["expr_is$subexpression$3","expr_is$subexpression$4"],postprocess:e=>(0,n.track)(e,{type:"unary",op:"IS NOT NULL",operand:c(e[0])})},{name:"expr_is$subexpression$5",symbols:["expr_is"]},{name:"expr_is$subexpression$5",symbols:["expr_paren"]},{name:"expr_is$ebnf$1",symbols:[a.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:r},{name:"expr_is$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_is$subexpression$6",symbols:[a.lexerAny.has("kw_true")?{type:"kw_true"}:kw_true]},{name:"expr_is$subexpression$6",symbols:[a.lexerAny.has("kw_false")?{type:"kw_false"}:kw_false]},{name:"expr_is",symbols:["expr_is$subexpression$5",a.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is,"expr_is$ebnf$1","expr_is$subexpression$6"],postprocess:e=>(0,n.track)(e,{type:"unary",op:"IS "+_([e[2],e[3]]).join(" ").toUpperCase(),operand:c(e[0])})},{name:"expr_is",symbols:["expr_compare"],postprocess:c},{name:"expr_compare$macrocall$2$macrocall$2",symbols:[a.lexerAny.has("op_compare")?{type:"op_compare"}:op_compare]},{name:"expr_compare$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_compare$macrocall$2$macrocall$2"]},{name:"expr_compare$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_compare$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(y(e," ")||"").toUpperCase()})},{name:"expr_compare$macrocall$2$macrocall$1",symbols:["expr_compare$macrocall$2$macrocall$1$macrocall$1"],postprocess:c},{name:"expr_compare$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_compare$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(y(e[4]," ")||"").toUpperCase(),opSchema:y(e[2])})},{name:"expr_compare$macrocall$2",symbols:["expr_compare$macrocall$2$macrocall$1"]},{name:"expr_compare$macrocall$3",symbols:["expr_compare"]},{name:"expr_compare$macrocall$4",symbols:["expr_range"]},{name:"expr_compare$macrocall$1$subexpression$1",symbols:["expr_compare$macrocall$3"]},{name:"expr_compare$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_compare$macrocall$1$subexpression$2",symbols:["expr_compare$macrocall$4"]},{name:"expr_compare$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_compare$macrocall$1",symbols:["expr_compare$macrocall$1$subexpression$1","expr_compare$macrocall$2","expr_compare$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_compare$macrocall$1",symbols:["expr_compare$macrocall$4"],postprocess:c},{name:"expr_compare",symbols:["expr_compare$macrocall$1"]},{name:"expr_range$macrocall$2",symbols:["ops_between"]},{name:"expr_range$macrocall$3",symbols:[a.lexerAny.has("kw_and")?{type:"kw_and"}:kw_and]},{name:"expr_range$macrocall$4",symbols:["expr_range"]},{name:"expr_range$macrocall$5",symbols:["expr_others"]},{name:"expr_range$macrocall$1$subexpression$1",symbols:["expr_range$macrocall$4"]},{name:"expr_range$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_range$macrocall$1$subexpression$2",symbols:["expr_range$macrocall$4"]},{name:"expr_range$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_range$macrocall$1$subexpression$3",symbols:["expr_range$macrocall$5"]},{name:"expr_range$macrocall$1$subexpression$3",symbols:["expr_paren"]},{name:"expr_range$macrocall$1",symbols:["expr_range$macrocall$1$subexpression$1","expr_range$macrocall$2","expr_range$macrocall$1$subexpression$2","expr_range$macrocall$3","expr_range$macrocall$1$subexpression$3"],postprocess:e=>(0,n.track)(e,{type:"ternary",value:c(e[0]),lo:c(e[2]),hi:c(e[4]),op:(_(e[1]).join(" ")||"").toUpperCase()})},{name:"expr_range$macrocall$1",symbols:["expr_range$macrocall$5"],postprocess:c},{name:"expr_range",symbols:["expr_range$macrocall$1"]},{name:"expr_others$macrocall$2$macrocall$2",symbols:[a.lexerAny.has("ops_others")?{type:"ops_others"}:ops_others]},{name:"expr_others$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_others$macrocall$2$macrocall$2"]},{name:"expr_others$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_others$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(y(e," ")||"").toUpperCase()})},{name:"expr_others$macrocall$2$macrocall$1",symbols:["expr_others$macrocall$2$macrocall$1$macrocall$1"],postprocess:c},{name:"expr_others$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_others$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(y(e[4]," ")||"").toUpperCase(),opSchema:y(e[2])})},{name:"expr_others$macrocall$2",symbols:["expr_others$macrocall$2$macrocall$1"]},{name:"expr_others$macrocall$3",symbols:["expr_others"]},{name:"expr_others$macrocall$4",symbols:["expr_like"]},{name:"expr_others$macrocall$1$subexpression$1",symbols:["expr_others$macrocall$3"]},{name:"expr_others$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_others$macrocall$1$subexpression$2",symbols:["expr_others$macrocall$4"]},{name:"expr_others$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_others$macrocall$1",symbols:["expr_others$macrocall$1$subexpression$1","expr_others$macrocall$2","expr_others$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_others$macrocall$1",symbols:["expr_others$macrocall$4"],postprocess:c},{name:"expr_others",symbols:["expr_others$macrocall$1"]},{name:"expr_like$macrocall$2$macrocall$2",symbols:["ops_like"]},{name:"expr_like$macrocall$2$macrocall$1",symbols:["expr_like$macrocall$2$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(y(e," ")||"").toUpperCase()})},{name:"expr_like$macrocall$2",symbols:["expr_like$macrocall$2$macrocall$1"]},{name:"expr_like$macrocall$3",symbols:["expr_like"]},{name:"expr_like$macrocall$4",symbols:["expr_in"]},{name:"expr_like$macrocall$1$subexpression$1",symbols:["expr_like$macrocall$3"]},{name:"expr_like$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_like$macrocall$1$subexpression$2",symbols:["expr_like$macrocall$4"]},{name:"expr_like$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_like$macrocall$1",symbols:["expr_like$macrocall$1$subexpression$1","expr_like$macrocall$2","expr_like$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_like$macrocall$1",symbols:["expr_like$macrocall$4"],postprocess:c},{name:"expr_like",symbols:["expr_like$macrocall$1"]},{name:"expr_in$macrocall$2$macrocall$2",symbols:["ops_in"]},{name:"expr_in$macrocall$2$macrocall$1",symbols:["expr_in$macrocall$2$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(y(e," ")||"").toUpperCase()})},{name:"expr_in$macrocall$2",symbols:["expr_in$macrocall$2$macrocall$1"]},{name:"expr_in$macrocall$3",symbols:["expr_in"]},{name:"expr_in$macrocall$4",symbols:["expr_add"]},{name:"expr_in$macrocall$1$subexpression$1",symbols:["expr_in$macrocall$3"]},{name:"expr_in$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_in$macrocall$1$subexpression$2",symbols:["expr_in$macrocall$4"]},{name:"expr_in$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_in$macrocall$1",symbols:["expr_in$macrocall$1$subexpression$1","expr_in$macrocall$2","expr_in$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_in$macrocall$1",symbols:["expr_in$macrocall$4"],postprocess:c},{name:"expr_in",symbols:["expr_in$macrocall$1"]},{name:"expr_add$macrocall$2$macrocall$2$subexpression$1",symbols:[a.lexerAny.has("op_plus")?{type:"op_plus"}:op_plus]},{name:"expr_add$macrocall$2$macrocall$2$subexpression$1",symbols:[a.lexerAny.has("op_minus")?{type:"op_minus"}:op_minus]},{name:"expr_add$macrocall$2$macrocall$2$subexpression$1",symbols:[a.lexerAny.has("op_additive")?{type:"op_additive"}:op_additive]},{name:"expr_add$macrocall$2$macrocall$2",symbols:["expr_add$macrocall$2$macrocall$2$subexpression$1"]},{name:"expr_add$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_add$macrocall$2$macrocall$2"]},{name:"expr_add$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_add$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(y(e," ")||"").toUpperCase()})},{name:"expr_add$macrocall$2$macrocall$1",symbols:["expr_add$macrocall$2$macrocall$1$macrocall$1"],postprocess:c},{name:"expr_add$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_add$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(y(e[4]," ")||"").toUpperCase(),opSchema:y(e[2])})},{name:"expr_add$macrocall$2",symbols:["expr_add$macrocall$2$macrocall$1"]},{name:"expr_add$macrocall$3",symbols:["expr_add"]},{name:"expr_add$macrocall$4",symbols:["expr_mult"]},{name:"expr_add$macrocall$1$subexpression$1",symbols:["expr_add$macrocall$3"]},{name:"expr_add$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_add$macrocall$1$subexpression$2",symbols:["expr_add$macrocall$4"]},{name:"expr_add$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_add$macrocall$1",symbols:["expr_add$macrocall$1$subexpression$1","expr_add$macrocall$2","expr_add$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_add$macrocall$1",symbols:["expr_add$macrocall$4"],postprocess:c},{name:"expr_add",symbols:["expr_add$macrocall$1"]},{name:"expr_mult$macrocall$2$macrocall$2$subexpression$1",symbols:[a.lexerAny.has("star")?{type:"star"}:star]},{name:"expr_mult$macrocall$2$macrocall$2$subexpression$1",symbols:[a.lexerAny.has("op_div")?{type:"op_div"}:op_div]},{name:"expr_mult$macrocall$2$macrocall$2$subexpression$1",symbols:[a.lexerAny.has("op_mod")?{type:"op_mod"}:op_mod]},{name:"expr_mult$macrocall$2$macrocall$2",symbols:["expr_mult$macrocall$2$macrocall$2$subexpression$1"]},{name:"expr_mult$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_mult$macrocall$2$macrocall$2"]},{name:"expr_mult$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_mult$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(y(e," ")||"").toUpperCase()})},{name:"expr_mult$macrocall$2$macrocall$1",symbols:["expr_mult$macrocall$2$macrocall$1$macrocall$1"],postprocess:c},{name:"expr_mult$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_mult$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(y(e[4]," ")||"").toUpperCase(),opSchema:y(e[2])})},{name:"expr_mult$macrocall$2",symbols:["expr_mult$macrocall$2$macrocall$1"]},{name:"expr_mult$macrocall$3",symbols:["expr_mult"]},{name:"expr_mult$macrocall$4",symbols:["expr_exp"]},{name:"expr_mult$macrocall$1$subexpression$1",symbols:["expr_mult$macrocall$3"]},{name:"expr_mult$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_mult$macrocall$1$subexpression$2",symbols:["expr_mult$macrocall$4"]},{name:"expr_mult$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_mult$macrocall$1",symbols:["expr_mult$macrocall$1$subexpression$1","expr_mult$macrocall$2","expr_mult$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_mult$macrocall$1",symbols:["expr_mult$macrocall$4"],postprocess:c},{name:"expr_mult",symbols:["expr_mult$macrocall$1"]},{name:"expr_exp$macrocall$2$macrocall$2",symbols:[a.lexerAny.has("op_exp")?{type:"op_exp"}:op_exp]},{name:"expr_exp$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_exp$macrocall$2$macrocall$2"]},{name:"expr_exp$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_exp$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(y(e," ")||"").toUpperCase()})},{name:"expr_exp$macrocall$2$macrocall$1",symbols:["expr_exp$macrocall$2$macrocall$1$macrocall$1"],postprocess:c},{name:"expr_exp$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_exp$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(y(e[4]," ")||"").toUpperCase(),opSchema:y(e[2])})},{name:"expr_exp$macrocall$2",symbols:["expr_exp$macrocall$2$macrocall$1"]},{name:"expr_exp$macrocall$3",symbols:["expr_exp"]},{name:"expr_exp$macrocall$4",symbols:["expr_unary_add"]},{name:"expr_exp$macrocall$1$subexpression$1",symbols:["expr_exp$macrocall$3"]},{name:"expr_exp$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_exp$macrocall$1$subexpression$2",symbols:["expr_exp$macrocall$4"]},{name:"expr_exp$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_exp$macrocall$1",symbols:["expr_exp$macrocall$1$subexpression$1","expr_exp$macrocall$2","expr_exp$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_exp$macrocall$1",symbols:["expr_exp$macrocall$4"],postprocess:c},{name:"expr_exp",symbols:["expr_exp$macrocall$1"]},{name:"expr_unary_add$macrocall$2$macrocall$2$subexpression$1",symbols:[a.lexerAny.has("op_plus")?{type:"op_plus"}:op_plus]},{name:"expr_unary_add$macrocall$2$macrocall$2$subexpression$1",symbols:[a.lexerAny.has("op_minus")?{type:"op_minus"}:op_minus]},{name:"expr_unary_add$macrocall$2$macrocall$2",symbols:["expr_unary_add$macrocall$2$macrocall$2$subexpression$1"]},{name:"expr_unary_add$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_unary_add$macrocall$2$macrocall$2"]},{name:"expr_unary_add$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_unary_add$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(y(e," ")||"").toUpperCase()})},{name:"expr_unary_add$macrocall$2$macrocall$1",symbols:["expr_unary_add$macrocall$2$macrocall$1$macrocall$1"],postprocess:c},{name:"expr_unary_add$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_unary_add$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(y(e[4]," ")||"").toUpperCase(),opSchema:y(e[2])})},{name:"expr_unary_add$macrocall$2",symbols:["expr_unary_add$macrocall$2$macrocall$1"]},{name:"expr_unary_add$macrocall$3",symbols:["expr_unary_add"]},{name:"expr_unary_add$macrocall$4",symbols:["expr_various_constructs"]},{name:"expr_unary_add$macrocall$1$subexpression$1",symbols:["expr_unary_add$macrocall$3"]},{name:"expr_unary_add$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_unary_add$macrocall$1",symbols:["expr_unary_add$macrocall$2","expr_unary_add$macrocall$1$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"unary",...c(e[0]),operand:c(e[1])})},{name:"expr_unary_add$macrocall$1",symbols:["expr_unary_add$macrocall$4"],postprocess:c},{name:"expr_unary_add",symbols:["expr_unary_add$macrocall$1"]},{name:"expr_various_constructs$macrocall$2$macrocall$2",symbols:["various_binaries"]},{name:"expr_various_constructs$macrocall$2$macrocall$1",symbols:["expr_various_constructs$macrocall$2$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(y(e," ")||"").toUpperCase()})},{name:"expr_various_constructs$macrocall$2",symbols:["expr_various_constructs$macrocall$2$macrocall$1"]},{name:"expr_various_constructs$macrocall$3",symbols:["expr_various_constructs"]},{name:"expr_various_constructs$macrocall$4",symbols:["expr_array_index"]},{name:"expr_various_constructs$macrocall$1$subexpression$1",symbols:["expr_various_constructs$macrocall$3"]},{name:"expr_various_constructs$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_various_constructs$macrocall$1$subexpression$2",symbols:["expr_various_constructs$macrocall$4"]},{name:"expr_various_constructs$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_various_constructs$macrocall$1",symbols:["expr_various_constructs$macrocall$1$subexpression$1","expr_various_constructs$macrocall$2","expr_various_constructs$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_various_constructs$macrocall$1",symbols:["expr_various_constructs$macrocall$4"],postprocess:c},{name:"expr_various_constructs",symbols:["expr_various_constructs$macrocall$1"]},{name:"expr_array_index$subexpression$1",symbols:["expr_array_index"]},{name:"expr_array_index$subexpression$1",symbols:["expr_paren"]},{name:"expr_array_index",symbols:["expr_array_index$subexpression$1",a.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,"expr_nostar",a.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:e=>(0,n.track)(e,{type:"arrayIndex",array:c(e[0]),index:c(e[2])})},{name:"expr_array_index",symbols:["expr_member"],postprocess:c},{name:"expr_member$subexpression$1",symbols:["expr_member"]},{name:"expr_member$subexpression$1",symbols:["expr_paren"]},{name:"expr_member$subexpression$2",symbols:["string"]},{name:"expr_member$subexpression$2",symbols:["int"]},{name:"expr_member",symbols:["expr_member$subexpression$1","ops_member","expr_member$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"member",operand:c(e[0]),op:e[1],member:c(e[2])})},{name:"expr_member$subexpression$3",symbols:["expr_member"]},{name:"expr_member$subexpression$3",symbols:["expr_paren"]},{name:"expr_member",symbols:["expr_member$subexpression$3",a.lexerAny.has("op_cast")?{type:"op_cast"}:op_cast,"data_type"],postprocess:e=>(0,n.track)(e,{type:"cast",operand:c(e[0]),to:e[2]})},{name:"expr_member",symbols:[a.lexerAny.has("kw_cast")?{type:"kw_cast"}:kw_cast,"lparen","expr_nostar",a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"data_type","rparen"],postprocess:e=>(0,n.track)(e,{type:"cast",operand:c(e[2]),to:e[4]})},{name:"expr_member",symbols:["data_type","string"],postprocess:e=>(0,n.track)(e,{type:"cast",operand:(0,n.track)(e[1],{type:"string",value:(0,n.unbox)(e[1])}),to:(0,n.unbox)(e[0])})},{name:"expr_member",symbols:["expr_dot"],postprocess:c},{name:"expr_dot$subexpression$1",symbols:["word"]},{name:"expr_dot$subexpression$1",symbols:["star"]},{name:"expr_dot",symbols:["qname",a.lexerAny.has("dot")?{type:"dot"}:dot,"expr_dot$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"ref",table:c(e[0]),name:y(e[2])})},{name:"expr_dot",symbols:["expr_final"],postprocess:c},{name:"expr_final",symbols:["expr_basic"]},{name:"expr_final",symbols:["expr_primary"]},{name:"expr_basic",symbols:["expr_special_calls"]},{name:"expr_basic",symbols:["expr_call"]},{name:"expr_basic",symbols:["expr_array"]},{name:"expr_basic",symbols:["expr_case"]},{name:"expr_basic",symbols:["expr_extract"]},{name:"expr_basic",symbols:["word"],postprocess:e=>(0,n.track)(e,{type:"ref",name:c(e[0])})},{name:"expr_array$ebnf$1",symbols:["expr_subarray_items"],postprocess:r},{name:"expr_array$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_array",symbols:[a.lexerAny.has("kw_array")?{type:"kw_array"}:kw_array,a.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,"expr_array$ebnf$1",a.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:e=>(0,n.track)(e,{type:"array",expressions:e[2]||[]})},{name:"expr_array",symbols:[a.lexerAny.has("kw_array")?{type:"kw_array"}:kw_array,"lparen","selection","rparen"],postprocess:e=>(0,n.track)(e,{type:"array select",select:c(e[2])})},{name:"expr_subarray$ebnf$1",symbols:["expr_subarray_items"],postprocess:r},{name:"expr_subarray$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_subarray",symbols:[a.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,"expr_subarray$ebnf$1",a.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:p(1)},{name:"expr_subarray_items$macrocall$2",symbols:["expr_list_item"]},{name:"expr_subarray_items$macrocall$1$ebnf$1",symbols:[]},{name:"expr_subarray_items$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"expr_subarray_items$macrocall$2"],postprocess:m},{name:"expr_subarray_items$macrocall$1$ebnf$1",symbols:["expr_subarray_items$macrocall$1$ebnf$1","expr_subarray_items$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_subarray_items$macrocall$1",symbols:["expr_subarray_items$macrocall$2","expr_subarray_items$macrocall$1$ebnf$1"],postprocess:([e,s])=>[e,...s||[]]},{name:"expr_subarray_items",symbols:["expr_subarray_items$macrocall$1"],postprocess:e=>e[0].map(c)},{name:"expr_subarray_items$macrocall$4",symbols:["expr_subarray"]},{name:"expr_subarray_items$macrocall$3$ebnf$1",symbols:[]},{name:"expr_subarray_items$macrocall$3$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"expr_subarray_items$macrocall$4"],postprocess:m},{name:"expr_subarray_items$macrocall$3$ebnf$1",symbols:["expr_subarray_items$macrocall$3$ebnf$1","expr_subarray_items$macrocall$3$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_subarray_items$macrocall$3",symbols:["expr_subarray_items$macrocall$4","expr_subarray_items$macrocall$3$ebnf$1"],postprocess:([e,s])=>[e,...s||[]]},{name:"expr_subarray_items",symbols:["expr_subarray_items$macrocall$3"],postprocess:e=>e[0].map((e=>(0,n.track)(e,{type:"array",expressions:e[0].map(c)})))},{name:"expr_function_call$ebnf$1",symbols:["expr_list_raw"],postprocess:r},{name:"expr_function_call$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_function_call",symbols:["expr_fn_name","lparen","expr_function_call$ebnf$1","rparen"],postprocess:e=>(0,n.track)(e,{type:"call",function:c(e[0]),args:e[2]||[]})},{name:"expr_call$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all]},{name:"expr_call$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_distinct")?{type:"kw_distinct"}:kw_distinct]},{name:"expr_call$ebnf$1",symbols:["expr_call$ebnf$1$subexpression$1"],postprocess:r},{name:"expr_call$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$2",symbols:["expr_list_raw"],postprocess:r},{name:"expr_call$ebnf$2",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$3",symbols:["select_order_by"],postprocess:r},{name:"expr_call$ebnf$3",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$4$subexpression$1",symbols:["kw_filter","lparen",a.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where,"expr","rparen"],postprocess:p(3)},{name:"expr_call$ebnf$4",symbols:["expr_call$ebnf$4$subexpression$1"],postprocess:r},{name:"expr_call$ebnf$4",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$5",symbols:["expr_call_over"],postprocess:r},{name:"expr_call$ebnf$5",symbols:[],postprocess:()=>null},{name:"expr_call",symbols:["expr_fn_name","lparen","expr_call$ebnf$1","expr_call$ebnf$2","expr_call$ebnf$3","rparen","expr_call$ebnf$4","expr_call$ebnf$5"],postprocess:e=>(0,n.track)(e,{type:"call",function:c(e[0]),...e[2]&&{distinct:y(e[2])},args:e[3]||[],...e[4]&&{orderBy:e[4]},...e[6]&&{filter:c(e[6])},...e[7]&&{over:c(e[7])}})},{name:"expr_call_over$ebnf$1$subexpression$1",symbols:["kw_partition","kw_by","expr_list_raw"],postprocess:m},{name:"expr_call_over$ebnf$1",symbols:["expr_call_over$ebnf$1$subexpression$1"],postprocess:r},{name:"expr_call_over$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_call_over$ebnf$2",symbols:["select_order_by"],postprocess:r},{name:"expr_call_over$ebnf$2",symbols:[],postprocess:()=>null},{name:"expr_call_over",symbols:["kw_over","lparen","expr_call_over$ebnf$1","expr_call_over$ebnf$2","rparen"],postprocess:e=>(0,n.track)(e,{...e[2]&&{partitionBy:e[2]},...e[3]&&{orderBy:e[3]}})},{name:"expr_extract$subexpression$1",symbols:["word"],postprocess:h("extract")},{name:"expr_extract",symbols:["expr_extract$subexpression$1","lparen","word",a.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"expr","rparen"],postprocess:e=>(0,n.track)(e,{type:"extract",field:o(e[2]),from:e[4]})},{name:"expr_primary",symbols:["float"],postprocess:e=>(0,n.track)(e,{type:"numeric",value:(0,n.unbox)(e[0])})},{name:"expr_primary",symbols:["int"],postprocess:e=>(0,n.track)(e,{type:"integer",value:(0,n.unbox)(e[0])})},{name:"expr_primary",symbols:["string"],postprocess:e=>(0,n.track)(e,{type:"string",value:(0,n.unbox)(e[0])})},{name:"expr_primary",symbols:[a.lexerAny.has("kw_true")?{type:"kw_true"}:kw_true],postprocess:e=>(0,n.track)(e,{type:"boolean",value:!0})},{name:"expr_primary",symbols:[a.lexerAny.has("kw_false")?{type:"kw_false"}:kw_false],postprocess:e=>(0,n.track)(e,{type:"boolean",value:!1})},{name:"expr_primary",symbols:[a.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null],postprocess:e=>(0,n.track)(e,{type:"null"})},{name:"expr_primary",symbols:["value_keyword"],postprocess:e=>(0,n.track)(e,{type:"keyword",keyword:y(e)})},{name:"expr_primary",symbols:[a.lexerAny.has("qparam")?{type:"qparam"}:qparam],postprocess:e=>(0,n.track)(e,{type:"parameter",name:y(e[0])})},{name:"expr_primary",symbols:[a.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default],postprocess:e=>(0,n.track)(e,{type:"default"})},{name:"ops_like",symbols:["ops_like_keywors"]},{name:"ops_like",symbols:["ops_like_operators"]},{name:"ops_like_keywors$ebnf$1",symbols:[a.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:r},{name:"ops_like_keywors$ebnf$1",symbols:[],postprocess:()=>null},{name:"ops_like_keywors$subexpression$1",symbols:[a.lexerAny.has("kw_like")?{type:"kw_like"}:kw_like]},{name:"ops_like_keywors$subexpression$1",symbols:[a.lexerAny.has("kw_ilike")?{type:"kw_ilike"}:kw_ilike]},{name:"ops_like_keywors",symbols:["ops_like_keywors$ebnf$1","ops_like_keywors$subexpression$1"]},{name:"ops_like_operators$subexpression$1",symbols:[a.lexerAny.has("op_like")?{type:"op_like"}:op_like],postprocess:()=>"LIKE"},{name:"ops_like_operators",symbols:["ops_like_operators$subexpression$1"]},{name:"ops_like_operators$subexpression$2",symbols:[a.lexerAny.has("op_ilike")?{type:"op_ilike"}:op_ilike],postprocess:()=>"ILIKE"},{name:"ops_like_operators",symbols:["ops_like_operators$subexpression$2"]},{name:"ops_like_operators$subexpression$3",symbols:[a.lexerAny.has("op_not_like")?{type:"op_not_like"}:op_not_like],postprocess:()=>"NOT LIKE"},{name:"ops_like_operators",symbols:["ops_like_operators$subexpression$3"]},{name:"ops_like_operators$subexpression$4",symbols:[a.lexerAny.has("op_not_ilike")?{type:"op_not_ilike"}:op_not_ilike],postprocess:()=>"NOT ILIKE"},{name:"ops_like_operators",symbols:["ops_like_operators$subexpression$4"]},{name:"ops_in$ebnf$1",symbols:[a.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:r},{name:"ops_in$ebnf$1",symbols:[],postprocess:()=>null},{name:"ops_in",symbols:["ops_in$ebnf$1",a.lexerAny.has("kw_in")?{type:"kw_in"}:kw_in]},{name:"ops_between$ebnf$1",symbols:[a.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:r},{name:"ops_between$ebnf$1",symbols:[],postprocess:()=>null},{name:"ops_between",symbols:["ops_between$ebnf$1","kw_between"]},{name:"ops_member$subexpression$1",symbols:[a.lexerAny.has("op_member")?{type:"op_member"}:op_member]},{name:"ops_member$subexpression$1",symbols:[a.lexerAny.has("op_membertext")?{type:"op_membertext"}:op_membertext]},{name:"ops_member",symbols:["ops_member$subexpression$1"],postprocess:e=>{var s;return null===(s=c(e))||void 0===s?void 0:s.value}},{name:"expr_list_item",symbols:["expr_or_select"],postprocess:c},{name:"expr_list_item",symbols:["expr_star"],postprocess:c},{name:"expr_list_raw$macrocall$2",symbols:["expr_list_item"]},{name:"expr_list_raw$macrocall$1$ebnf$1",symbols:[]},{name:"expr_list_raw$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"expr_list_raw$macrocall$2"],postprocess:m},{name:"expr_list_raw$macrocall$1$ebnf$1",symbols:["expr_list_raw$macrocall$1$ebnf$1","expr_list_raw$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_list_raw$macrocall$1",symbols:["expr_list_raw$macrocall$2","expr_list_raw$macrocall$1$ebnf$1"],postprocess:([e,s])=>[e,...s||[]]},{name:"expr_list_raw",symbols:["expr_list_raw$macrocall$1"],postprocess:([e])=>e.map(c)},{name:"expr_list_raw_many$macrocall$2",symbols:["expr_list_item"]},{name:"expr_list_raw_many$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"expr_list_raw_many$macrocall$2"],postprocess:m},{name:"expr_list_raw_many$macrocall$1$ebnf$1",symbols:["expr_list_raw_many$macrocall$1$ebnf$1$subexpression$1"]},{name:"expr_list_raw_many$macrocall$1$ebnf$1$subexpression$2",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"expr_list_raw_many$macrocall$2"],postprocess:m},{name:"expr_list_raw_many$macrocall$1$ebnf$1",symbols:["expr_list_raw_many$macrocall$1$ebnf$1","expr_list_raw_many$macrocall$1$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_list_raw_many$macrocall$1",symbols:["expr_list_raw_many$macrocall$2","expr_list_raw_many$macrocall$1$ebnf$1"],postprocess:([e,s])=>[e,...s||[]]},{name:"expr_list_raw_many",symbols:["expr_list_raw_many$macrocall$1"],postprocess:([e])=>e.map(c)},{name:"expr_or_select",symbols:["expr_nostar"],postprocess:c},{name:"expr_or_select",symbols:["selection"],postprocess:c},{name:"expr_list_many",symbols:["expr_list_raw_many"],postprocess:e=>(0,n.track)(e,{type:"list",expressions:e[0]})},{name:"expr_case$ebnf$1",symbols:["expr_nostar"],postprocess:r},{name:"expr_case$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_case$ebnf$2",symbols:[]},{name:"expr_case$ebnf$2",symbols:["expr_case$ebnf$2","expr_case_whens"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_case$ebnf$3",symbols:["expr_case_else"],postprocess:r},{name:"expr_case$ebnf$3",symbols:[],postprocess:()=>null},{name:"expr_case",symbols:[a.lexerAny.has("kw_case")?{type:"kw_case"}:kw_case,"expr_case$ebnf$1","expr_case$ebnf$2","expr_case$ebnf$3",a.lexerAny.has("kw_end")?{type:"kw_end"}:kw_end],postprocess:e=>(0,n.track)(e,{type:"case",value:e[1],whens:e[2],else:e[3]})},{name:"expr_case_whens",symbols:[a.lexerAny.has("kw_when")?{type:"kw_when"}:kw_when,"expr_nostar",a.lexerAny.has("kw_then")?{type:"kw_then"}:kw_then,"expr_nostar"],postprocess:e=>(0,n.track)(e,{when:e[1],value:e[3]})},{name:"expr_case_else",symbols:[a.lexerAny.has("kw_else")?{type:"kw_else"}:kw_else,"expr_nostar"],postprocess:m},{name:"expr_fn_name$subexpression$1$ebnf$1$subexpression$1",symbols:["word",a.lexerAny.has("dot")?{type:"dot"}:dot]},{name:"expr_fn_name$subexpression$1$ebnf$1",symbols:["expr_fn_name$subexpression$1$ebnf$1$subexpression$1"],postprocess:r},{name:"expr_fn_name$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_fn_name$subexpression$1",symbols:["expr_fn_name$subexpression$1$ebnf$1","word_or_keyword"],postprocess:e=>(0,n.track)(e,{name:(0,n.unbox)(c(e[1])),...e[0]&&{schema:y(e[0][0])}})},{name:"expr_fn_name",symbols:["expr_fn_name$subexpression$1"]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[a.lexerAny.has("kw_any")?{type:"kw_any"}:kw_any]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[a.lexerAny.has("kw_some")?{type:"kw_some"}:kw_some]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[a.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all]},{name:"expr_fn_name$subexpression$2",symbols:["expr_fn_name$subexpression$2$subexpression$1"],postprocess:e=>(0,n.track)(e,{name:y(c(e))})},{name:"expr_fn_name",symbols:["expr_fn_name$subexpression$2"]},{name:"word_or_keyword",symbols:["word"]},{name:"word_or_keyword",symbols:["value_keyword"],postprocess:e=>(0,n.box)(e,y(e))},{name:"value_keyword",symbols:[a.lexerAny.has("kw_current_catalog")?{type:"kw_current_catalog"}:kw_current_catalog]},{name:"value_keyword",symbols:[a.lexerAny.has("kw_current_date")?{type:"kw_current_date"}:kw_current_date]},{name:"value_keyword",symbols:[a.lexerAny.has("kw_current_role")?{type:"kw_current_role"}:kw_current_role]},{name:"value_keyword",symbols:[a.lexerAny.has("kw_current_schema")?{type:"kw_current_schema"}:kw_current_schema]},{name:"value_keyword",symbols:[a.lexerAny.has("kw_current_timestamp")?{type:"kw_current_timestamp"}:kw_current_timestamp]},{name:"value_keyword",symbols:[a.lexerAny.has("kw_current_time")?{type:"kw_current_time"}:kw_current_time]},{name:"value_keyword",symbols:[a.lexerAny.has("kw_localtimestamp")?{type:"kw_localtimestamp"}:kw_localtimestamp]},{name:"value_keyword",symbols:[a.lexerAny.has("kw_localtime")?{type:"kw_localtime"}:kw_localtime]},{name:"value_keyword",symbols:[a.lexerAny.has("kw_session_user")?{type:"kw_session_user"}:kw_session_user]},{name:"value_keyword",symbols:[a.lexerAny.has("kw_user")?{type:"kw_user"}:kw_user]},{name:"value_keyword",symbols:[a.lexerAny.has("kw_current_user")?{type:"kw_current_user"}:kw_current_user]},{name:"expr_special_calls",symbols:["spe_overlay"]},{name:"expr_special_calls",symbols:["spe_substring"]},{name:"spe_overlay$subexpression$1",symbols:["word"],postprocess:h("overlay")},{name:"spe_overlay$subexpression$2",symbols:[a.lexerAny.has("lparen")?{type:"lparen"}:lparen,"expr_nostar"]},{name:"spe_overlay$subexpression$3",symbols:[a.lexerAny.has("kw_placing")?{type:"kw_placing"}:kw_placing,"expr_nostar"]},{name:"spe_overlay$subexpression$4",symbols:[a.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"expr_nostar"]},{name:"spe_overlay$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_for")?{type:"kw_for"}:kw_for,"expr_nostar"]},{name:"spe_overlay$ebnf$1",symbols:["spe_overlay$ebnf$1$subexpression$1"],postprocess:r},{name:"spe_overlay$ebnf$1",symbols:[],postprocess:()=>null},{name:"spe_overlay",symbols:["spe_overlay$subexpression$1","spe_overlay$subexpression$2","spe_overlay$subexpression$3","spe_overlay$subexpression$4","spe_overlay$ebnf$1",a.lexerAny.has("rparen")?{type:"rparen"}:rparen],postprocess:e=>(0,n.track)(e,{type:"overlay",value:e[1][1],placing:e[2][1],from:e[3][1],...e[4]&&{for:e[4][1]}})},{name:"spe_substring$subexpression$1",symbols:["word"],postprocess:h("substring")},{name:"spe_substring$subexpression$2",symbols:[a.lexerAny.has("lparen")?{type:"lparen"}:lparen,"expr_nostar"]},{name:"spe_substring$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"expr_nostar"]},{name:"spe_substring$ebnf$1",symbols:["spe_substring$ebnf$1$subexpression$1"],postprocess:r},{name:"spe_substring$ebnf$1",symbols:[],postprocess:()=>null},{name:"spe_substring$ebnf$2$subexpression$1",symbols:[a.lexerAny.has("kw_for")?{type:"kw_for"}:kw_for,"expr_nostar"]},{name:"spe_substring$ebnf$2",symbols:["spe_substring$ebnf$2$subexpression$1"],postprocess:r},{name:"spe_substring$ebnf$2",symbols:[],postprocess:()=>null},{name:"spe_substring",symbols:["spe_substring$subexpression$1","spe_substring$subexpression$2","spe_substring$ebnf$1","spe_substring$ebnf$2",a.lexerAny.has("rparen")?{type:"rparen"}:rparen],postprocess:e=>(0,n.track)(e,{type:"substring",value:e[1][1],...e[2]&&{from:e[2][1]},...e[3]&&{for:e[3][1]}})},{name:"various_binaries",symbols:["kw_at","kw_time","kw_zone"],postprocess:()=>"AT TIME ZONE"},{name:"createtable_statement$ebnf$1",symbols:["createtable_modifiers"],postprocess:r},{name:"createtable_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtable_statement$ebnf$2",symbols:["kw_ifnotexists"],postprocess:r},{name:"createtable_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"createtable_statement$ebnf$3",symbols:["createtable_opts"],postprocess:r},{name:"createtable_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"createtable_statement",symbols:[a.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"createtable_statement$ebnf$1",a.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table,"createtable_statement$ebnf$2","qname","lparen","createtable_declarationlist","rparen","createtable_statement$ebnf$3"],postprocess:e=>{const s=e[6].filter((e=>"kind"in e)),t=e[6].filter((e=>!("kind"in e)));return(0,n.track)(e,{type:"create table",...e[3]?{ifNotExists:!0}:{},name:e[4],columns:s,...c(e[1]),...t.length?{constraints:t}:{},...m(e)})}},{name:"createtable_modifiers",symbols:["kw_unlogged"],postprocess:e=>e[0]?{unlogged:!0}:{}},{name:"createtable_modifiers",symbols:["m_locglob"]},{name:"createtable_modifiers",symbols:["m_tmp"]},{name:"createtable_modifiers",symbols:["m_locglob","m_tmp"],postprocess:([e,s])=>({...e,...s})},{name:"m_locglob$subexpression$1",symbols:["kw_local"]},{name:"m_locglob$subexpression$1",symbols:["kw_global"]},{name:"m_locglob",symbols:["m_locglob$subexpression$1"],postprocess:e=>({locality:y(e)})},{name:"m_tmp$subexpression$1",symbols:["kw_temp"]},{name:"m_tmp$subexpression$1",symbols:["kw_temporary"]},{name:"m_tmp",symbols:["m_tmp$subexpression$1"],postprocess:e=>({temporary:!0})},{name:"createtable_declarationlist$ebnf$1",symbols:[]},{name:"createtable_declarationlist$ebnf$1$subexpression$1",symbols:["comma","createtable_declaration"],postprocess:m},{name:"createtable_declarationlist$ebnf$1",symbols:["createtable_declarationlist$ebnf$1","createtable_declarationlist$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_declarationlist",symbols:["createtable_declaration","createtable_declarationlist$ebnf$1"],postprocess:([e,s])=>[e,...s||[]]},{name:"createtable_declaration$subexpression$1",symbols:["createtable_constraint"]},{name:"createtable_declaration$subexpression$1",symbols:["createtable_column"]},{name:"createtable_declaration$subexpression$1",symbols:["createtable_like"]},{name:"createtable_declaration",symbols:["createtable_declaration$subexpression$1"],postprocess:c},{name:"createtable_constraint$macrocall$2",symbols:["createtable_constraint_def"]},{name:"createtable_constraint$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"word"]},{name:"createtable_constraint$macrocall$1$ebnf$1",symbols:["createtable_constraint$macrocall$1$ebnf$1$subexpression$1"],postprocess:r},{name:"createtable_constraint$macrocall$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtable_constraint$macrocall$1",symbols:["createtable_constraint$macrocall$1$ebnf$1","createtable_constraint$macrocall$2"],postprocess:e=>{const s=e[0]&&o(e[0][1]);return s?(0,n.track)(e,{constraintName:s,...c(e[1])}):(0,n.track)(e,c(e[1]))}},{name:"createtable_constraint",symbols:["createtable_constraint$macrocall$1"],postprocess:c},{name:"createtable_constraint_def",symbols:["createtable_constraint_def_unique"]},{name:"createtable_constraint_def",symbols:["createtable_constraint_def_check"]},{name:"createtable_constraint_def",symbols:["createtable_constraint_foreignkey"]},{name:"createtable_constraint_def_unique$subexpression$1",symbols:[a.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique]},{name:"createtable_constraint_def_unique$subexpression$1",symbols:["kw_primary_key"]},{name:"createtable_constraint_def_unique",symbols:["createtable_constraint_def_unique$subexpression$1","lparen","createtable_collist","rparen"],postprocess:e=>(0,n.track)(e,{type:y(e[0]," "),columns:e[2].map(o)})},{name:"createtable_constraint_def_check",symbols:[a.lexerAny.has("kw_check")?{type:"kw_check"}:kw_check,"expr_paren"],postprocess:e=>(0,n.track)(e,{type:"check",expr:c(e[1])})},{name:"createtable_constraint_foreignkey",symbols:[a.lexerAny.has("kw_foreign")?{type:"kw_foreign"}:kw_foreign,"kw_key","collist_paren","createtable_references"],postprocess:e=>(0,n.track)(e,{type:"foreign key",localColumns:e[2].map(o),...e[3]})},{name:"createtable_references$ebnf$1",symbols:[]},{name:"createtable_references$ebnf$1",symbols:["createtable_references$ebnf$1","createtable_constraint_foreignkey_onsometing"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_references",symbols:[a.lexerAny.has("kw_references")?{type:"kw_references"}:kw_references,"table_ref","collist_paren","createtable_references$ebnf$1"],postprocess:e=>(0,n.track)(e,{foreignTable:c(e[1]),foreignColumns:e[2].map(o),...e[3].reduce(((e,s)=>({...e,...s})),{})})},{name:"createtable_constraint_foreignkey_onsometing",symbols:[a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"kw_delete","createtable_constraint_on_action"],postprocess:e=>(0,n.track)(e,{onDelete:m(e)})},{name:"createtable_constraint_foreignkey_onsometing",symbols:[a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"kw_update","createtable_constraint_on_action"],postprocess:e=>(0,n.track)(e,{onUpdate:m(e)})},{name:"createtable_constraint_foreignkey_onsometing$subexpression$1",symbols:[a.lexerAny.has("kw_full")?{type:"kw_full"}:kw_full]},{name:"createtable_constraint_foreignkey_onsometing$subexpression$1",symbols:["kw_partial"]},{name:"createtable_constraint_foreignkey_onsometing$subexpression$1",symbols:["kw_simple"]},{name:"createtable_constraint_foreignkey_onsometing",symbols:["kw_match","createtable_constraint_foreignkey_onsometing$subexpression$1"],postprocess:e=>(0,n.track)(e,{match:y(m(e))})},{name:"createtable_constraint_on_action$subexpression$1",symbols:["kw_cascade"]},{name:"createtable_constraint_on_action$subexpression$1$subexpression$1",symbols:["kw_no","kw_action"]},{name:"createtable_constraint_on_action$subexpression$1",symbols:["createtable_constraint_on_action$subexpression$1$subexpression$1"]},{name:"createtable_constraint_on_action$subexpression$1",symbols:["kw_restrict"]},{name:"createtable_constraint_on_action$subexpression$1$subexpression$2",symbols:[a.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null]},{name:"createtable_constraint_on_action$subexpression$1$subexpression$2",symbols:[a.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default]},{name:"createtable_constraint_on_action$subexpression$1",symbols:["kw_set","createtable_constraint_on_action$subexpression$1$subexpression$2"]},{name:"createtable_constraint_on_action",symbols:["createtable_constraint_on_action$subexpression$1"],postprocess:e=>y(e," ")},{name:"createtable_collist$ebnf$1",symbols:[]},{name:"createtable_collist$ebnf$1$subexpression$1",symbols:["comma","ident"],postprocess:m},{name:"createtable_collist$ebnf$1",symbols:["createtable_collist$ebnf$1","createtable_collist$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_collist",symbols:["ident","createtable_collist$ebnf$1"],postprocess:([e,s])=>[e,...s||[]]},{name:"createtable_column$ebnf$1",symbols:["createtable_collate"],postprocess:r},{name:"createtable_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtable_column$ebnf$2",symbols:[]},{name:"createtable_column$ebnf$2",symbols:["createtable_column$ebnf$2","createtable_column_constraint"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_column",symbols:["word","data_type","createtable_column$ebnf$1","createtable_column$ebnf$2"],postprocess:e=>(0,n.track)(e,{kind:"column",name:o(e[0]),dataType:e[1],...e[2]?{collate:e[2][1]}:{},...e[3]&&e[3].length?{constraints:e[3]}:{}})},{name:"createtable_like$ebnf$1",symbols:[]},{name:"createtable_like$ebnf$1",symbols:["createtable_like$ebnf$1","createtable_like_opt"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_like",symbols:[a.lexerAny.has("kw_like")?{type:"kw_like"}:kw_like,"qname","createtable_like$ebnf$1"],postprocess:e=>(0,n.track)(e,{kind:"like table",like:e[1],options:e[2]})},{name:"createtable_like_opt$subexpression$1",symbols:["kw_including"]},{name:"createtable_like_opt$subexpression$1",symbols:["kw_excluding"]},{name:"createtable_like_opt",symbols:["createtable_like_opt$subexpression$1","createtable_like_opt_val"],postprocess:e=>(0,n.track)(e,{verb:y(e[0]),option:y(e[1])})},{name:"createtable_like_opt_val",symbols:["word"],postprocess:x("defaults","constraints","indexes","storage","comments")},{name:"createtable_like_opt_val",symbols:[a.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all]},{name:"createtable_column_constraint$macrocall$2",symbols:["createtable_column_constraint_def"]},{name:"createtable_column_constraint$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"word"]},{name:"createtable_column_constraint$macrocall$1$ebnf$1",symbols:["createtable_column_constraint$macrocall$1$ebnf$1$subexpression$1"],postprocess:r},{name:"createtable_column_constraint$macrocall$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtable_column_constraint$macrocall$1",symbols:["createtable_column_constraint$macrocall$1$ebnf$1","createtable_column_constraint$macrocall$2"],postprocess:e=>{const s=e[0]&&o(e[0][1]);return s?(0,n.track)(e,{constraintName:s,...c(e[1])}):(0,n.track)(e,c(e[1]))}},{name:"createtable_column_constraint",symbols:["createtable_column_constraint$macrocall$1"],postprocess:c},{name:"createtable_column_constraint_def",symbols:[a.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique],postprocess:e=>(0,n.track)(e,{type:"unique"})},{name:"createtable_column_constraint_def",symbols:["kw_primary_key"],postprocess:e=>(0,n.track)(e,{type:"primary key"})},{name:"createtable_column_constraint_def",symbols:["kw_not_null"],postprocess:e=>(0,n.track)(e,{type:"not null"})},{name:"createtable_column_constraint_def",symbols:[a.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null],postprocess:e=>(0,n.track)(e,{type:"null"})},{name:"createtable_column_constraint_def",symbols:[a.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default,"expr"],postprocess:e=>(0,n.track)(e,{type:"default",default:c(e[1])})},{name:"createtable_column_constraint_def",symbols:[a.lexerAny.has("kw_check")?{type:"kw_check"}:kw_check,"expr_paren"],postprocess:e=>(0,n.track)(e,{type:"check",expr:c(e[1])})},{name:"createtable_column_constraint_def",symbols:["createtable_references"],postprocess:e=>(0,n.track)(e,{type:"reference",...c(e)})},{name:"createtable_column_constraint_def",symbols:["altercol_generated"]},{name:"createtable_collate",symbols:[a.lexerAny.has("kw_collate")?{type:"kw_collate"}:kw_collate,"qualified_name"]},{name:"createtable_opts$subexpression$1",symbols:["word"],postprocess:h("inherits")},{name:"createtable_opts$macrocall$2",symbols:["qname"]},{name:"createtable_opts$macrocall$1$ebnf$1",symbols:[]},{name:"createtable_opts$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"createtable_opts$macrocall$2"],postprocess:m},{name:"createtable_opts$macrocall$1$ebnf$1",symbols:["createtable_opts$macrocall$1$ebnf$1","createtable_opts$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_opts$macrocall$1",symbols:["createtable_opts$macrocall$2","createtable_opts$macrocall$1$ebnf$1"],postprocess:([e,s])=>[c(e),...s.map(c)||[]]},{name:"createtable_opts",symbols:["createtable_opts$subexpression$1","lparen","createtable_opts$macrocall$1","rparen"],postprocess:e=>(0,n.track)(e,{inherits:e[2]})},{name:"createindex_statement$ebnf$1",symbols:[a.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique],postprocess:r},{name:"createindex_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$2",symbols:["kw_ifnotexists"],postprocess:r},{name:"createindex_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$3",symbols:["word"],postprocess:r},{name:"createindex_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$4$subexpression$1",symbols:[a.lexerAny.has("kw_using")?{type:"kw_using"}:kw_using,"ident"],postprocess:m},{name:"createindex_statement$ebnf$4",symbols:["createindex_statement$ebnf$4$subexpression$1"],postprocess:r},{name:"createindex_statement$ebnf$4",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$5",symbols:["createindex_with"],postprocess:r},{name:"createindex_statement$ebnf$5",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$6",symbols:["createindex_tblspace"],postprocess:r},{name:"createindex_statement$ebnf$6",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$7",symbols:["createindex_predicate"],postprocess:r},{name:"createindex_statement$ebnf$7",symbols:[],postprocess:()=>null},{name:"createindex_statement",symbols:[a.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"createindex_statement$ebnf$1","kw_index","createindex_statement$ebnf$2","createindex_statement$ebnf$3",a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"table_ref","createindex_statement$ebnf$4","lparen","createindex_expressions","rparen","createindex_statement$ebnf$5","createindex_statement$ebnf$6","createindex_statement$ebnf$7"],postprocess:e=>(0,n.track)(e,{type:"create index",...e[1]&&{unique:!0},...e[3]&&{ifNotExists:!0},...e[4]&&{indexName:o(e[4])},table:e[6],...e[7]&&{using:o(e[7])},expressions:e[9],...e[11]&&{with:e[11]},...e[12]&&{tablespace:c(e[12])},...e[13]&&{where:c(e[13])}})},{name:"createindex_expressions$ebnf$1",symbols:[]},{name:"createindex_expressions$ebnf$1$subexpression$1",symbols:["comma","createindex_expression"],postprocess:m},{name:"createindex_expressions$ebnf$1",symbols:["createindex_expressions$ebnf$1","createindex_expressions$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createindex_expressions",symbols:["createindex_expression","createindex_expressions$ebnf$1"],postprocess:([e,s])=>[e,...s||[]]},{name:"createindex_expression$subexpression$1",symbols:["expr_basic"]},{name:"createindex_expression$subexpression$1",symbols:["expr_paren"]},{name:"createindex_expression$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_collate")?{type:"kw_collate"}:kw_collate,"qualified_name"],postprocess:m},{name:"createindex_expression$ebnf$1",symbols:["createindex_expression$ebnf$1$subexpression$1"],postprocess:r},{name:"createindex_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"createindex_expression$ebnf$2",symbols:["qualified_name"],postprocess:r},{name:"createindex_expression$ebnf$2",symbols:[],postprocess:()=>null},{name:"createindex_expression$ebnf$3$subexpression$1",symbols:[a.lexerAny.has("kw_asc")?{type:"kw_asc"}:kw_asc]},{name:"createindex_expression$ebnf$3$subexpression$1",symbols:[a.lexerAny.has("kw_desc")?{type:"kw_desc"}:kw_desc]},{name:"createindex_expression$ebnf$3",symbols:["createindex_expression$ebnf$3$subexpression$1"],postprocess:r},{name:"createindex_expression$ebnf$3",symbols:[],postprocess:()=>null},{name:"createindex_expression$ebnf$4$subexpression$1$subexpression$1",symbols:["kw_first"]},{name:"createindex_expression$ebnf$4$subexpression$1$subexpression$1",symbols:["kw_last"]},{name:"createindex_expression$ebnf$4$subexpression$1",symbols:["kw_nulls","createindex_expression$ebnf$4$subexpression$1$subexpression$1"],postprocess:m},{name:"createindex_expression$ebnf$4",symbols:["createindex_expression$ebnf$4$subexpression$1"],postprocess:r},{name:"createindex_expression$ebnf$4",symbols:[],postprocess:()=>null},{name:"createindex_expression",symbols:["createindex_expression$subexpression$1","createindex_expression$ebnf$1","createindex_expression$ebnf$2","createindex_expression$ebnf$3","createindex_expression$ebnf$4"],postprocess:e=>(0,n.track)(e,{expression:c(e[0]),...e[1]&&{collate:c(e[1])},...e[2]&&{opclass:c(e[2])},...e[3]&&{order:c(e[3]).value},...e[4]&&{nulls:c(e[4])}})},{name:"createindex_predicate",symbols:[a.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where,"expr"],postprocess:m},{name:"createindex_with$macrocall$2",symbols:["createindex_with_item"]},{name:"createindex_with$macrocall$1$ebnf$1",symbols:[]},{name:"createindex_with$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"createindex_with$macrocall$2"],postprocess:m},{name:"createindex_with$macrocall$1$ebnf$1",symbols:["createindex_with$macrocall$1$ebnf$1","createindex_with$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createindex_with$macrocall$1",symbols:["createindex_with$macrocall$2","createindex_with$macrocall$1$ebnf$1"],postprocess:([e,s])=>[c(e),...s.map(c)||[]]},{name:"createindex_with",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"lparen","createindex_with$macrocall$1","rparen"],postprocess:p(2)},{name:"createindex_with_item$subexpression$1",symbols:["string"]},{name:"createindex_with_item$subexpression$1",symbols:["int"]},{name:"createindex_with_item",symbols:["ident",a.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"createindex_with_item$subexpression$1"],postprocess:e=>(0,n.track)(e,{parameter:y(e[0]),value:c(e[2]).toString()})},{name:"createindex_tblspace",symbols:["kw_tablespace","ident"],postprocess:m},{name:"createextension_statement$ebnf$1",symbols:["kw_ifnotexists"],postprocess:r},{name:"createextension_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"createextension_statement$ebnf$2",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with],postprocess:r},{name:"createextension_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"createextension_statement$ebnf$3$subexpression$1",symbols:["kw_schema","word"],postprocess:m},{name:"createextension_statement$ebnf$3",symbols:["createextension_statement$ebnf$3$subexpression$1"],postprocess:r},{name:"createextension_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"createextension_statement$ebnf$4$subexpression$1",symbols:["kw_version","string"],postprocess:m},{name:"createextension_statement$ebnf$4",symbols:["createextension_statement$ebnf$4$subexpression$1"],postprocess:r},{name:"createextension_statement$ebnf$4",symbols:[],postprocess:()=>null},{name:"createextension_statement$ebnf$5$subexpression$1",symbols:[a.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"string"],postprocess:m},{name:"createextension_statement$ebnf$5",symbols:["createextension_statement$ebnf$5$subexpression$1"],postprocess:r},{name:"createextension_statement$ebnf$5",symbols:[],postprocess:()=>null},{name:"createextension_statement",symbols:[a.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"kw_extension","createextension_statement$ebnf$1","word","createextension_statement$ebnf$2","createextension_statement$ebnf$3","createextension_statement$ebnf$4","createextension_statement$ebnf$5"],postprocess:e=>(0,n.track)(e,{type:"create extension",...e[2]?{ifNotExists:!0}:{},extension:o(e[3]),...e[5]?{schema:o(e[5])}:{},...e[6]?{version:i(e[6])}:{},...e[7]?{from:i(e[7])}:{}})},{name:"simplestatements_all",symbols:["simplestatements_start_transaction"]},{name:"simplestatements_all",symbols:["simplestatements_commit"]},{name:"simplestatements_all",symbols:["simplestatements_rollback"]},{name:"simplestatements_all",symbols:["simplestatements_tablespace"]},{name:"simplestatements_all",symbols:["simplestatements_set"]},{name:"simplestatements_all",symbols:["simplestatements_show"]},{name:"simplestatements_all",symbols:["simplestatements_begin"]},{name:"simplestatements_start_transaction$subexpression$1",symbols:["kw_start","kw_transaction"]},{name:"simplestatements_start_transaction",symbols:["simplestatements_start_transaction$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"start transaction"})},{name:"simplestatements_commit",symbols:["kw_commit"],postprocess:e=>(0,n.track)(e,{type:"commit"})},{name:"simplestatements_rollback",symbols:["kw_rollback"],postprocess:e=>(0,n.track)(e,{type:"rollback"})},{name:"simplestatements_tablespace",symbols:["kw_tablespace","word"],postprocess:e=>(0,n.track)(e,{type:"tablespace",tablespace:o(e[1])})},{name:"simplestatements_set$subexpression$1",symbols:["simplestatements_set_simple"]},{name:"simplestatements_set$subexpression$1",symbols:["simplestatements_set_timezone"]},{name:"simplestatements_set",symbols:["kw_set","simplestatements_set$subexpression$1"],postprocess:m},{name:"simplestatements_set_timezone",symbols:["kw_time","kw_zone","simplestatements_set_timezone_val"],postprocess:e=>(0,n.track)(e,{type:"set timezone",to:e[2]})},{name:"simplestatements_set_timezone_val$subexpression$1",symbols:["string"]},{name:"simplestatements_set_timezone_val$subexpression$1",symbols:["int"]},{name:"simplestatements_set_timezone_val",symbols:["simplestatements_set_timezone_val$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"value",value:c(e[0])})},{name:"simplestatements_set_timezone_val",symbols:["kw_local"],postprocess:e=>(0,n.track)(e,{type:"local"})},{name:"simplestatements_set_timezone_val",symbols:[a.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default],postprocess:e=>(0,n.track)(e,{type:"default"})},{name:"simplestatements_set_timezone_val",symbols:["kw_interval","string","kw_hour",a.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"kw_minute"],postprocess:e=>(0,n.track)(e,{type:"interval",value:(0,n.unbox)(e[1])})},{name:"simplestatements_set_simple$subexpression$1",symbols:[a.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq]},{name:"simplestatements_set_simple$subexpression$1",symbols:[a.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to]},{name:"simplestatements_set_simple",symbols:["ident","simplestatements_set_simple$subexpression$1","simplestatements_set_val"],postprocess:e=>(0,n.track)(e,{type:"set",variable:o(e[0]),set:(0,n.unbox)(e[2])})},{name:"simplestatements_set_val",symbols:["simplestatements_set_val_raw"],postprocess:c},{name:"simplestatements_set_val",symbols:[a.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default],postprocess:e=>(0,n.track)(e,{type:"default"})},{name:"simplestatements_set_val$ebnf$1$subexpression$1",symbols:["comma","simplestatements_set_val_raw"]},{name:"simplestatements_set_val$ebnf$1",symbols:["simplestatements_set_val$ebnf$1$subexpression$1"]},{name:"simplestatements_set_val$ebnf$1$subexpression$2",symbols:["comma","simplestatements_set_val_raw"]},{name:"simplestatements_set_val$ebnf$1",symbols:["simplestatements_set_val$ebnf$1","simplestatements_set_val$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"simplestatements_set_val",symbols:["simplestatements_set_val_raw","simplestatements_set_val$ebnf$1"],postprocess:e=>(0,n.track)(e,{type:"list",values:[e[0],...e[1]||[]]})},{name:"simplestatements_set_val_raw$subexpression$1",symbols:["string"]},{name:"simplestatements_set_val_raw$subexpression$1",symbols:["int"]},{name:"simplestatements_set_val_raw",symbols:["simplestatements_set_val_raw$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"value",value:c(e)})},{name:"simplestatements_set_val_raw$subexpression$2",symbols:[a.lexerAny.has("word")?{type:"word"}:word]},{name:"simplestatements_set_val_raw$subexpression$2",symbols:[a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on]},{name:"simplestatements_set_val_raw$subexpression$2",symbols:[a.lexerAny.has("kw_true")?{type:"kw_true"}:kw_true]},{name:"simplestatements_set_val_raw$subexpression$2",symbols:[a.lexerAny.has("kw_false")?{type:"kw_false"}:kw_false]},{name:"simplestatements_set_val_raw",symbols:["simplestatements_set_val_raw$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"identifier",name:c(e).value})},{name:"simplestatements_set_val_raw",symbols:[a.lexerAny.has("quoted_word")?{type:"quoted_word"}:quoted_word],postprocess:e=>(0,n.track)(e,{type:"identifier",doubleQuoted:!0,name:c(e).value})},{name:"simplestatements_show",symbols:["kw_show","ident"],postprocess:e=>(0,n.track)(e,{type:"show",variable:o(e[1])})},{name:"create_schema$subexpression$1",symbols:[a.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"kw_schema"]},{name:"create_schema$ebnf$1",symbols:["kw_ifnotexists"],postprocess:r},{name:"create_schema$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_schema",symbols:["create_schema$subexpression$1","create_schema$ebnf$1","ident"],postprocess:e=>(0,n.track)(e,{type:"create schema",name:o(e[2]),...e[1]?{ifNotExists:!0}:{}})},{name:"raise_statement$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:x("debug","log","info","notice","warning","exception")},{name:"raise_statement$ebnf$1",symbols:["raise_statement$ebnf$1$subexpression$1"],postprocess:r},{name:"raise_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"raise_statement$ebnf$2$subexpression$1",symbols:["comma","expr_list_raw"],postprocess:m},{name:"raise_statement$ebnf$2",symbols:["raise_statement$ebnf$2$subexpression$1"],postprocess:r},{name:"raise_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"raise_statement$ebnf$3",symbols:["raise_using"],postprocess:r},{name:"raise_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"raise_statement",symbols:["kw_raise","raise_statement$ebnf$1","string","raise_statement$ebnf$2","raise_statement$ebnf$3"],postprocess:e=>(0,n.track)(e,{type:"raise",format:y(e[2]),...e[1]&&{level:y(e[1])},...e[3]&&e[3].length&&{formatExprs:e[3]},...e[4]&&e[4].length&&{using:e[4]}})},{name:"raise_using$macrocall$2",symbols:["raise_using_one"]},{name:"raise_using$macrocall$1$ebnf$1",symbols:[]},{name:"raise_using$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"raise_using$macrocall$2"],postprocess:m},{name:"raise_using$macrocall$1$ebnf$1",symbols:["raise_using$macrocall$1$ebnf$1","raise_using$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"raise_using$macrocall$1",symbols:["raise_using$macrocall$2","raise_using$macrocall$1$ebnf$1"],postprocess:([e,s])=>[c(e),...s.map(c)||[]]},{name:"raise_using",symbols:[a.lexerAny.has("kw_using")?{type:"kw_using"}:kw_using,"raise_using$macrocall$1"],postprocess:m},{name:"raise_using_one",symbols:["raise_using_what",a.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"expr"],postprocess:e=>(0,n.track)(e,{type:y(e[0]),value:e[2]})},{name:"raise_using_what",symbols:[a.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table]},{name:"raise_using_what",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:x("message","detail","hint","errcode","column","constraint","datatype","schema")},{name:"comment_statement",symbols:["kw_comment",a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"comment_what",a.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is,"string"],postprocess:e=>(0,n.track)(e,{type:"comment",comment:(0,n.unbox)(m(e)),on:c(e[2])})},{name:"comment_what",symbols:["comment_what_col"]},{name:"comment_what",symbols:["comment_what_nm"]},{name:"comment_what_nm$subexpression$1",symbols:[a.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table]},{name:"comment_what_nm$subexpression$1",symbols:["kw_materialized","kw_view"]},{name:"comment_what_nm$subexpression$1",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:x("database","index","trigger","type","view")},{name:"comment_what_nm",symbols:["comment_what_nm$subexpression$1","qualified_name"],postprocess:e=>(0,n.track)(e,{type:y(e[0]),name:e[1]})},{name:"comment_what_col",symbols:["kw_column","qcolumn"],postprocess:e=>(0,n.track)(e,{type:"column",column:m(e)})},{name:"simplestatements_begin$ebnf$1$subexpression$1",symbols:["kw_transaction"]},{name:"simplestatements_begin$ebnf$1$subexpression$1",symbols:["kw_work"]},{name:"simplestatements_begin$ebnf$1",symbols:["simplestatements_begin$ebnf$1$subexpression$1"],postprocess:r},{name:"simplestatements_begin$ebnf$1",symbols:[],postprocess:()=>null},{name:"simplestatements_begin$ebnf$2",symbols:[]},{name:"simplestatements_begin$ebnf$2$subexpression$1",symbols:["simplestatements_begin_isol"]},{name:"simplestatements_begin$ebnf$2$subexpression$1",symbols:["simplestatements_begin_writ"]},{name:"simplestatements_begin$ebnf$2$subexpression$1",symbols:["simplestatements_begin_def"]},{name:"simplestatements_begin$ebnf$2",symbols:["simplestatements_begin$ebnf$2","simplestatements_begin$ebnf$2$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"simplestatements_begin",symbols:["kw_begin","simplestatements_begin$ebnf$1","simplestatements_begin$ebnf$2"],postprocess:e=>(0,n.track)(e,{type:"begin",...e[2].reduce(((e,s)=>({...c(e),...c(s)})),{})})},{name:"simplestatements_begin_isol$subexpression$1",symbols:["kw_isolation","kw_level"]},{name:"simplestatements_begin_isol$subexpression$2",symbols:["kw_serializable"]},{name:"simplestatements_begin_isol$subexpression$2$subexpression$1",symbols:["word"],postprocess:h("repeatable")},{name:"simplestatements_begin_isol$subexpression$2",symbols:["simplestatements_begin_isol$subexpression$2$subexpression$1","kw_read"]},{name:"simplestatements_begin_isol$subexpression$2$subexpression$2",symbols:["word"],postprocess:h("committed")},{name:"simplestatements_begin_isol$subexpression$2",symbols:["kw_read","simplestatements_begin_isol$subexpression$2$subexpression$2"]},{name:"simplestatements_begin_isol$subexpression$2$subexpression$3",symbols:["word"],postprocess:h("uncommitted")},{name:"simplestatements_begin_isol$subexpression$2",symbols:["kw_read","simplestatements_begin_isol$subexpression$2$subexpression$3"]},{name:"simplestatements_begin_isol",symbols:["simplestatements_begin_isol$subexpression$1","simplestatements_begin_isol$subexpression$2"],postprocess:e=>(0,n.track)(e,{isolationLevel:y(e[1]," ")})},{name:"simplestatements_begin_writ$subexpression$1",symbols:["kw_read","kw_write"]},{name:"simplestatements_begin_writ$subexpression$1",symbols:["kw_read",a.lexerAny.has("kw_only")?{type:"kw_only"}:kw_only]},{name:"simplestatements_begin_writ",symbols:["simplestatements_begin_writ$subexpression$1"],postprocess:e=>(0,n.track)(e,{writeable:y(e," ")})},{name:"simplestatements_begin_def$ebnf$1",symbols:[a.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:r},{name:"simplestatements_begin_def$ebnf$1",symbols:[],postprocess:()=>null},{name:"simplestatements_begin_def",symbols:["simplestatements_begin_def$ebnf$1",a.lexerAny.has("kw_deferrable")?{type:"kw_deferrable"}:kw_deferrable],postprocess:e=>(0,n.track)(e,{deferrable:!e[0]})},{name:"insert_statement$subexpression$1",symbols:["kw_insert",a.lexerAny.has("kw_into")?{type:"kw_into"}:kw_into]},{name:"insert_statement$ebnf$1",symbols:["collist_paren"],postprocess:r},{name:"insert_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"insert_statement$ebnf$2$subexpression$1$subexpression$1",symbols:["kw_system"]},{name:"insert_statement$ebnf$2$subexpression$1$subexpression$1",symbols:[a.lexerAny.has("kw_user")?{type:"kw_user"}:kw_user]},{name:"insert_statement$ebnf$2$subexpression$1",symbols:["kw_overriding","insert_statement$ebnf$2$subexpression$1$subexpression$1","kw_value"],postprocess:p(1)},{name:"insert_statement$ebnf$2",symbols:["insert_statement$ebnf$2$subexpression$1"],postprocess:r},{name:"insert_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"insert_statement$ebnf$3$subexpression$1",symbols:["selection"]},{name:"insert_statement$ebnf$3$subexpression$1",symbols:["selection_paren"]},{name:"insert_statement$ebnf$3",symbols:["insert_statement$ebnf$3$subexpression$1"],postprocess:r},{name:"insert_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"insert_statement$ebnf$4$subexpression$1",symbols:[a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"kw_conflict","insert_on_conflict"],postprocess:m},{name:"insert_statement$ebnf$4",symbols:["insert_statement$ebnf$4$subexpression$1"],postprocess:r},{name:"insert_statement$ebnf$4",symbols:[],postprocess:()=>null},{name:"insert_statement$ebnf$5$subexpression$1",symbols:[a.lexerAny.has("kw_returning")?{type:"kw_returning"}:kw_returning,"select_expr_list_aliased"],postprocess:m},{name:"insert_statement$ebnf$5",symbols:["insert_statement$ebnf$5$subexpression$1"],postprocess:r},{name:"insert_statement$ebnf$5",symbols:[],postprocess:()=>null},{name:"insert_statement",symbols:["insert_statement$subexpression$1","table_ref_aliased","insert_statement$ebnf$1","insert_statement$ebnf$2","insert_statement$ebnf$3","insert_statement$ebnf$4","insert_statement$ebnf$5"],postprocess:e=>{const s=e[2]&&e[2].map(o),t=y(e[3]),r=c(e[4]),a=e[5],l=e[6];return(0,n.track)(e,{type:"insert",into:c(e[1]),insert:r,...t&&{overriding:t},...s&&{columns:s},...l&&{returning:l},...a&&{onConflict:a}})}},{name:"insert_values$ebnf$1",symbols:[]},{name:"insert_values$ebnf$1$subexpression$1",symbols:["comma","insert_value"],postprocess:m},{name:"insert_values$ebnf$1",symbols:["insert_values$ebnf$1","insert_values$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"insert_values",symbols:["insert_value","insert_values$ebnf$1"],postprocess:([e,s])=>[e,...s||[]]},{name:"insert_value",symbols:["lparen","insert_expr_list_raw","rparen"],postprocess:p(1)},{name:"insert_expr_list_raw$ebnf$1",symbols:[]},{name:"insert_expr_list_raw$ebnf$1$subexpression$1",symbols:["comma","expr_or_select"],postprocess:m},{name:"insert_expr_list_raw$ebnf$1",symbols:["insert_expr_list_raw$ebnf$1","insert_expr_list_raw$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"insert_expr_list_raw",symbols:["expr_or_select","insert_expr_list_raw$ebnf$1"],postprocess:([e,s])=>[e,...s||[]]},{name:"insert_on_conflict$ebnf$1",symbols:["insert_on_conflict_what"],postprocess:r},{name:"insert_on_conflict$ebnf$1",symbols:[],postprocess:()=>null},{name:"insert_on_conflict",symbols:["insert_on_conflict$ebnf$1","insert_on_conflict_do"],postprocess:e=>(0,n.track)(e,{...e[0]?{on:c(e[0])}:{},...e[1]})},{name:"insert_on_conflict_what",symbols:["lparen","expr_list_raw","rparen"],postprocess:e=>(0,n.track)(e,{type:"on expr",exprs:e[1]})},{name:"insert_on_conflict_what",symbols:[a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,a.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"qname"],postprocess:e=>(0,n.track)(e,{type:"on constraint",constraint:m(e)})},{name:"insert_on_conflict_do",symbols:[a.lexerAny.has("kw_do")?{type:"kw_do"}:kw_do,"kw_nothing"],postprocess:e=>({do:"do nothing"})},{name:"insert_on_conflict_do$subexpression$1",symbols:[a.lexerAny.has("kw_do")?{type:"kw_do"}:kw_do,"kw_update","kw_set"]},{name:"insert_on_conflict_do$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where,"expr"],postprocess:m},{name:"insert_on_conflict_do$ebnf$1",symbols:["insert_on_conflict_do$ebnf$1$subexpression$1"],postprocess:r},{name:"insert_on_conflict_do$ebnf$1",symbols:[],postprocess:()=>null},{name:"insert_on_conflict_do",symbols:["insert_on_conflict_do$subexpression$1","update_set_list","insert_on_conflict_do$ebnf$1"],postprocess:e=>({do:{sets:e[1]},...e[2]&&{where:e[2]}})},{name:"update_statement$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"select_from_subject"],postprocess:m},{name:"update_statement$ebnf$1",symbols:["update_statement$ebnf$1$subexpression$1"],postprocess:r},{name:"update_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"update_statement$ebnf$2",symbols:["select_where"],postprocess:r},{name:"update_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"update_statement$ebnf$3$subexpression$1",symbols:[a.lexerAny.has("kw_returning")?{type:"kw_returning"}:kw_returning,"select_expr_list_aliased"],postprocess:m},{name:"update_statement$ebnf$3",symbols:["update_statement$ebnf$3$subexpression$1"],postprocess:r},{name:"update_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"update_statement",symbols:["kw_update","table_ref_aliased","kw_set","update_set_list","update_statement$ebnf$1","update_statement$ebnf$2","update_statement$ebnf$3"],postprocess:e=>{const s=c(e[4]),t=c(e[5]),r=e[6];return(0,n.track)(e,{type:"update",table:c(e[1]),sets:e[3],...t?{where:t}:{},...s?{from:s}:{},...r?{returning:r}:{}})}},{name:"update_set_list$ebnf$1",symbols:[]},{name:"update_set_list$ebnf$1$subexpression$1",symbols:["comma","update_set"],postprocess:m},{name:"update_set_list$ebnf$1",symbols:["update_set_list$ebnf$1","update_set_list$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"update_set_list",symbols:["update_set","update_set_list$ebnf$1"],postprocess:([e,s])=>{const t=[];for(const r of[e,...s||[]]){const e=c(r);Array.isArray(e)?t.push(...e):t.push(e)}return t}},{name:"update_set",symbols:["update_set_one"]},{name:"update_set",symbols:["update_set_multiple"]},{name:"update_set_one",symbols:["ident",a.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"expr"],postprocess:e=>(0,n.box)(e,{column:o(e[0]),value:c(e[2])})},{name:"update_set_multiple$subexpression$1",symbols:["lparen","expr_list_raw","rparen"],postprocess:p(1)},{name:"update_set_multiple",symbols:["collist_paren",a.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"update_set_multiple$subexpression$1"],postprocess:e=>{const s=e[0],t=e[2];if(s.length!==t.length)throw new Error("number of columns does not match number of values");return(0,n.box)(e,s.map(((e,s)=>({column:o(e),value:c(t[s])}))))}},{name:"altertable_statement$ebnf$1",symbols:["kw_ifexists"],postprocess:r},{name:"altertable_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_statement$ebnf$2",symbols:[a.lexerAny.has("kw_only")?{type:"kw_only"}:kw_only],postprocess:r},{name:"altertable_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"altertable_statement",symbols:["kw_alter",a.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table,"altertable_statement$ebnf$1","altertable_statement$ebnf$2","table_ref","altertable_actions"],postprocess:e=>(0,n.track)(e,{type:"alter table",...e[2]?{ifExists:!0}:{},...e[3]?{only:!0}:{},table:c(e[4]),changes:(0,n.unbox)(e[5]).map(c)})},{name:"altertable_actions$ebnf$1",symbols:[]},{name:"altertable_actions$ebnf$1$subexpression$1",symbols:["comma","altertable_action"],postprocess:m},{name:"altertable_actions$ebnf$1",symbols:["altertable_actions$ebnf$1","altertable_actions$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"altertable_actions",symbols:["altertable_action","altertable_actions$ebnf$1"],postprocess:([e,s])=>[e,...s||[]]},{name:"altertable_action",symbols:["altertable_rename_table"]},{name:"altertable_action",symbols:["altertable_rename_column"]},{name:"altertable_action",symbols:["altertable_rename_constraint"]},{name:"altertable_action",symbols:["altertable_add_column"]},{name:"altertable_action",symbols:["altertable_drop_column"]},{name:"altertable_action",symbols:["altertable_alter_column"]},{name:"altertable_action",symbols:["altertable_add_constraint"]},{name:"altertable_action",symbols:["altertable_drop_constraint"]},{name:"altertable_action",symbols:["altertable_owner"]},{name:"altertable_rename_table",symbols:["kw_rename",a.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"word"],postprocess:e=>(0,n.track)(e,{type:"rename",to:o(m(e))})},{name:"altertable_rename_column$ebnf$1",symbols:["kw_column"],postprocess:r},{name:"altertable_rename_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_rename_column",symbols:["kw_rename","altertable_rename_column$ebnf$1","ident",a.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"ident"],postprocess:e=>(0,n.track)(e,{type:"rename column",column:o(e[2]),to:o(m(e))})},{name:"altertable_rename_constraint",symbols:["kw_rename",a.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"ident",a.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"ident"],postprocess:e=>(0,n.track)(e,{type:"rename constraint",constraint:o(e[2]),to:o(m(e))})},{name:"altertable_add_column$ebnf$1",symbols:["kw_column"],postprocess:r},{name:"altertable_add_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_add_column$ebnf$2",symbols:["kw_ifnotexists"],postprocess:r},{name:"altertable_add_column$ebnf$2",symbols:[],postprocess:()=>null},{name:"altertable_add_column",symbols:["kw_add","altertable_add_column$ebnf$1","altertable_add_column$ebnf$2","createtable_column"],postprocess:e=>(0,n.track)(e,{type:"add column",...e[2]?{ifNotExists:!0}:{},column:c(e[3])})},{name:"altertable_drop_column$ebnf$1",symbols:["kw_column"],postprocess:r},{name:"altertable_drop_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_drop_column$ebnf$2",symbols:["kw_ifexists"],postprocess:r},{name:"altertable_drop_column$ebnf$2",symbols:[],postprocess:()=>null},{name:"altertable_drop_column$ebnf$3$subexpression$1",symbols:["kw_restrict"]},{name:"altertable_drop_column$ebnf$3$subexpression$1",symbols:["kw_cascade"]},{name:"altertable_drop_column$ebnf$3",symbols:["altertable_drop_column$ebnf$3$subexpression$1"],postprocess:r},{name:"altertable_drop_column$ebnf$3",symbols:[],postprocess:()=>null},{name:"altertable_drop_column",symbols:["kw_drop","altertable_drop_column$ebnf$1","altertable_drop_column$ebnf$2","ident","altertable_drop_column$ebnf$3"],postprocess:e=>(0,n.track)(e,{type:"drop column",...e[2]?{ifExists:!0}:{},column:o(e[3]),...e[4]?{behaviour:y(e[4]," ")}:{}})},{name:"altertable_alter_column$ebnf$1",symbols:["kw_column"],postprocess:r},{name:"altertable_alter_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_alter_column",symbols:["kw_alter","altertable_alter_column$ebnf$1","ident","altercol"],postprocess:e=>(0,n.track)(e,{type:"alter column",column:o(e[2]),alter:c(e[3])})},{name:"altercol$ebnf$1$subexpression$1",symbols:["kw_set","kw_data"]},{name:"altercol$ebnf$1",symbols:["altercol$ebnf$1$subexpression$1"],postprocess:r},{name:"altercol$ebnf$1",symbols:[],postprocess:()=>null},{name:"altercol",symbols:["altercol$ebnf$1","kw_type","data_type"],postprocess:e=>(0,n.track)(e,{type:"set type",dataType:c(m(e))})},{name:"altercol",symbols:["kw_set",a.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default,"expr"],postprocess:e=>(0,n.track)(e,{type:"set default",default:c(m(e))})},{name:"altercol",symbols:["kw_drop",a.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default],postprocess:e=>(0,n.track)(e,{type:"drop default"})},{name:"altercol$subexpression$1",symbols:["kw_set"]},{name:"altercol$subexpression$1",symbols:["kw_drop"]},{name:"altercol",symbols:["altercol$subexpression$1","kw_not_null"],postprocess:e=>(0,n.track)(e,{type:y(e," ")})},{name:"altercol",symbols:["altercol_generated_add"],postprocess:c},{name:"altertable_add_constraint",symbols:["kw_add","createtable_constraint"],postprocess:e=>(0,n.track)(e,{type:"add constraint",constraint:c(m(e))})},{name:"altertable_drop_constraint$ebnf$1",symbols:["kw_ifexists"],postprocess:r},{name:"altertable_drop_constraint$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_drop_constraint$ebnf$2$subexpression$1",symbols:["kw_restrict"]},{name:"altertable_drop_constraint$ebnf$2$subexpression$1",symbols:["kw_cascade"]},{name:"altertable_drop_constraint$ebnf$2",symbols:["altertable_drop_constraint$ebnf$2$subexpression$1"],postprocess:r},{name:"altertable_drop_constraint$ebnf$2",symbols:[],postprocess:()=>null},{name:"altertable_drop_constraint",symbols:["kw_drop",a.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"altertable_drop_constraint$ebnf$1","ident","altertable_drop_constraint$ebnf$2"],postprocess:e=>(0,n.track)(e,{type:"drop constraint",...e[2]?{ifExists:!0}:{},constraint:o(e[3]),...e[4]?{behaviour:y(e[4]," ")}:{}})},{name:"altertable_owner",symbols:["kw_owner",a.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"ident"],postprocess:e=>(0,n.track)(e,{type:"owner",to:o(m(e))})},{name:"altercol_generated_add",symbols:["kw_add","altercol_generated"],postprocess:m},{name:"altercol_generated$ebnf$1$subexpression$1",symbols:["kw_always"]},{name:"altercol_generated$ebnf$1$subexpression$1",symbols:["kw_by",a.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default]},{name:"altercol_generated$ebnf$1",symbols:["altercol_generated$ebnf$1$subexpression$1"],postprocess:r},{name:"altercol_generated$ebnf$1",symbols:[],postprocess:()=>null},{name:"altercol_generated$subexpression$1",symbols:[a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"kw_identity"]},{name:"altercol_generated$ebnf$2$subexpression$1",symbols:["lparen","altercol_generated_seq","rparen"],postprocess:p(1)},{name:"altercol_generated$ebnf$2",symbols:["altercol_generated$ebnf$2$subexpression$1"],postprocess:r},{name:"altercol_generated$ebnf$2",symbols:[],postprocess:()=>null},{name:"altercol_generated",symbols:["kw_generated","altercol_generated$ebnf$1","altercol_generated$subexpression$1","altercol_generated$ebnf$2"],postprocess:e=>(0,n.track)(e,{type:"add generated",...e[1]&&{always:y(e[1]," ")},...e[3]&&{sequence:c(e[3])}})},{name:"altercol_generated_seq$ebnf$1$subexpression$1",symbols:["kw_sequence","kw_name","qualified_name"]},{name:"altercol_generated_seq$ebnf$1",symbols:["altercol_generated_seq$ebnf$1$subexpression$1"],postprocess:r},{name:"altercol_generated_seq$ebnf$1",symbols:[],postprocess:()=>null},{name:"altercol_generated_seq$ebnf$2",symbols:[]},{name:"altercol_generated_seq$ebnf$2",symbols:["altercol_generated_seq$ebnf$2","create_sequence_option"],postprocess:e=>e[0].concat([e[1]])},{name:"altercol_generated_seq",symbols:["altercol_generated_seq$ebnf$1","altercol_generated_seq$ebnf$2"],postprocess:e=>{const s={...e[0]&&{name:c(m(e[0]))}};return w(s,e[1]),(0,n.track)(e,s)}},{name:"alterindex_statement$ebnf$1",symbols:["kw_ifexists"],postprocess:r},{name:"alterindex_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"alterindex_statement",symbols:["kw_alter","kw_index","alterindex_statement$ebnf$1","table_ref","alterindex_action"],postprocess:e=>(0,n.track)(e,{type:"alter index",...e[2]?{ifExists:!0}:{},index:c(e[3]),change:c(e[4])})},{name:"alterindex_action",symbols:["alterindex_rename"]},{name:"alterindex_action",symbols:["alterindex_set_tablespace"]},{name:"alterindex_rename",symbols:["kw_rename",a.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"word"],postprocess:e=>(0,n.track)(e,{type:"rename",to:o(m(e))})},{name:"alterindex_set_tablespace",symbols:["kw_set","kw_tablespace","word"],postprocess:e=>(0,n.track)(e,{type:"set tablespace",tablespace:o(m(e))})},{name:"delete_statement",symbols:["delete_delete"]},{name:"delete_statement",symbols:["delete_truncate"]},{name:"delete_delete$subexpression$1",symbols:["kw_delete",a.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from]},{name:"delete_delete$ebnf$1",symbols:["select_where"],postprocess:r},{name:"delete_delete$ebnf$1",symbols:[],postprocess:()=>null},{name:"delete_delete$ebnf$2$subexpression$1",symbols:[a.lexerAny.has("kw_returning")?{type:"kw_returning"}:kw_returning,"select_expr_list_aliased"],postprocess:m},{name:"delete_delete$ebnf$2",symbols:["delete_delete$ebnf$2$subexpression$1"],postprocess:r},{name:"delete_delete$ebnf$2",symbols:[],postprocess:()=>null},{name:"delete_delete",symbols:["delete_delete$subexpression$1","table_ref_aliased","delete_delete$ebnf$1","delete_delete$ebnf$2"],postprocess:e=>{const s=e[2],t=e[3];return(0,n.track)(e,{type:"delete",from:c(e[1]),...s?{where:s}:{},...t?{returning:t}:{}})}},{name:"delete_truncate$subexpression$1$ebnf$1",symbols:[a.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table],postprocess:r},{name:"delete_truncate$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"delete_truncate$subexpression$1",symbols:["kw_truncate","delete_truncate$subexpression$1$ebnf$1"]},{name:"delete_truncate$macrocall$2",symbols:["table_ref"]},{name:"delete_truncate$macrocall$1$ebnf$1",symbols:[]},{name:"delete_truncate$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"delete_truncate$macrocall$2"],postprocess:m},{name:"delete_truncate$macrocall$1$ebnf$1",symbols:["delete_truncate$macrocall$1$ebnf$1","delete_truncate$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"delete_truncate$macrocall$1",symbols:["delete_truncate$macrocall$2","delete_truncate$macrocall$1$ebnf$1"],postprocess:([e,s])=>[c(e),...s.map(c)||[]]},{name:"delete_truncate$ebnf$1$subexpression$1$subexpression$1",symbols:["kw_restart"]},{name:"delete_truncate$ebnf$1$subexpression$1$subexpression$1",symbols:["kw_continue"]},{name:"delete_truncate$ebnf$1$subexpression$1",symbols:["delete_truncate$ebnf$1$subexpression$1$subexpression$1","kw_identity"]},{name:"delete_truncate$ebnf$1",symbols:["delete_truncate$ebnf$1$subexpression$1"],postprocess:r},{name:"delete_truncate$ebnf$1",symbols:[],postprocess:()=>null},{name:"delete_truncate$ebnf$2$subexpression$1",symbols:["kw_restrict"]},{name:"delete_truncate$ebnf$2$subexpression$1",symbols:["kw_cascade"]},{name:"delete_truncate$ebnf$2",symbols:["delete_truncate$ebnf$2$subexpression$1"],postprocess:r},{name:"delete_truncate$ebnf$2",symbols:[],postprocess:()=>null},{name:"delete_truncate",symbols:["delete_truncate$subexpression$1","delete_truncate$macrocall$1","delete_truncate$ebnf$1","delete_truncate$ebnf$2"],postprocess:e=>(0,n.track)(e,{type:"truncate table",tables:e[1],...e[2]&&{identity:y(e[2][0])},...e[3]&&{cascade:y(e[3])}})},{name:"create_sequence_statement$ebnf$1$subexpression$1",symbols:["kw_temp"]},{name:"create_sequence_statement$ebnf$1$subexpression$1",symbols:["kw_temporary"]},{name:"create_sequence_statement$ebnf$1",symbols:["create_sequence_statement$ebnf$1$subexpression$1"],postprocess:r},{name:"create_sequence_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_sequence_statement$ebnf$2",symbols:["kw_ifnotexists"],postprocess:r},{name:"create_sequence_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"create_sequence_statement$ebnf$3",symbols:[]},{name:"create_sequence_statement$ebnf$3",symbols:["create_sequence_statement$ebnf$3","create_sequence_option"],postprocess:e=>e[0].concat([e[1]])},{name:"create_sequence_statement",symbols:[a.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"create_sequence_statement$ebnf$1","kw_sequence","create_sequence_statement$ebnf$2","qualified_name","create_sequence_statement$ebnf$3"],postprocess:e=>{const s={type:"create sequence",...e[1]&&{temp:!0},...e[3]&&{ifNotExists:!0},name:c(e[4]),options:{}};return w(s.options,e[5]),(0,n.track)(e,s)}},{name:"create_sequence_option",symbols:[a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"data_type"],postprocess:e=>(0,n.box)(e,["as",e[1]])},{name:"create_sequence_option$ebnf$1",symbols:["kw_by"],postprocess:r},{name:"create_sequence_option$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_sequence_option",symbols:["kw_increment","create_sequence_option$ebnf$1","int"],postprocess:e=>(0,n.box)(e,["incrementBy",e[2]])},{name:"create_sequence_option",symbols:["create_sequence_minvalue"],postprocess:e=>(0,n.box)(e,["minValue",e[0]])},{name:"create_sequence_option",symbols:["create_sequence_maxvalue"],postprocess:e=>(0,n.box)(e,["maxValue",e[0]])},{name:"create_sequence_option$ebnf$2",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with],postprocess:r},{name:"create_sequence_option$ebnf$2",symbols:[],postprocess:()=>null},{name:"create_sequence_option",symbols:["kw_start","create_sequence_option$ebnf$2","int"],postprocess:e=>(0,n.box)(e,["startWith",e[2]])},{name:"create_sequence_option",symbols:["kw_cache","int"],postprocess:e=>(0,n.box)(e,["cache",e[1]])},{name:"create_sequence_option$ebnf$3",symbols:["kw_no"],postprocess:r},{name:"create_sequence_option$ebnf$3",symbols:[],postprocess:()=>null},{name:"create_sequence_option",symbols:["create_sequence_option$ebnf$3","kw_cycle"],postprocess:e=>(0,n.box)(e,["cycle",y(e," ")])},{name:"create_sequence_option",symbols:["create_sequence_owned_by"],postprocess:e=>(0,n.box)(e,["ownedBy",c(e)])},{name:"create_sequence_minvalue",symbols:["kw_minvalue","int"],postprocess:m},{name:"create_sequence_minvalue",symbols:["kw_no","kw_minvalue"],postprocess:e=>(0,n.box)(e,"no minvalue")},{name:"create_sequence_maxvalue",symbols:["kw_maxvalue","int"],postprocess:m},{name:"create_sequence_maxvalue",symbols:["kw_no","kw_maxvalue"],postprocess:e=>(0,n.box)(e,"no maxvalue")},{name:"create_sequence_owned_by$subexpression$1",symbols:["kw_none"]},{name:"create_sequence_owned_by$subexpression$1",symbols:["qcolumn"]},{name:"create_sequence_owned_by",symbols:["kw_owned","kw_by","create_sequence_owned_by$subexpression$1"],postprocess:e=>(0,n.box)(e,c(m(e)))},{name:"alter_sequence_statement$ebnf$1",symbols:["kw_ifexists"],postprocess:r},{name:"alter_sequence_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"alter_sequence_statement",symbols:["kw_alter","kw_sequence","alter_sequence_statement$ebnf$1","qualified_name","alter_sequence_statement_body"],postprocess:e=>{const s={type:"alter sequence",...e[2]&&{ifExists:!0},name:c(e[3]),change:e[4]};return(0,n.track)(e,s)}},{name:"alter_sequence_statement_body$ebnf$1",symbols:["alter_sequence_option"]},{name:"alter_sequence_statement_body$ebnf$1",symbols:["alter_sequence_statement_body$ebnf$1","alter_sequence_option"],postprocess:e=>e[0].concat([e[1]])},{name:"alter_sequence_statement_body",symbols:["alter_sequence_statement_body$ebnf$1"],postprocess:e=>{const s={type:"set options"};return w(s,e[0]),(0,n.track)(e,s)}},{name:"alter_sequence_statement_body$subexpression$1",symbols:["ident"]},{name:"alter_sequence_statement_body$subexpression$1",symbols:[a.lexerAny.has("kw_session_user")?{type:"kw_session_user"}:kw_session_user]},{name:"alter_sequence_statement_body$subexpression$1",symbols:[a.lexerAny.has("kw_current_user")?{type:"kw_current_user"}:kw_current_user]},{name:"alter_sequence_statement_body",symbols:["kw_owner",a.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"alter_sequence_statement_body$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"owner to",owner:o(m(e))})},{name:"alter_sequence_statement_body",symbols:["kw_rename",a.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"ident"],postprocess:e=>(0,n.track)(e,{type:"rename",newName:o(m(e))})},{name:"alter_sequence_statement_body",symbols:["kw_set","kw_schema","ident"],postprocess:e=>(0,n.track)(e,{type:"set schema",newSchema:o(m(e))})},{name:"alter_sequence_option",symbols:["create_sequence_option"],postprocess:c},{name:"alter_sequence_option$ebnf$1$subexpression$1$ebnf$1",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with],postprocess:r},{name:"alter_sequence_option$ebnf$1$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"alter_sequence_option$ebnf$1$subexpression$1",symbols:["alter_sequence_option$ebnf$1$subexpression$1$ebnf$1","int"],postprocess:m},{name:"alter_sequence_option$ebnf$1",symbols:["alter_sequence_option$ebnf$1$subexpression$1"],postprocess:r},{name:"alter_sequence_option$ebnf$1",symbols:[],postprocess:()=>null},{name:"alter_sequence_option",symbols:["kw_restart","alter_sequence_option$ebnf$1"],postprocess:e=>(0,n.box)(e,["restart","number"!=typeof(0,n.unbox)(e[1])||(0,n.unbox)(e[1])])},{name:"drop_statement$ebnf$1",symbols:["kw_ifexists"],postprocess:r},{name:"drop_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"drop_statement$macrocall$2",symbols:["qualified_name"]},{name:"drop_statement$macrocall$1$ebnf$1",symbols:[]},{name:"drop_statement$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"drop_statement$macrocall$2"],postprocess:m},{name:"drop_statement$macrocall$1$ebnf$1",symbols:["drop_statement$macrocall$1$ebnf$1","drop_statement$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"drop_statement$macrocall$1",symbols:["drop_statement$macrocall$2","drop_statement$macrocall$1$ebnf$1"],postprocess:([e,s])=>[c(e),...s.map(c)||[]]},{name:"drop_statement$ebnf$2$subexpression$1",symbols:["kw_cascade"]},{name:"drop_statement$ebnf$2$subexpression$1",symbols:["kw_restrict"]},{name:"drop_statement$ebnf$2",symbols:["drop_statement$ebnf$2$subexpression$1"],postprocess:r},{name:"drop_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"drop_statement",symbols:["kw_drop","drop_what","drop_statement$ebnf$1","drop_statement$macrocall$1","drop_statement$ebnf$2"],postprocess:(e,s)=>{const t=c(e[1]);return(0,n.track)(e,{...t,...e[2]&&{ifExists:!0},names:e[3],...e[4]&&{cascade:y(e[4])}})}},{name:"drop_what",symbols:[a.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table],postprocess:e=>(0,n.track)(e,{type:"drop table"})},{name:"drop_what",symbols:["kw_sequence"],postprocess:e=>(0,n.track)(e,{type:"drop sequence"})},{name:"drop_what",symbols:["kw_type"],postprocess:e=>(0,n.track)(e,{type:"drop type"})},{name:"drop_what",symbols:["kw_trigger"],postprocess:e=>(0,n.track)(e,{type:"drop trigger"})},{name:"drop_what$ebnf$1",symbols:[a.lexerAny.has("kw_concurrently")?{type:"kw_concurrently"}:kw_concurrently],postprocess:r},{name:"drop_what$ebnf$1",symbols:[],postprocess:()=>null},{name:"drop_what",symbols:["kw_index","drop_what$ebnf$1"],postprocess:e=>(0,n.track)(e,{type:"drop index",...e[1]&&{concurrently:!0}})},{name:"with_statement",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"with_statement_bindings","with_statement_statement"],postprocess:e=>(0,n.track)(e,{type:"with",bind:e[1],in:c(e[2])})},{name:"with_recursive_statement$subexpression$1",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"kw_recursive"]},{name:"with_recursive_statement",symbols:["with_recursive_statement$subexpression$1","ident","collist_paren",a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"lparen","union_statement","rparen","with_statement_statement"],postprocess:e=>(0,n.track)(e,{type:"with recursive",alias:o(e[1]),columnNames:e[2].map(o),bind:e[5],in:c(e[7])})},{name:"with_statement_bindings$ebnf$1",symbols:[]},{name:"with_statement_bindings$ebnf$1$subexpression$1",symbols:["comma","with_statement_binding"],postprocess:m},{name:"with_statement_bindings$ebnf$1",symbols:["with_statement_bindings$ebnf$1","with_statement_bindings$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"with_statement_bindings",symbols:["with_statement_binding","with_statement_bindings$ebnf$1"],postprocess:([e,s])=>[e,...s||[]]},{name:"with_statement_binding",symbols:["word",a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"lparen","with_statement_statement","rparen"],postprocess:e=>(0,n.track)(e,{alias:o(e[0]),statement:c(e[3])})},{name:"with_statement_statement",symbols:["selection"]},{name:"with_statement_statement",symbols:["insert_statement"]},{name:"with_statement_statement",symbols:["update_statement"]},{name:"with_statement_statement",symbols:["delete_statement"]},{name:"createtype_statement$subexpression$1",symbols:["createtype_enum"]},{name:"createtype_statement$subexpression$1",symbols:["createtype_composite"]},{name:"createtype_statement",symbols:[a.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"kw_type","qualified_name","createtype_statement$subexpression$1"],postprocess:e=>(0,n.track)(e,{name:e[2],...c(e[3])})},{name:"createtype_enum$macrocall$2",symbols:["enum_value"]},{name:"createtype_enum$macrocall$1$ebnf$1",symbols:[]},{name:"createtype_enum$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"createtype_enum$macrocall$2"],postprocess:m},{name:"createtype_enum$macrocall$1$ebnf$1",symbols:["createtype_enum$macrocall$1$ebnf$1","createtype_enum$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtype_enum$macrocall$1",symbols:["createtype_enum$macrocall$2","createtype_enum$macrocall$1$ebnf$1"],postprocess:([e,s])=>[c(e),...s.map(c)||[]]},{name:"createtype_enum",symbols:[a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"kw_enum","lparen","createtype_enum$macrocall$1","rparen"],postprocess:e=>(0,n.track)(e,{type:"create enum",values:e[3]})},{name:"enum_value",symbols:["string"],postprocess:e=>(0,n.track)(e,{value:y(e)})},{name:"createtype_composite$macrocall$2",symbols:["createtype_composite_attr"]},{name:"createtype_composite$macrocall$1$ebnf$1",symbols:[]},{name:"createtype_composite$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"createtype_composite$macrocall$2"],postprocess:m},{name:"createtype_composite$macrocall$1$ebnf$1",symbols:["createtype_composite$macrocall$1$ebnf$1","createtype_composite$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtype_composite$macrocall$1",symbols:["createtype_composite$macrocall$2","createtype_composite$macrocall$1$ebnf$1"],postprocess:([e,s])=>[c(e),...s.map(c)||[]]},{name:"createtype_composite",symbols:[a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"lparen","createtype_composite$macrocall$1","rparen"],postprocess:e=>(0,n.track)(e,{type:"create composite type",attributes:e[2]})},{name:"createtype_composite_attr$ebnf$1",symbols:["createtable_collate"],postprocess:r},{name:"createtype_composite_attr$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtype_composite_attr",symbols:["word","data_type","createtype_composite_attr$ebnf$1"],postprocess:e=>(0,n.track)(e,{name:o(e[0]),dataType:e[1],...e[2]?{collate:e[2][1]}:{}})},{name:"union_left",symbols:["select_statement"]},{name:"union_left",symbols:["select_values"]},{name:"union_left",symbols:["selection_paren"]},{name:"union_right",symbols:["selection"]},{name:"union_right",symbols:["selection_paren"]},{name:"union_statement$subexpression$1$ebnf$1",symbols:[a.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all],postprocess:r},{name:"union_statement$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"union_statement$subexpression$1",symbols:[a.lexerAny.has("kw_union")?{type:"kw_union"}:kw_union,"union_statement$subexpression$1$ebnf$1"]},{name:"union_statement",symbols:["union_left","union_statement$subexpression$1","union_right"],postprocess:e=>(0,n.track)(e,{type:y(e[1]," "),left:c(e[0]),right:c(e[2])})},{name:"prepare$ebnf$1$subexpression$1",symbols:["lparen","data_type_list","rparen"],postprocess:p(1)},{name:"prepare$ebnf$1",symbols:["prepare$ebnf$1$subexpression$1"],postprocess:r},{name:"prepare$ebnf$1",symbols:[],postprocess:()=>null},{name:"prepare",symbols:["kw_prepare","ident","prepare$ebnf$1",a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"statement_noprep"],postprocess:e=>(0,n.track)(e,{type:"prepare",name:o(e[1]),...e[2]&&{args:e[2]},statement:c(m(e))})},{name:"deallocate$ebnf$1",symbols:["kw_prepare"],postprocess:r},{name:"deallocate$ebnf$1",symbols:[],postprocess:()=>null},{name:"deallocate",symbols:["kw_deallocate","deallocate$ebnf$1","deallocate_target"],postprocess:e=>(0,n.track)(e,{type:"deallocate",target:e[2]})},{name:"deallocate_target",symbols:["deallocate_all"],postprocess:c},{name:"deallocate_target",symbols:["deallocate_name"],postprocess:c},{name:"deallocate_name",symbols:["ident"],postprocess:e=>(0,n.track)(e,o(e[0]))},{name:"deallocate_all",symbols:[a.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all],postprocess:e=>(0,n.track)(e,{option:"all"})},{name:"create_view_statements",symbols:["create_view"]},{name:"create_view_statements",symbols:["create_materialized_view"]},{name:"create_view$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_or")?{type:"kw_or"}:kw_or,"kw_replace"]},{name:"create_view$ebnf$1",symbols:["create_view$ebnf$1$subexpression$1"],postprocess:r},{name:"create_view$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$2$subexpression$1",symbols:["kw_temp"]},{name:"create_view$ebnf$2$subexpression$1",symbols:["kw_temporary"]},{name:"create_view$ebnf$2",symbols:["create_view$ebnf$2$subexpression$1"],postprocess:r},{name:"create_view$ebnf$2",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$3",symbols:["kw_recursive"],postprocess:r},{name:"create_view$ebnf$3",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$4$subexpression$1$macrocall$2",symbols:["ident"]},{name:"create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1",symbols:[]},{name:"create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"create_view$ebnf$4$subexpression$1$macrocall$2"],postprocess:m},{name:"create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1",symbols:["create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1","create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"create_view$ebnf$4$subexpression$1$macrocall$1",symbols:["create_view$ebnf$4$subexpression$1$macrocall$2","create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1"],postprocess:([e,s])=>[c(e),...s.map(c)||[]]},{name:"create_view$ebnf$4$subexpression$1",symbols:["lparen","create_view$ebnf$4$subexpression$1$macrocall$1","rparen"],postprocess:p(1)},{name:"create_view$ebnf$4",symbols:["create_view$ebnf$4$subexpression$1"],postprocess:r},{name:"create_view$ebnf$4",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$5",symbols:["create_view_opts"],postprocess:r},{name:"create_view$ebnf$5",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$6$subexpression$1$subexpression$1",symbols:["kw_local"]},{name:"create_view$ebnf$6$subexpression$1$subexpression$1",symbols:["kw_cascaded"]},{name:"create_view$ebnf$6$subexpression$1",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"create_view$ebnf$6$subexpression$1$subexpression$1",a.lexerAny.has("kw_check")?{type:"kw_check"}:kw_check,"kw_option"],postprocess:p(1)},{name:"create_view$ebnf$6",symbols:["create_view$ebnf$6$subexpression$1"],postprocess:r},{name:"create_view$ebnf$6",symbols:[],postprocess:()=>null},{name:"create_view",symbols:[a.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"create_view$ebnf$1","create_view$ebnf$2","create_view$ebnf$3","kw_view","qualified_name","create_view$ebnf$4","create_view$ebnf$5",a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"selection","create_view$ebnf$6"],postprocess:e=>(0,n.track)(e,{type:"create view",...e[1]&&{orReplace:!0},...e[2]&&{temp:!0},...e[3]&&{recursive:!0},name:e[5],...e[6]&&{columnNames:e[6].map(o)},...e[7]&&{parameters:$(e[7])},query:e[9],...e[10]&&{checkOption:y(e[10])}})},{name:"create_view_opt",symbols:["ident",a.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"ident"],postprocess:([e,s,t])=>[y(e),y(t)]},{name:"create_view_opts$macrocall$2",symbols:["create_view_opt"]},{name:"create_view_opts$macrocall$1$ebnf$1",symbols:[]},{name:"create_view_opts$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"create_view_opts$macrocall$2"],postprocess:m},{name:"create_view_opts$macrocall$1$ebnf$1",symbols:["create_view_opts$macrocall$1$ebnf$1","create_view_opts$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"create_view_opts$macrocall$1",symbols:["create_view_opts$macrocall$2","create_view_opts$macrocall$1$ebnf$1"],postprocess:([e,s])=>[c(e),...s.map(c)||[]]},{name:"create_view_opts",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"create_view_opts$macrocall$1"],postprocess:m},{name:"create_materialized_view$ebnf$1",symbols:["kw_ifnotexists"],postprocess:r},{name:"create_materialized_view$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$2",symbols:["ident"]},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1",symbols:[]},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"create_materialized_view$ebnf$2$subexpression$1$macrocall$2"],postprocess:m},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1",symbols:["create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1","create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$1",symbols:["create_materialized_view$ebnf$2$subexpression$1$macrocall$2","create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1"],postprocess:([e,s])=>[c(e),...s.map(c)||[]]},{name:"create_materialized_view$ebnf$2$subexpression$1",symbols:["lparen","create_materialized_view$ebnf$2$subexpression$1$macrocall$1","rparen"],postprocess:p(1)},{name:"create_materialized_view$ebnf$2",symbols:["create_materialized_view$ebnf$2$subexpression$1"],postprocess:r},{name:"create_materialized_view$ebnf$2",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$3",symbols:["create_view_opts"],postprocess:r},{name:"create_materialized_view$ebnf$3",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$4$subexpression$1",symbols:["kw_tablespace","ident"],postprocess:m},{name:"create_materialized_view$ebnf$4",symbols:["create_materialized_view$ebnf$4$subexpression$1"],postprocess:r},{name:"create_materialized_view$ebnf$4",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$5$subexpression$1$ebnf$1",symbols:["kw_no"],postprocess:r},{name:"create_materialized_view$ebnf$5$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$5$subexpression$1",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"create_materialized_view$ebnf$5$subexpression$1$ebnf$1","kw_data"]},{name:"create_materialized_view$ebnf$5",symbols:["create_materialized_view$ebnf$5$subexpression$1"],postprocess:r},{name:"create_materialized_view$ebnf$5",symbols:[],postprocess:()=>null},{name:"create_materialized_view",symbols:[a.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"kw_materialized","kw_view","create_materialized_view$ebnf$1","qualified_name","create_materialized_view$ebnf$2","create_materialized_view$ebnf$3","create_materialized_view$ebnf$4",a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"selection","create_materialized_view$ebnf$5"],postprocess:e=>(0,n.track)(e,{type:"create materialized view",...e[3]&&{ifNotExists:!0},name:e[4],...e[5]&&{columnNames:e[6].map(o)},...e[6]&&{parameters:$(e[6])},...e[7]&&{tablespace:o(e[7])},query:e[9],...e[10]&&{withData:"no"!==y(e[10][1])}})},{name:"refresh_view_statements$ebnf$1",symbols:[a.lexerAny.has("kw_concurrently")?{type:"kw_concurrently"}:kw_concurrently],postprocess:r},{name:"refresh_view_statements$ebnf$1",symbols:[],postprocess:()=>null},{name:"refresh_view_statements$ebnf$2$subexpression$1$ebnf$1",symbols:["kw_no"],postprocess:r},{name:"refresh_view_statements$ebnf$2$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"refresh_view_statements$ebnf$2$subexpression$1",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"refresh_view_statements$ebnf$2$subexpression$1$ebnf$1","kw_data"]},{name:"refresh_view_statements$ebnf$2",symbols:["refresh_view_statements$ebnf$2$subexpression$1"],postprocess:r},{name:"refresh_view_statements$ebnf$2",symbols:[],postprocess:()=>null},{name:"refresh_view_statements",symbols:["kw_refresh","kw_materialized","kw_view","refresh_view_statements$ebnf$1","qname","refresh_view_statements$ebnf$2"],postprocess:e=>(0,n.track)(e,{type:"refresh materialized view",...e[3]?{concurrently:!0}:{},name:e[4],...e[5]?{withData:"no"!==y(e[5][1])}:{}})},{name:"functions_statements",symbols:["create_func"]},{name:"functions_statements",symbols:["do_stm"]},{name:"functions_statements",symbols:["drop_func"]},{name:"create_func$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_or")?{type:"kw_or"}:kw_or,"kw_replace"]},{name:"create_func$ebnf$1",symbols:["create_func$ebnf$1$subexpression$1"],postprocess:r},{name:"create_func$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_func$subexpression$1$ebnf$1$macrocall$2",symbols:["func_argdef"]},{name:"create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1",symbols:[]},{name:"create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"create_func$subexpression$1$ebnf$1$macrocall$2"],postprocess:m},{name:"create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1",symbols:["create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1","create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"create_func$subexpression$1$ebnf$1$macrocall$1",symbols:["create_func$subexpression$1$ebnf$1$macrocall$2","create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1"],postprocess:([e,s])=>[c(e),...s.map(c)||[]]},{name:"create_func$subexpression$1$ebnf$1",symbols:["create_func$subexpression$1$ebnf$1$macrocall$1"],postprocess:r},{name:"create_func$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_func$subexpression$1",symbols:["lparen","create_func$subexpression$1$ebnf$1","rparen"],postprocess:p(1)},{name:"create_func$ebnf$2",symbols:["func_spec"]},{name:"create_func$ebnf$2",symbols:["create_func$ebnf$2","func_spec"],postprocess:e=>e[0].concat([e[1]])},{name:"create_func",symbols:[a.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"create_func$ebnf$1","kw_function","qname","create_func$subexpression$1","create_func$ebnf$2"],postprocess:(e,s)=>{var t;const r={};for(const s of e[5]){for(const e in s)if("_"!==e[0]&&e in r)throw new Error("conflicting or redundant options "+e);Object.assign(r,s)}return(0,n.track)(e,{type:"create function",...e[1]&&{orReplace:!0},name:e[3],arguments:null!==(t=e[4])&&void 0!==t?t:[],...r})}},{name:"func_argdef$ebnf$1",symbols:["func_argopts"],postprocess:r},{name:"func_argdef$ebnf$1",symbols:[],postprocess:()=>null},{name:"func_argdef$ebnf$2",symbols:["func_argdefault"],postprocess:r},{name:"func_argdef$ebnf$2",symbols:[],postprocess:()=>null},{name:"func_argdef",symbols:["func_argdef$ebnf$1","data_type","func_argdef$ebnf$2"],postprocess:e=>(0,n.track)(e,{default:e[2],type:e[1],...e[0]})},{name:"func_argdefault",symbols:[a.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default,"expr"],postprocess:e=>e[1]},{name:"func_argdefault",symbols:[a.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"expr"],postprocess:e=>e[1]},{name:"func_argopts$ebnf$1",symbols:["word"],postprocess:r},{name:"func_argopts$ebnf$1",symbols:[],postprocess:()=>null},{name:"func_argopts",symbols:["func_argmod","func_argopts$ebnf$1"],postprocess:e=>(0,n.track)(e,{mode:y(e[0]),...e[1]&&{name:o(e[1])}})},{name:"func_argopts",symbols:["word"],postprocess:(e,s)=>{const t=o(e);return"out"===t||"inout"===t||"variadic"===t?s:(0,n.track)(e,{name:t})}},{name:"func_argmod",symbols:[a.lexerAny.has("kw_in")?{type:"kw_in"}:kw_in]},{name:"func_argmod",symbols:["kw_out"]},{name:"func_argmod",symbols:["kw_inout"]},{name:"func_argmod",symbols:["kw_variadic"]},{name:"func_spec",symbols:["kw_language","word"],postprocess:e=>(0,n.track)(e,{language:o(m(e))})},{name:"func_spec",symbols:["func_purity"],postprocess:e=>(0,n.track)(e,{purity:y(e)})},{name:"func_spec$subexpression$1",symbols:[a.lexerAny.has("codeblock")?{type:"codeblock"}:codeblock]},{name:"func_spec$subexpression$1",symbols:["string"]},{name:"func_spec",symbols:[a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"func_spec$subexpression$1"],postprocess:e=>({code:y(m(e))})},{name:"func_spec$ebnf$1",symbols:[a.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:r},{name:"func_spec$ebnf$1",symbols:[],postprocess:()=>null},{name:"func_spec$subexpression$2",symbols:["word"],postprocess:h("leakproof")},{name:"func_spec",symbols:["func_spec$ebnf$1","func_spec$subexpression$2"],postprocess:e=>(0,n.track)(e,{leakproof:!e[0]})},{name:"func_spec",symbols:["func_returns"],postprocess:e=>(0,n.track)(e,{returns:c(e)})},{name:"func_spec$subexpression$3",symbols:["word"],postprocess:h("called")},{name:"func_spec",symbols:["func_spec$subexpression$3","oninp"],postprocess:()=>({onNullInput:"call"})},{name:"func_spec$subexpression$4",symbols:["word"],postprocess:h("returns")},{name:"func_spec",symbols:["func_spec$subexpression$4",a.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null,"oninp"],postprocess:()=>({onNullInput:"null"})},{name:"func_spec$subexpression$5",symbols:["word"],postprocess:h("strict")},{name:"func_spec",symbols:["func_spec$subexpression$5"],postprocess:()=>({onNullInput:"strict"})},{name:"func_purity",symbols:["word"],postprocess:h("immutable")},{name:"func_purity",symbols:["word"],postprocess:h("stable")},{name:"func_purity",symbols:["word"],postprocess:h("volatile")},{name:"oninp$subexpression$1",symbols:["word"],postprocess:h("input")},{name:"oninp",symbols:[a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,a.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null,"oninp$subexpression$1"]},{name:"func_returns",symbols:["kw_returns","data_type"],postprocess:m},{name:"func_returns$macrocall$2",symbols:["func_ret_table_col"]},{name:"func_returns$macrocall$1$ebnf$1",symbols:[]},{name:"func_returns$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"func_returns$macrocall$2"],postprocess:m},{name:"func_returns$macrocall$1$ebnf$1",symbols:["func_returns$macrocall$1$ebnf$1","func_returns$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"func_returns$macrocall$1",symbols:["func_returns$macrocall$2","func_returns$macrocall$1$ebnf$1"],postprocess:([e,s])=>[c(e),...s.map(c)||[]]},{name:"func_returns",symbols:["kw_returns",a.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table,"lparen","func_returns$macrocall$1","rparen"],postprocess:e=>(0,n.track)(e,{kind:"table",columns:e[3]})},{name:"func_ret_table_col",symbols:["word","data_type"],postprocess:e=>(0,n.track)(e,{name:o(e[0]),type:e[1]})},{name:"do_stm$ebnf$1$subexpression$1",symbols:["kw_language","word"],postprocess:m},{name:"do_stm$ebnf$1",symbols:["do_stm$ebnf$1$subexpression$1"],postprocess:r},{name:"do_stm$ebnf$1",symbols:[],postprocess:()=>null},{name:"do_stm",symbols:[a.lexerAny.has("kw_do")?{type:"kw_do"}:kw_do,"do_stm$ebnf$1",a.lexerAny.has("codeblock")?{type:"codeblock"}:codeblock],postprocess:e=>(0,n.track)(e,{type:"do",...e[1]&&{language:o(e[1])},code:e[2].value})},{name:"drop_func$ebnf$1$subexpression$1",symbols:["kw_if","kw_exists"]},{name:"drop_func$ebnf$1",symbols:["drop_func$ebnf$1$subexpression$1"],postprocess:r},{name:"drop_func$ebnf$1",symbols:[],postprocess:()=>null},{name:"drop_func$ebnf$2",symbols:["drop_func_overload"],postprocess:r},{name:"drop_func$ebnf$2",symbols:[],postprocess:()=>null},{name:"drop_func",symbols:["kw_drop","kw_function","drop_func$ebnf$1","qname","drop_func$ebnf$2"],postprocess:e=>(0,n.track)(e,{type:"drop function",...e[2]&&{ifExists:!0},name:e[3],...e[4]&&{arguments:e[4]}})},{name:"drop_func_overload$macrocall$2",symbols:["drop_func_overload_col"]},{name:"drop_func_overload$macrocall$1$ebnf$1",symbols:[]},{name:"drop_func_overload$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"drop_func_overload$macrocall$2"],postprocess:m},{name:"drop_func_overload$macrocall$1$ebnf$1",symbols:["drop_func_overload$macrocall$1$ebnf$1","drop_func_overload$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"drop_func_overload$macrocall$1",symbols:["drop_func_overload$macrocall$2","drop_func_overload$macrocall$1$ebnf$1"],postprocess:([e,s])=>[c(e),...s.map(c)||[]]},{name:"drop_func_overload",symbols:["lparen","drop_func_overload$macrocall$1","rparen"],postprocess:p(1)},{name:"drop_func_overload_col$ebnf$1",symbols:["word"],postprocess:r},{name:"drop_func_overload_col$ebnf$1",symbols:[],postprocess:()=>null},{name:"drop_func_overload_col",symbols:["drop_func_overload_col$ebnf$1","qname"],postprocess:e=>(0,n.track)(e,{type:e[1],...e[0]&&{name:o(e[0])}})},{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement_separator"],postprocess:e=>e[0].concat([e[1]])},{name:"main$ebnf$2",symbols:[]},{name:"main$ebnf$2$subexpression$1$ebnf$1",symbols:["statement_separator"]},{name:"main$ebnf$2$subexpression$1$ebnf$1",symbols:["main$ebnf$2$subexpression$1$ebnf$1","statement_separator"],postprocess:e=>e[0].concat([e[1]])},{name:"main$ebnf$2$subexpression$1",symbols:["main$ebnf$2$subexpression$1$ebnf$1","statement"]},{name:"main$ebnf$2",symbols:["main$ebnf$2","main$ebnf$2$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"main$ebnf$3",symbols:[]},{name:"main$ebnf$3",symbols:["main$ebnf$3","statement_separator"],postprocess:e=>e[0].concat([e[1]])},{name:"main",symbols:["main$ebnf$1","statement","main$ebnf$2","main$ebnf$3"],postprocess:([e,s,t])=>{const r=t,a=[c(s),...r.map((e=>c(e[1])))];return 1===a.length?a[0]:a}},{name:"statement_separator",symbols:[a.lexerAny.has("semicolon")?{type:"semicolon"}:semicolon]},{name:"statement",symbols:["statement_noprep"]},{name:"statement",symbols:["prepare"]},{name:"statement",symbols:["deallocate"]},{name:"statement_noprep",symbols:["selection"]},{name:"statement_noprep",symbols:["createtable_statement"]},{name:"statement_noprep",symbols:["createextension_statement"]},{name:"statement_noprep",symbols:["createindex_statement"]},{name:"statement_noprep",symbols:["simplestatements_all"]},{name:"statement_noprep",symbols:["insert_statement"]},{name:"statement_noprep",symbols:["update_statement"]},{name:"statement_noprep",symbols:["altertable_statement"]},{name:"statement_noprep",symbols:["alterindex_statement"]},{name:"statement_noprep",symbols:["delete_statement"]},{name:"statement_noprep",symbols:["create_sequence_statement"]},{name:"statement_noprep",symbols:["alter_sequence_statement"]},{name:"statement_noprep",symbols:["drop_statement"]},{name:"statement_noprep",symbols:["createtype_statement"]},{name:"statement_noprep",symbols:["create_view_statements"]},{name:"statement_noprep",symbols:["refresh_view_statements"]},{name:"statement_noprep",symbols:["create_schema"]},{name:"statement_noprep",symbols:["raise_statement"]},{name:"statement_noprep",symbols:["comment_statement"]},{name:"statement_noprep",symbols:["functions_statements"]},{name:"selection",symbols:["select_statement"],postprocess:c},{name:"selection",symbols:["select_values"],postprocess:c},{name:"selection",symbols:["with_statement"],postprocess:c},{name:"selection",symbols:["with_recursive_statement"],postprocess:c},{name:"selection",symbols:["union_statement"],postprocess:c},{name:"selection_paren",symbols:["lparen","selection","rparen"],postprocess:p(1)}],ParserStart:"main"};s.default=k},function(e,s,t){"use strict";Object.defineProperty(s,"__esModule",{value:!0});const r=t(12),a={Lexer:r.lexerAny,ParserRules:[{name:"main$ebnf$1",symbols:["elements"],postprocess:function(e){return e[0]}},{name:"main$ebnf$1",symbols:[],postprocess:()=>null},{name:"main",symbols:[r.lexerAny.has("start_list")?{type:"start_list"}:start_list,"main$ebnf$1",r.lexerAny.has("end_list")?{type:"end_list"}:end_list],postprocess:e=>e[1]||[]},{name:"elements$ebnf$1",symbols:[]},{name:"elements$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"elt"],postprocess:e=>e&&e[e.length-1]},{name:"elements$ebnf$1",symbols:["elements$ebnf$1","elements$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"elements",symbols:["elt","elements$ebnf$1"],postprocess:([e,s])=>[e,...s||[]]},{name:"elt",symbols:[r.lexerAny.has("value")?{type:"value"}:value],postprocess:e=>e[0].value},{name:"elt",symbols:["main"],postprocess:e=>e[0]}],ParserStart:"main"};s.default=a},function(e,s,t){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.lexerAny=s.lexer=void 0;const r=t(0);var a;s.lexer=(0,r.compile)({valueString:{match:/"(?:\\["\\]|[^\n"\\])*"/,value:e=>JSON.parse(e),type:e=>"value"},valueRaw:{match:/[^\s,\{\}"](?:[^,\{\}"]*[^\s,\{\}"])?/,type:()=>"value"},comma:",",space:{match:/[\s\t\n\v\f\r]+/,lineBreaks:!0},start_list:"{",end_list:"}"}),s.lexer.next=(a=s.lexer.next,()=>{let e;for(;(e=a.call(s.lexer))&&"space"===e.type;);return e}),s.lexerAny=s.lexer},function(e,s,t){"use strict";Object.defineProperty(s,"__esModule",{value:!0});const r=t(14),a=e=>s=>s[e],n=e=>e&&e[e.length-1];function o(e){return Array.isArray(e)&&1===e.length&&(e=o(e[0])),Array.isArray(e)&&!e.length?null:e}const l={Lexer:r.lexerAny,ParserRules:[{name:"number$subexpression$1",symbols:["float"]},{name:"number$subexpression$1",symbols:["int"]},{name:"number",symbols:["number$subexpression$1"],postprocess:o},{name:"float",symbols:[r.lexerAny.has("float")?{type:"float"}:float],postprocess:e=>parseFloat(o(e))},{name:"int",symbols:[r.lexerAny.has("int")?{type:"int"}:int],postprocess:e=>parseInt(o(e),10)},{name:"comma",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma],postprocess:function(e){return e[0]}},{name:"point$macrocall$2",symbols:["point_content"]},{name:"point$macrocall$1$subexpression$1",symbols:["point$macrocall$2"]},{name:"point$macrocall$1$subexpression$1",symbols:[r.lexerAny.has("lparen")?{type:"lparen"}:lparen,"point$macrocall$2",r.lexerAny.has("rparen")?{type:"rparen"}:rparen],postprocess:a(1)},{name:"point$macrocall$1",symbols:["point$macrocall$1$subexpression$1"],postprocess:o},{name:"point",symbols:["point$macrocall$1"],postprocess:o},{name:"point_content",symbols:["number","comma","number"],postprocess:e=>({x:e[0],y:e[2]})},{name:"line",symbols:[r.lexerAny.has("lcurl")?{type:"lcurl"}:lcurl,"number","comma","number","comma","number",r.lexerAny.has("rcurl")?{type:"rcurl"}:rcurl],postprocess:e=>({a:e[1],b:e[3],c:e[5]})},{name:"box",symbols:["closed_path"],postprocess:([e],s)=>2!==e.length?s:e},{name:"lseg",symbols:["path"],postprocess:([e],s)=>2!==e.path.length?s:e.path},{name:"path",symbols:["open_path"],postprocess:([e])=>({closed:!1,path:e})},{name:"path",symbols:["closed_path"],postprocess:([e])=>({closed:!0,path:e})},{name:"open_path$macrocall$2",symbols:[r.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket]},{name:"open_path$macrocall$3",symbols:[r.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket]},{name:"open_path$macrocall$1$macrocall$2",symbols:["point"]},{name:"open_path$macrocall$1$macrocall$1$ebnf$1",symbols:[]},{name:"open_path$macrocall$1$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"open_path$macrocall$1$macrocall$2"],postprocess:n},{name:"open_path$macrocall$1$macrocall$1$ebnf$1",symbols:["open_path$macrocall$1$macrocall$1$ebnf$1","open_path$macrocall$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"open_path$macrocall$1$macrocall$1",symbols:["open_path$macrocall$1$macrocall$2","open_path$macrocall$1$macrocall$1$ebnf$1"],postprocess:([e,s])=>[o(e),...s.map(o)||[]]},{name:"open_path$macrocall$1",symbols:["open_path$macrocall$2","open_path$macrocall$1$macrocall$1","open_path$macrocall$3"],postprocess:a(1)},{name:"open_path",symbols:["open_path$macrocall$1"],postprocess:n},{name:"closed_path$subexpression$1$macrocall$2",symbols:[r.lexerAny.has("lparen")?{type:"lparen"}:lparen]},{name:"closed_path$subexpression$1$macrocall$3",symbols:[r.lexerAny.has("rparen")?{type:"rparen"}:rparen]},{name:"closed_path$subexpression$1$macrocall$1$macrocall$2",symbols:["point"]},{name:"closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1",symbols:[]},{name:"closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"closed_path$subexpression$1$macrocall$1$macrocall$2"],postprocess:n},{name:"closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1",symbols:["closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1","closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"closed_path$subexpression$1$macrocall$1$macrocall$1",symbols:["closed_path$subexpression$1$macrocall$1$macrocall$2","closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1"],postprocess:([e,s])=>[o(e),...s.map(o)||[]]},{name:"closed_path$subexpression$1$macrocall$1",symbols:["closed_path$subexpression$1$macrocall$2","closed_path$subexpression$1$macrocall$1$macrocall$1","closed_path$subexpression$1$macrocall$3"],postprocess:a(1)},{name:"closed_path$subexpression$1",symbols:["closed_path$subexpression$1$macrocall$1"],postprocess:n},{name:"closed_path$subexpression$1$macrocall$5",symbols:["point"]},{name:"closed_path$subexpression$1$macrocall$4$ebnf$1",symbols:[]},{name:"closed_path$subexpression$1$macrocall$4$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"closed_path$subexpression$1$macrocall$5"],postprocess:n},{name:"closed_path$subexpression$1$macrocall$4$ebnf$1",symbols:["closed_path$subexpression$1$macrocall$4$ebnf$1","closed_path$subexpression$1$macrocall$4$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"closed_path$subexpression$1$macrocall$4",symbols:["closed_path$subexpression$1$macrocall$5","closed_path$subexpression$1$macrocall$4$ebnf$1"],postprocess:([e,s])=>[o(e),...s.map(o)||[]]},{name:"closed_path$subexpression$1",symbols:["closed_path$subexpression$1$macrocall$4"],postprocess:n},{name:"closed_path",symbols:["closed_path$subexpression$1"],postprocess:a(0)},{name:"polygon",symbols:["closed_path"],postprocess:a(0)},{name:"circle_body",symbols:["point","comma","number"],postprocess:e=>({c:e[0],r:e[2]})},{name:"circle$subexpression$1$macrocall$2",symbols:[r.lexerAny.has("lcomp")?{type:"lcomp"}:lcomp]},{name:"circle$subexpression$1$macrocall$3",symbols:[r.lexerAny.has("rcomp")?{type:"rcomp"}:rcomp]},{name:"circle$subexpression$1$macrocall$1",symbols:["circle$subexpression$1$macrocall$2","circle_body","circle$subexpression$1$macrocall$3"],postprocess:a(1)},{name:"circle$subexpression$1",symbols:["circle$subexpression$1$macrocall$1"]},{name:"circle$subexpression$1$macrocall$5",symbols:[r.lexerAny.has("lparen")?{type:"lparen"}:lparen]},{name:"circle$subexpression$1$macrocall$6",symbols:[r.lexerAny.has("rparen")?{type:"rparen"}:rparen]},{name:"circle$subexpression$1$macrocall$4",symbols:["circle$subexpression$1$macrocall$5","circle_body","circle$subexpression$1$macrocall$6"],postprocess:a(1)},{name:"circle$subexpression$1",symbols:["circle$subexpression$1$macrocall$4"]},{name:"circle$subexpression$1",symbols:["circle_body"]},{name:"circle",symbols:["circle$subexpression$1"],postprocess:o}],ParserStart:"number"};s.default=l},function(e,s,t){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.lexerAny=s.lexer=void 0;const r=t(0);var a;s.lexer=(0,r.compile)({comma:",",space:{match:/[\s\t\n\v\f\r]+/,lineBreaks:!0},int:/\-?\d+(?![\.\d])/,float:/\-?(?:(?:\d*\.\d+)|(?:\d+\.\d*))/,lcurl:"{",rcurl:"}",lparen:"(",rparen:")",lbracket:"[",rbracket:"]",lcomp:"<",rcomp:">"}),s.lexer.next=(a=s.lexer.next,()=>{let e;for(;(e=a.call(s.lexer))&&"space"===e.type;);return e}),s.lexerAny=s.lexer},function(e,s,t){"use strict";function r(e){return e[0]}Object.defineProperty(s,"__esModule",{value:!0});const a=t(16),n={Lexer:a.lexerAny,ParserRules:[{name:"main$ebnf$1",symbols:["elt"]},{name:"main$ebnf$1",symbols:["main$ebnf$1","elt"],postprocess:e=>e[0].concat([e[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([e])=>{const s=new Set;for(const t of e){const e="number"==typeof t[1]?t[0]:"time";if(s.has(e))return"invalid";s.add(e)}return e}},{name:"elt",symbols:["time"]},{name:"elt",symbols:["num","unit"],postprocess:([[e],s])=>[s=s[0].type,e]},{name:"unit",symbols:[a.lexerAny.has("years")?{type:"years"}:years]},{name:"unit",symbols:[a.lexerAny.has("months")?{type:"months"}:months]},{name:"unit",symbols:[a.lexerAny.has("days")?{type:"days"}:days]},{name:"unit",symbols:[a.lexerAny.has("hours")?{type:"hours"}:hours]},{name:"unit",symbols:[a.lexerAny.has("minutes")?{type:"minutes"}:minutes]},{name:"unit",symbols:[a.lexerAny.has("seconds")?{type:"seconds"}:seconds]},{name:"unit",symbols:[a.lexerAny.has("milliseconds")?{type:"milliseconds"}:milliseconds]},{name:"num",symbols:["int"]},{name:"num",symbols:["float"]},{name:"uint",symbols:[a.lexerAny.has("int")?{type:"int"}:int],postprocess:([e])=>parseInt(e,10)},{name:"int$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("neg")?{type:"neg"}:neg]},{name:"int$ebnf$1",symbols:["int$ebnf$1$subexpression$1"],postprocess:r},{name:"int$ebnf$1",symbols:[],postprocess:()=>null},{name:"int",symbols:["int$ebnf$1",a.lexerAny.has("int")?{type:"int"}:int],postprocess:([e,s])=>parseInt(s,10)*(e?-1:1)},{name:"float$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("neg")?{type:"neg"}:neg]},{name:"float$ebnf$1",symbols:["float$ebnf$1$subexpression$1"],postprocess:r},{name:"float$ebnf$1",symbols:[],postprocess:()=>null},{name:"float$ebnf$2",symbols:[a.lexerAny.has("int")?{type:"int"}:int],postprocess:r},{name:"float$ebnf$2",symbols:[],postprocess:()=>null},{name:"float",symbols:["float$ebnf$1","float$ebnf$2",a.lexerAny.has("dot")?{type:"dot"}:dot,a.lexerAny.has("int")?{type:"int"}:int],postprocess:([e,...s])=>parseFloat(s.map((e=>e?e.text:"0")).join(""))*(e?-1:1)},{name:"time$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("colon")?{type:"colon"}:colon,"uint"]},{name:"time$ebnf$1",symbols:["time$ebnf$1$subexpression$1"],postprocess:r},{name:"time$ebnf$1",symbols:[],postprocess:()=>null},{name:"time$ebnf$2$subexpression$1",symbols:[a.lexerAny.has("dot")?{type:"dot"}:dot,a.lexerAny.has("int")?{type:"int"}:int]},{name:"time$ebnf$2",symbols:["time$ebnf$2$subexpression$1"],postprocess:r},{name:"time$ebnf$2",symbols:[],postprocess:()=>null},{name:"time",symbols:["uint",a.lexerAny.has("colon")?{type:"colon"}:colon,"uint","time$ebnf$1","time$ebnf$2"],postprocess:([e,s,t,r,a])=>{const n="number"==typeof(r=r&&r[1])?[["hours",e],["minutes",t],["seconds",r]]:[["minutes",e],["seconds",t]];return(a=a&&a[1])&&n.push(["milliseconds",1e3*parseFloat("0."+a)]),n}}],ParserStart:"main"};s.default=n},function(e,s,t){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.lexerAny=s.lexer=void 0;const r=t(0);var a;s.lexer=(0,r.compile)({int:/\d+/,neg:"-",dot:".",years:/(?:y|yrs?|years?)\b/,months:/(?:mon(?:th)?s?)\b/,days:/(?:d|days?)\b/,hours:/(?:h|hrs?|hours?)\b/,minutes:/(?:m|mins?|minutes?)\b/,seconds:/(?:s|secs?|seconds?)\b/,milliseconds:/(?:ms|milliseconds?)\b/,space:{match:/[\s\t\n\v\f\r]+/,lineBreaks:!0},colon:":"}),s.lexer.next=(a=s.lexer.next,()=>{let e;for(;(e=a.call(s.lexer))&&"space"===e.type;);return e}),s.lexerAny=s.lexer},function(e,s,t){"use strict";function r(e){return e[0]}Object.defineProperty(s,"__esModule",{value:!0});const a=t(18),n={Lexer:a.lexerAny,ParserRules:[{name:"num",symbols:[a.lexerAny.has("int")?{type:"int"}:int]},{name:"num",symbols:[a.lexerAny.has("float")?{type:"float"}:float]},{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","long"],postprocess:e=>e[0].concat([e[1]])},{name:"main$ebnf$2$subexpression$1$ebnf$1",symbols:["short"]},{name:"main$ebnf$2$subexpression$1$ebnf$1",symbols:["main$ebnf$2$subexpression$1$ebnf$1","short"],postprocess:e=>e[0].concat([e[1]])},{name:"main$ebnf$2$subexpression$1",symbols:[a.lexerAny.has("T")?{type:"T"}:T,"main$ebnf$2$subexpression$1$ebnf$1"]},{name:"main$ebnf$2",symbols:["main$ebnf$2$subexpression$1"],postprocess:r},{name:"main$ebnf$2",symbols:[],postprocess:()=>null},{name:"main",symbols:[a.lexerAny.has("P")?{type:"P"}:P,"main$ebnf$1","main$ebnf$2"],postprocess:([e,s,t],r)=>(t=t?t[1]:[],s.length||t.length?s.length?t.length?[...s,...t]:s:t:r)},{name:"long$subexpression$1",symbols:[a.lexerAny.has("Y")?{type:"Y"}:Y]},{name:"long$subexpression$1",symbols:[a.lexerAny.has("M")?{type:"M"}:M]},{name:"long$subexpression$1",symbols:[a.lexerAny.has("W")?{type:"W"}:W]},{name:"long$subexpression$1",symbols:[a.lexerAny.has("D")?{type:"D"}:D]},{name:"long",symbols:["num","long$subexpression$1"],postprocess:([e,s])=>{switch(e=parseFloat(e[0].value),s=s[0].type){case"Y":return["years",e];case"M":return["months",e];case"W":return["days",7*e];case"D":return["days",e];default:throw new Error("Unexpected unit "+s)}}},{name:"short$ebnf$1",symbols:[a.lexerAny.has("T")?{type:"T"}:T],postprocess:r},{name:"short$ebnf$1",symbols:[],postprocess:()=>null},{name:"short$subexpression$1",symbols:[a.lexerAny.has("H")?{type:"H"}:H]},{name:"short$subexpression$1",symbols:[a.lexerAny.has("M")?{type:"M"}:M]},{name:"short$subexpression$1",symbols:[a.lexerAny.has("S")?{type:"S"}:S]},{name:"short",symbols:["short$ebnf$1","num","short$subexpression$1"],postprocess:([e,s,t])=>{switch(s=parseFloat(s[0].value),t=t[0].type){case"H":return["hours",s];case"M":return["minutes",s];case"S":return["seconds",s];default:throw new Error("Unexpected unit "+t)}}}],ParserStart:"num"};s.default=n},function(e,s,t){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.lexerAny=s.lexer=void 0;const r=t(0);s.lexer=(0,r.compile)({int:/\-?\d+(?![\.\d])/,float:/\-?(?:(?:\d*\.\d+)|(?:\d+\.\d*))/,P:"P",Y:"Y",M:"M",W:"W",D:"D",H:"H",S:"S",T:"T"}),s.lexerAny=s.lexer},function(e,s,t){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.toSql=void 0;const r=t(2),a=t(5),n=t(6),o=t(20),l=t(3),i=new Set(l.sqlKeywords.map((e=>e.toLowerCase())));let c=[];function p(e){return m(e.name)}function m(e,s){if(!s){const s=e.toLowerCase();if(s===e&&!i.has(s)&&/^[a-z][a-z0-9_]*$/.test(s))return e}return'"'+e+'"'}function u(e,s,t){t&&c.push("(");let r=!0;for(const t of e)r||c.push(", "),r=!1,s(t);t&&c.push(")")}function b(e,s){switch(e.type){case"foreign key":c.push(" foreign key (",...e.localColumns.map(p).join(", "),")");case"reference":c.push(" REFERENCES "),s.tableRef(e.foreignTable),c.push("(",...e.foreignColumns.map(p).join(", "),") "),e.match&&c.push(" MATCH ",e.match.toUpperCase()),e.onDelete&&c.push(" ON DELETE ",e.onDelete),e.onUpdate&&c.push(" ON UPDATE ",e.onUpdate);break;case"primary key":case"unique":c.push(" ",e.type," "),"columns"in e&&c.push("(",...e.columns.map(p).join(", "),") ");break;case"check":c.push(" check "),s.expr(e.expr);break;case"not null":case"null":c.push(" ",e.type," ");break;case"default":c.push(" default "),s.expr(e.default);break;case"add generated":c.push(" GENERATED "),f(s,e);break;default:throw n.NotSupported.never(e)}c.push(" ")}function _(e,s){e.schema&&c.push(m(e.schema),"."),c.push(m(e.name,s)," ")}function y(e){_(e),e.alias&&c.push(" AS ",m(e.alias)," ")}function $(e,s){c.push(" ORDER BY "),u(s,(s=>{e.expr(s.by),s.order&&c.push(" ",s.order," "),s.nulls&&c.push(" NULLS ",s.nulls," ")}),!1)}function d(e){switch(e.type){case"default":c.push("DEFAULT ");break;case"identifier":c.push(e.name);break;case"list":let s=!0;for(const t of e.values)s||c.push(", "),s=!1,d(t);break;case"value":c.push("number"==typeof e.value?e.value.toString():(0,o.literal)(e.value));break;default:throw n.NotSupported.never(e)}}function f(e,s){s.always&&c.push(s.always.toUpperCase()," "),c.push("AS IDENTITY "),s.sequence&&(c.push("("),s.sequence.name&&(c.push("SEQUENCE NAME "),_(s.sequence.name),c.push(" ")),h(e,s.sequence),c.push(") "))}function h(e,s){s.as&&(c.push("AS "),e.dataType(s.as),c.push(" ")),"number"==typeof s.incrementBy&&c.push("INCREMENT BY ",s.incrementBy.toString()," "),"no minvalue"===s.minValue&&c.push("NO MINVALUE "),"number"==typeof s.minValue&&c.push("MINVALUE ",s.minValue.toString()," "),"no maxvalue"===s.maxValue&&c.push("NO MAXVALUE "),"number"==typeof s.maxValue&&c.push("MAXVALUE ",s.maxValue.toString()," "),"number"==typeof s.startWith&&c.push("START WITH ",s.startWith.toString()," "),"number"==typeof s.cache&&c.push("CACHE ",s.cache.toString()," "),s.cycle&&c.push(s.cycle," "),"none"===s.ownedBy?c.push("OWNED BY NONE "):s.ownedBy&&(c.push("OWNED BY "),x(s.ownedBy)),"restart"in s&&(!0===s.restart?c.push("RESTART "):s.restart&&c.push("RESTART WITH ",s.restart.toString()," "))}function x(e){e.schema&&c.push(m(e.schema),"."),c.push(m(e.table),".",m(e.column)," ")}function w(e,s,t){s?(c.push(s.type," "),t(),s.on&&(c.push("ON "),e.expr(s.on)),s.using&&(c.push("USING ("),u(s.using,(e=>c.push(p(e))),!1),c.push(") ")),c.push(" ")):t()}function k(e){e.opSchema?c.push(" operator(",m(e.opSchema),".",e.op,") "):c.push(" ",e.op," ")}const v=(0,a.astVisitor)((e=>({addColumn:(...s)=>{c.push(" ADD COLUMN "),s[0].ifNotExists&&c.push("IF NOT EXISTS "),e.super().addColumn(...s)},createExtension:e=>{c.push("CREATE EXTENSION "),e.ifNotExists&&c.push(" IF NOT EXISTS "),c.push(p(e.extension)),(e.from||e.version||e.schema)&&(c.push(" WITH"),e.schema&&c.push(" SCHEMA ",p(e.schema)),e.version&&c.push(" VERSION ",(0,o.literal)(e.version.value)),e.from&&c.push(" FROM ",(0,o.literal)(e.from.value)))},tablespace:e=>{c.push("TABLESPACE ",p(e.tablespace))},addConstraint:s=>{c.push(" ADD ");const t=s.constraint.constraintName;t&&c.push(" CONSTRAINT ",p(t)," "),b(s.constraint,e)},alterColumn:(s,t)=>{c.push(" ALTER COLUMN ",p(s.column)," "),e.super().alterColumn(s,t)},setColumnDefault:(s,t,r)=>{if(c.push(" SET DEFAULT "),e.expr(s.default),s.updateExisting)throw new Error("Not implemented: updateExisting on set column default")},createEnum:e=>{c.push("CREATE TYPE "),_(e.name),c.push(" AS ENUM "),u(e.values,(e=>c.push((0,o.literal)(e.value))),!0),c.push(" ")},createCompositeType:s=>{c.push("CREATE TYPE "),_(s.name),c.push(" AS "),u(s.attributes,(s=>{c.push(p(s.name)," "),e.dataType(s.dataType),s.collate&&(c.push("COLLATE "),_(s.collate))}),!0),c.push(" ")},setTableOwner:e=>{c.push(" OWNER TO ",p(e.to))},alterColumnSimple:e=>c.push(e.type),alterColumnAddGenerated:s=>{c.push(" ADD GENERATED "),f(e,s)},setColumnType:s=>{c.push(" SET DATA TYPE "),e.dataType(s.dataType),c.push(" ")},alterTable:s=>{c.push("ALTER TABLE "),s.ifExists&&c.push(" IF EXISTS "),s.only&&c.push(" ONLY "),y(s.table),u(s.changes,(t=>e.tableAlteration(t,s.table)),!1)},alterIndex:e=>{switch(c.push("ALTER INDEX "),e.ifExists&&c.push(" IF EXISTS "),y(e.index),e.change.type){case"rename":c.push(" RENAME TO "),_(e.change.to),c.push(" ");break;case"set tablespace":c.push(" SET TABLESPACE "),_(e.change.tablespace),c.push(" ");break;default:throw n.NotSupported.never(e.change,"Alter index type not supported: ")}},tableAlteration:(s,t)=>{switch(s.type){case"add column":return e.addColumn(s,t);case"add constraint":return e.addConstraint(s,t);case"alter column":return e.alterColumn(s,t);case"rename":return e.renameTable(s,t);case"rename column":return e.renameColumn(s,t);case"rename constraint":return e.renameConstraint(s,t);case"drop column":return e.dropColumn(s,t);case"drop constraint":return e.dropConstraint(s,t);case"owner":return e.setTableOwner(s,t);default:throw n.NotSupported.never(s)}},array:s=>{c.push("array"===s.type?"ARRAY[":"("),u(s.expressions,(s=>e.expr(s)),!1),c.push("array"===s.type?"]":")")},arrayIndex:s=>{e.expr(s.array),c.push("["),e.expr(s.index),c.push("] ")},expr:s=>{"ref"!==s.type?"list"!==s.type?(c.push("("),e.super().expr(s),c.push(")")):e.super().expr(s):e.ref(s)},callOverlay:s=>{c.push("OVERLAY("),e.expr(s.value),c.push(" PLACING "),e.expr(s.placing),c.push(" FROM "),e.expr(s.from),s.for&&(c.push(" FOR "),e.expr(s.for)),c.push(")")},callSubstring:s=>{c.push("SUBSTRING("),e.expr(s.value),s.from&&(c.push(" FROM "),e.expr(s.from)),s.for&&(c.push(" FOR "),e.expr(s.for)),c.push(")")},binary:s=>{e.expr(s.left),k(s),e.expr(s.right)},call:s=>{_(s.function),c.push("("),s.distinct&&c.push(s.distinct," "),u(s.args,(s=>e.expr(s)),!1),s.orderBy&&$(e,s.orderBy),c.push(") "),s.filter&&(c.push("filter (where "),e.expr(s.filter),c.push(") ")),s.over&&(c.push("over ("),s.over.partitionBy&&(c.push("PARTITION BY "),u(s.over.partitionBy,(s=>e.expr(s)),!1),c.push(" ")),s.over.orderBy&&($(e,s.over.orderBy),c.push(" ")),c.push(") "))},case:s=>{c.push("CASE "),s.value&&e.expr(s.value);for(const t of s.whens)c.push(" WHEN "),e.expr(t.when),c.push(" THEN "),e.expr(t.value);s.else&&(c.push(" ELSE "),e.expr(s.else)),c.push(" END ")},cast:s=>{e.expr(s.operand),c.push("::"),e.dataType(s.to)},constant:e=>{switch(e.type){case"boolean":c.push(e.value?"true":"false");break;case"integer":c.push(e.value.toString(10));break;case"numeric":c.push(e.value.toString()),Number.isInteger(e.value)&&c.push(".");break;case"null":c.push("null");break;case"constant":break;case"string":c.push((0,o.literal)(e.value));break;default:throw n.NotSupported.never(e)}},valueKeyword:e=>{c.push(e.keyword," ")},comment:e=>{c.push("COMMENT ON ",e.on.type.toUpperCase()," "),"column"===e.on.type?x(e.on.column):_(e.on.name),c.push(" IS ",(0,o.literal)(e.comment)," ")},extract:s=>{c.push("EXTRACT (",s.field.name.toUpperCase()," FROM "),e.expr(s.from),c.push(") ")},createColumn:s=>{var t;c.push(p(s.name)," "),e.dataType(s.dataType),c.push(" "),s.collate&&(c.push("COLLATE "),_(s.collate));for(const r of null!==(t=s.constraints)&&void 0!==t?t:[])e.constraint(r)},begin:e=>{c.push("BEGIN "),e.isolationLevel&&c.push("ISOLATION LEVEL ",e.isolationLevel.toUpperCase()," "),e.writeable&&c.push(e.writeable.toUpperCase()," "),"boolean"==typeof e.deferrable&&(e.deferrable||c.push("NOT "),c.push("DEFERRABLE "))},alterSequence:s=>{switch(c.push("ALTER SEQUENCE "),s.ifExists&&c.push("IF EXISTS "),_(s.name),s.change.type){case"set options":h(e,s.change);break;case"rename":c.push("RENAME TO ",p(s.change.newName)," ");break;case"set schema":c.push("SET SCHEMA ",p(s.change.newSchema)," ");break;case"owner to":s.change.owner,c.push("OWNER TO ",p(s.change.owner)," ");break;default:throw n.NotSupported.never(s.change)}},createSequence:s=>{c.push("CREATE "),s.temp&&c.push("TEMPORARY "),c.push("SEQUENCE "),s.ifNotExists&&c.push("IF NOT EXISTS "),_(s.name),h(e,s.options)},drop:s=>{c.push(s.type.toUpperCase()," "),s.concurrently&&c.push("CONCURRENTLY "),s.ifExists&&c.push("IF EXISTS "),u(s.names,(s=>e.tableRef(s)),!1),s.cascade&&c.push(s.cascade.toUpperCase()," ")},constraint:s=>{s.constraintName&&c.push(" CONSTRAINT ",p(s.constraintName)," "),b(s,e)},do:e=>{c.push("DO"),e.language&&c.push(" LANGUAGE ",e.language.name),c.push(" $$",e.code,"$$")},createFunction:s=>{var t;if(c.push(s.orReplace?"CREATE OR REPLACE FUNCTION ":"CREATE FUNCTION "),_(s.name),u(s.arguments,(s=>{s.mode&&c.push(s.mode," "),s.name&&c.push(p(s.name)," "),e.dataType(s.type),s.default&&(c.push(" = "),e.expr(s.default))}),!0),s.returns)switch(s.returns.kind){case"table":c.push(" RETURNS TABLE "),u(s.returns.columns,(s=>{c.push(p(s.name)," "),e.dataType(s.type)}),!0);break;case void 0:case null:case"array":c.push(" RETURNS "),e.dataType(s.returns);break;default:throw n.NotSupported.never(s.returns)}switch(c.push(" AS $$",null!==(t=s.code)&&void 0!==t?t:"","$$"),s.language&&c.push("LANGUAGE ",s.language.name," "),s.purity&&c.push(s.purity.toUpperCase()," "),"boolean"==typeof s.leakproof&&c.push(s.leakproof?"LEAKPROOF ":"NOT LEAKPROOF "),s.onNullInput){case"call":c.push("CALLED ON NULL INPUT ");break;case"null":c.push("RETURNS NULL ON NULL INPUT ");break;case"strict":c.push("STRICT ");break;case null:case void 0:break;default:throw n.NotSupported.never(s.onNullInput)}},dropFunction:s=>{c.push("DROP FUNCTION "),s.ifExists&&c.push("IF EXISTS "),_(s.name),s.arguments&&u(s.arguments,(s=>{s.name&&(_(s.name),c.push(" ")),e.dataType(s.type)}),!0),c.push(" ")},with:s=>{c.push("WITH "),u(s.bind,(s=>{c.push(p(s.alias)," AS ("),e.statement(s.statement),c.push(") ")}),!1),e.statement(s.in)},withRecursive:s=>{c.push("WITH RECURSIVE ",p(s.alias),"(",...s.columnNames.map(p).join(", "),") AS ("),e.union(s.bind),c.push(") "),e.statement(s.in)},setGlobal:e=>{c.push("SET ",p(e.variable)," = "),d(e.set)},setTimezone:e=>{switch(c.push("SET TIME ZONE "),e.to.type){case"default":case"local":c.push(e.to.type.toUpperCase()," ");break;case"value":c.push("string"==typeof e.to.value?(0,o.literal)(e.to.value):e.to.value.toString(10));break;case"interval":c.push("INTERVAL ",(0,o.literal)(e.to.value)," HOUR TO MINUTE");break;default:throw n.NotSupported.never(e.to)}},dataType:s=>{var t,r;if("array"===(null==s?void 0:s.kind))return e.dataType(s.arrayOf),void c.push("[]");if(!(null==s?void 0:s.name))return void c.push("unkown");let a=!0;if(s.schema)_(s,s.doubleQuoted);else if(s.doubleQuoted)_(s,!0);else switch(s.name){case"double precision":case"character varying":case"bit varying":c.push(s.name," ");break;case"time without time zone":case"timestamp without time zone":case"time with time zone":case"timestamp with time zone":const e=s.name.split(" ");c.push(e.shift()),(null===(t=s.config)||void 0===t?void 0:t.length)&&u(s.config,(e=>c.push(e.toString(10))),!0),c.push(" "),c.push(e.join(" ")," "),a=!1;break;default:_(s)}a&&(null===(r=s.config)||void 0===r?void 0:r.length)&&u(s.config,(e=>c.push(e.toString(10))),!0)},createIndex:s=>{c.push(s.unique?"CREATE UNIQUE INDEX ":"CREATE INDEX "),s.ifNotExists&&c.push(" IF NOT EXISTS "),s.indexName&&c.push(p(s.indexName)," "),c.push("ON "),e.tableRef(s.table),s.using&&c.push("USING ",p(s.using)," "),u(s.expressions,(s=>{e.expr(s.expression),c.push(" "),s.collate&&(c.push("COLLATE "),_(s.collate)),s.opclass&&_(s.opclass),s.order&&c.push(s.order," "),s.nulls&&c.push("nulls ",s.nulls," ")}),!0),s.with&&(c.push("WITH "),u(s.with,(e=>{c.push(e.parameter," = ",(0,o.literal)(e.value))}),!0)),s.tablespace&&c.push("TABLESPACE ",m(s.tablespace)),s.where&&(c.push(" WHERE "),e.expr(s.where)),c.push(" ")},createTable:s=>{var t;c.push("CREATE "),s.locality&&c.push(s.locality.toUpperCase()," "),s.temporary&&c.push("TEMPORARY "),s.unlogged&&c.push("UNLOGGED "),c.push(s.ifNotExists?"TABLE IF NOT EXISTS ":"TABLE "),e.tableRef(s.name),c.push("("),u(s.columns,(s=>{switch(s.kind){case"column":return e.createColumn(s);case"like table":return e.likeTable(s);default:throw n.NotSupported.never(s)}}),!1),s.constraints&&(c.push(", "),u(s.constraints,(s=>{const t=s.constraintName;t&&c.push("CONSTRAINT ",p(t)," "),b(s,e)}),!1)),c.push(") "),(null===(t=s.inherits)||void 0===t?void 0:t.length)&&(c.push(" INHERITS "),u(s.inherits,(e=>_(e)),!0))},likeTable:s=>{c.push(" LIKE "),e.tableRef(s.like),c.push(" ");for(const{verb:e,option:t}of s.options)c.push(e.toUpperCase()," ",t.toUpperCase()," ")},createSchema:e=>{c.push(e.ifNotExists?"CREATE SCHEMA IF NOT EXISTS ":"CREATE SCHEMA "),c.push(p(e.name))},truncateTable:s=>{c.push("TRUNCATE TABLE ");let t=!0;for(const r of s.tables)t||c.push(", "),t=!1,e.tableRef(r);if(s.identity)switch(s.identity){case"restart":c.push(" RESTART IDENTITY ");break;case"continue":c.push(" CONTINUE IDENTITY ")}s.cascade&&c.push(" ",s.cascade," ")},delete:s=>{c.push("DELETE FROM "),e.tableRef(s.from),s.where&&(c.push(" WHERE "),e.expr(s.where)),s.returning&&(c.push(" RETURNING "),u(s.returning,(s=>e.selectionColumn(s)),!1)),c.push(" ")},dropColumn:e=>{c.push(" DROP COLUMN "),e.ifExists&&c.push(" IF EXISTS "),c.push(p(e.column)),e.behaviour&&c.push(" ",e.behaviour),c.push(" ")},dropConstraint:e=>{c.push(" DROP CONSTRAINT "),e.ifExists&&c.push(" IF EXISTS "),c.push(p(e.constraint)),e.behaviour&&c.push(" ",e.behaviour.toUpperCase()," ")},from:s=>e.super().from(s),fromCall:s=>{w(e,s.join,(()=>{var t,r;if(e.call(s),s.withOrdinality&&c.push(" WITH ORDINALITY"),s.alias){c.push(" AS ",p(s.alias)," ");const e=null!==(r=null===(t=s.alias.columns)||void 0===t?void 0:t.length)&&void 0!==r?r:0;if(e>0){c.push("(");for(let t=0;t{w(e,s.join,(()=>{c.push("("),e.select(s.statement),c.push(") "),s.alias&&(c.push(" AS ",m(s.alias)),s.columnNames&&u(s.columnNames,(e=>c.push(p(e))),!0),c.push(" "))})),c.push(" ")},values:s=>{c.push("VALUES "),u(s.values,(s=>{u(s,(s=>{e.expr(s)}),!0)}),!1)},fromTable:s=>{w(e,s.join,(()=>{if(e.tableRef(s.name),s.name.columnNames){if(!s.name.alias)throw new Error("Cannot specify aliased column names without an alias");u(s.name.columnNames,(e=>c.push(p(e))),!0)}}))},join:e=>{throw new Error("Should not happen 💀")},insert:s=>{if(c.push("INSERT INTO "),e.tableRef(s.into),s.columns&&c.push("(",s.columns.map(p).join(", "),")"),c.push(" "),s.overriding&&c.push("OVERRIDING ",s.overriding.toUpperCase()," VALUE "),e.select(s.insert),c.push(" "),s.onConflict){c.push("ON CONFLICT ");const t=s.onConflict.on;switch(null==t?void 0:t.type){case"on expr":u(t.exprs,(s=>e.expr(s)),!0);break;case"on constraint":c.push("ON CONSTRAINT "),_(t.constraint);case null:case void 0:break;default:throw n.NotSupported.never(t)}"do nothing"===s.onConflict.do?c.push(" DO NOTHING"):(c.push(" DO UPDATE SET "),u(s.onConflict.do.sets,(s=>e.set(s)),!1),s.onConflict.where&&(c.push(" WHERE "),e.expr(s.onConflict.where))),c.push(" ")}s.returning&&(c.push(" RETURNING "),u(s.returning,(s=>e.selectionColumn(s)),!1))},raise:s=>{var t,r;c.push("RAISE "),s.level&&c.push(s.level.toUpperCase()," "),c.push((0,o.literal)(s.format)," "),(null===(t=s.formatExprs)||void 0===t?void 0:t.length)&&(c.push(", "),u(s.formatExprs,(s=>e.expr(s)),!1)),(null===(r=s.using)||void 0===r?void 0:r.length)&&(c.push(" USING "),u(s.using,(({type:s,value:t})=>{c.push(s.toUpperCase(),"="),e.expr(t)}),!1)),c.push(" ")},default:()=>{c.push(" DEFAULT ")},member:s=>{e.expr(s.operand),c.push(s.op),c.push("number"==typeof s.member?s.member.toString(10):(0,o.literal)(s.member))},ref:e=>{e.table&&(_(e.table),c.push(".")),c.push("*"===e.name?"*":m(e.name))},parameter:e=>{c.push(e.name)},renameColumn:e=>{c.push(" RENAME COLUMN ",p(e.column)," TO ",p(e.to))},renameConstraint:e=>{c.push(" RENAME CONSTRAINT ",p(e.constraint)," TO ",p(e.to))},renameTable:e=>{c.push(" RENAME TO ",p(e.to))},createView:s=>{c.push("CREATE "),s.orReplace&&c.push("OR REPLACE "),s.temp&&c.push("TEMP "),s.recursive&&c.push("RECURSIVE "),c.push("VIEW "),e.tableRef(s.name),s.columnNames&&u(s.columnNames,(e=>c.push(p(e))),!0);const t=s.parameters&&Object.entries(s.parameters);(null==t?void 0:t.length)&&(c.push(" WITH "),u(t,(([e,s])=>c.push(e,"=",s)),!1)),c.push(" AS "),e.select(s.query),s.checkOption&&c.push(" WITH ",s.checkOption.toUpperCase()," CHECK OPTION")},createMaterializedView:s=>{c.push("CREATE MATERIALIZED VIEW "),s.ifNotExists&&c.push("IF NOT EXISTS "),e.tableRef(s.name),s.columnNames&&u(s.columnNames,(e=>c.push(p(e))),!0);const t=s.parameters&&Object.entries(s.parameters);(null==t?void 0:t.length)&&(c.push(" WITH "),u(t,(([e,s])=>c.push(e,"=",s)),!1)),s.tablespace&&c.push(" TABLESPACE ",p(s.tablespace)),c.push(" AS "),e.select(s.query),"boolean"==typeof s.withData&&c.push(s.withData?" WITH DATA":" WITH NO DATA")},refreshMaterializedView:s=>{c.push("REFRESH MATERIALIZED VIEW "),s.concurrently&&c.push("CONCURRENTLY "),e.tableRef(s.name),"boolean"==typeof s.withData&&c.push(s.withData?" WITH DATA":" WITH NO DATA")},select:s=>e.super().select(s),selection:s=>{if(c.push("SELECT "),s.distinct&&("string"==typeof s.distinct?c.push(s.distinct.toUpperCase()):(c.push(" DISTINCT ON "),u(s.distinct,(s=>e.expr(s)),!0)),c.push(" ")),s.columns&&u(s.columns,(s=>e.selectionColumn(s)),!1),c.push(" "),s.from){c.push("FROM ");const t=s.from.length;for(let r=0;r0&&!t.join&&c.push(","),e.from(t)}c.push(" ")}s.where&&(c.push("WHERE "),e.expr(s.where),c.push(" ")),s.groupBy&&(c.push("GROUP BY "),u(s.groupBy,(s=>e.expr(s)),!1),c.push(" ")),s.orderBy&&($(e,s.orderBy),c.push(" ")),s.limit&&(s.limit.offset&&(c.push("OFFSET "),e.expr(s.limit.offset)),s.limit.limit&&(c.push("LIMIT "),e.expr(s.limit.limit))),s.for&&c.push("FOR ",s.for.type.toUpperCase())},show:e=>{c.push("SHOW ",p(e.variable))},prepare:s=>{var t;c.push("PREPARE ",p(s.name)),(null===(t=s.args)||void 0===t?void 0:t.length)&&u(s.args,(s=>e.dataType(s)),!0),c.push(" AS "),e.statement(s.statement)},deallocate:e=>{c.push("DEALLOCATE "),"name"in e.target?c.push(e.target.name):c.push("ALL")},arraySelect:s=>{c.push("array("),e.select(s.select),c.push(")")},union:s=>{c.push("("),e.statement(s.left),c.push(") ",s.type.toUpperCase()," "),"union"===s.right.type||"union all"===s.right.type?e.union(s.right):(c.push("("),e.statement(s.right),c.push(")"))},selectionColumn:s=>{e.expr(s.expr),s.alias&&c.push(" AS ",p(s.alias)),c.push(" ")},set:s=>{c.push(p(s.column)," = "),e.expr(s.value),c.push(" ")},statement:s=>e.super().statement(s),tableRef:e=>{_(e),e.alias&&c.push(" AS ",m(e.alias)),c.push(" ")},ternary:s=>{e.expr(s.value),c.push(" ",s.op," "),e.expr(s.lo),c.push(" AND "),e.expr(s.hi),c.push(" ")},transaction:e=>{c.push(e.type)},unary:s=>{switch(s.op){case"+":case"-":k(s),e.expr(s.operand);break;case"NOT":c.push(s.op),c.push(" "),e.expr(s.operand);break;default:e.expr(s.operand),c.push(" "),c.push(s.op)}},update:s=>{c.push("UPDATE "),e.tableRef(s.table),c.push(" SET "),u(s.sets,(s=>e.set(s)),!1),c.push(" "),s.from&&(c.push("FROM "),e.from(s.from),c.push(" ")),s.where&&(c.push("WHERE "),e.expr(s.where),c.push(" ")),s.returning&&(c.push(" RETURNING "),u(s.returning,(s=>e.selectionColumn(s)),!1),c.push(" "))}})));s.toSql={};const g=r.AstDefaultMapper.prototype;for(const e of Object.getOwnPropertyNames(g)){const t=g[e];"constructor"!==e&&"super"!==e&&"function"==typeof t&&(s.toSql[e]=function(...s){try{return v[e].apply(v,s),c.join("").trim()}finally{c=[]}})}},function(e,s,t){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.literal=void 0,s.literal=function e(s){return null==s?"NULL":Array.isArray(s)?"("+s.map(e).join(", ")+")":(~s.indexOf("\\")?"E":"")+"'"+(s=(s=s.replace(/'/g,"''")).replace(/\\/g,"\\\\"))+"'"}},function(e,s,t){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.locationOf=void 0,s.locationOf=function(e){const s=e._location;if(!s)throw new Error("This statement has not been parsed using location tracking (which has a small performance hit). ");return s}}]))},7644:e=>{"use strict";e.exports=o},3305:s=>{"use strict";s.exports=e},3545:e=>{"use strict";e.exports=s},7388:e=>{"use strict";e.exports=a},5980:e=>{"use strict";e.exports=t},2650:e=>{"use strict";e.exports=n},1177:e=>{"use strict";e.exports=r}},i={};function c(e){var s=i[e];if(void 0!==s)return s.exports;var t=i[e]={id:e,loaded:!1,exports:{}};return l[e].call(t.exports,t,t.exports,c),t.loaded=!0,t.exports}c.n=e=>{var s=e&&e.__esModule?()=>e.default:()=>e;return c.d(s,{a:s}),s},c.d=(e,s)=>{for(var t in s)c.o(s,t)&&!c.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:s[t]})},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,s)=>Object.prototype.hasOwnProperty.call(e,s),c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var p={};return(()=>{"use strict";c.r(p),c.d(p,{plugin:()=>Js});var e,s,t,r,a,n,o,l,i=c(3305),m=c(3545);!function(e){e.NATIVE="native",e.HTTP="http"}(e||(e={})),function(e){e[e.TIMESERIES=0]="TIMESERIES",e[e.TABLE=1]="TABLE",e[e.LOGS=2]="LOGS",e[e.TRACE=3]="TRACE",e[e.AUTO=4]="AUTO"}(s||(s={})),function(e){e.SQL="sql",e.Builder="builder"}(t||(t={})),function(e){e.List="list",e.Aggregate="aggregate",e.Trend="trend"}(r||(r={})),function(e){e.Sum="sum",e.Average="avg",e.Min="min",e.Max="max",e.Count="count",e.Any="any"}(a||(a={})),function(e){e.ASC="ASC",e.DESC="DESC"}(n||(n={})),(l=o||(o={})).IsNull="IS NULL",l.IsNotNull="IS NOT NULL",l.Equals="=",l.NotEquals="!=",l.LessThan="<",l.LessThanOrEqual="<=",l.GreaterThan=">",l.GreaterThanOrEqual=">=",l.Like="LIKE",l.NotLike="NOT LIKE",l.In="IN",l.NotIn="NOT IN",l.WithInGrafanaTimeRange="WITH IN DASHBOARD TIME RANGE",l.OutsideGrafanaTimeRange="OUTSIDE DASHBOARD TIME RANGE",t.Builder;const u={queryType:t.Builder,rawSql:"",builderOptions:{mode:r.List,fields:[],limit:100},format:s.TABLE,selectedFormat:s.AUTO};t.SQL,s.TABLE,s.AUTO;var b=c(5884);function _(e,s,t){return s in e?Object.defineProperty(e,s,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[s]=t,e}function y(e){for(var s=1;s=0;t--){const r=s[t].startIndex,a="f"+(Math.random()+1).toString(36).substring(7);s[t].replacementName=a,e=e.substring(0,r)+a+e.substring(r+s[t].name.length)}try{a=(0,b.parseFirst)(e)}catch(e){return console.error(`Failed to parse SQL statement into an AST: ${e}`),{}}return(0,b.astMapper)((e=>({tableRef:t=>{const r=s.find((e=>e.replacementName===t.schema));var a;if(r)return $(y({},t),{schema:null===(a=t.schema)||void 0===a?void 0:a.replace(r.replacementName,r.name)});const n=s.find((e=>e.replacementName===t.name));return n?$(y({},t),{name:t.name.replace(n.replacementName,n.name)}):e.super().tableRef(t)},ref:t=>{const r=s.find((e=>t.name.startsWith(e.replacementName)));if(r){const e=t.name.replace(r.replacementName,r.name);return $(y({},t),{name:e})}return e.super().ref(t)},call:t=>{const r=s.find((e=>t.function.name.startsWith(e.replacementName)));return r?$(y({},t),{function:$(y({},t.function),{name:t.function.name.replace(r.replacementName,r.name)})}):e.super().call(t)}}))).statement(a)}function f(e){var s,t;const r=d(e);if("select"!==r.type||!(null===(s=r.from)||void 0===s?void 0:s.length)||(null===(t=r.from)||void 0===t?void 0:t.length)<=0)return"";switch(r.from[0].type){case"table":{const s=r.from[0],t=`${s.name.schema?`${s.name.schema}.`:""}${s.name.name}`,a=new RegExp(`\\b${t}\\b`,"gi").exec(e);return a?a[0]:t}case"statement":{const e=r.from[0];return f(b.toSql.statement(e.statement))}}return""}class h{setTargetTable(e){this._targetTable=e}setTargetTableFromQuery(e){if(this._targetTable=f(e),""===this._targetTable)throw console.error("Failed to get table from adhoc query."),new Error("Failed to get table from adhoc query.")}apply(e,s){if(""===e||!s||0===s.length)return e;const t=s[0];if(t.key.includes(".")&&(this._targetTable=t.key.split(".")[0]),""===this._targetTable||!e.match(new RegExp(`.*\\b${this._targetTable}\\b.*`,"gi")))return e;let r=s.map(((e,t)=>{const r=e.key.includes(".")?e.key.split(".")[1]:e.key,a=isNaN(Number(e.value))?`\\'${e.value}\\'`:Number(e.value),n=t!==s.length-1?e.condition?e.condition:"AND":"";return` ${r} ${e.operator} ${a} ${n}`})).join("");return`${e=e.replace(";","")} settings additional_table_filters={'${this._targetTable}' : '${r}'}`}constructor(){var e,s;(s="_targetTable")in(e=this)?Object.defineProperty(e,s,{value:"",enumerable:!0,configurable:!0,writable:!0}):e[s]=""}}var x,w=c(5980),k=(e=>(e.Bars="bars",e.Line="line",e.Points="points",e))(k||{}),v=(e=>(e.None="none",e.Normal="normal",e.Percent="percent",e))(v||{}),g=(e=>(e[e.After=1]="After",e[e.Before=-1]="Before",e[e.Center=0]="Center",e))(g||{}),A=(e=>(e.Done="Done",e.Error="Error",e.Loading="Loading",e.NotStarted="NotStarted",e.Streaming="Streaming",e))(A||{}),E=Object.defineProperty,O=Object.defineProperties,T=Object.getOwnPropertyDescriptors,S=Object.getOwnPropertySymbols,C=Object.prototype.hasOwnProperty,N=Object.prototype.propertyIsEnumerable,L=(e,s,t)=>s in e?E(e,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[s]=t;x=((e,s)=>{for(var t in s||(s={}))C.call(s,t)&&L(e,t,s[t]);if(S)for(var t of S(s))N.call(s,t)&&L(e,t,s[t]);return e})({},{global:!1,id:"00000000-0000-0000-0000-000000000000",index:-1,skipUrlSync:!1}),O(x,T({rootStateKey:null,error:null,description:null,hide:0,state:A.NotStarted,datasource:null}));var I=c(1177),R=c(7388);const q=1e3,j=6e4,P=36e5,F={[i.LogLevel.critical]:R.colors[7],[i.LogLevel.warning]:R.colors[1],[i.LogLevel.error]:R.colors[4],[i.LogLevel.info]:R.colors[0],[i.LogLevel.debug]:R.colors[5],[i.LogLevel.trace]:R.colors[2],[i.LogLevel.unknown]:("#8e8e8e","#bdc4cd",m.config.bootData.user.lightTheme?"#bdc4cd":"#8e8e8e")};function D(e,s){const t=s&&e===i.LogLevel.unknown?"logs":e,r=F[e];return{displayNameFromDS:t,color:{mode:i.FieldColorModeId.Fixed,fixedColor:r},custom:{drawStyle:k.Bars,barAlignment:g.Center,lineColor:r,pointColor:r,fillColor:r,lineWidth:1,fillOpacity:100,stacking:{mode:v.Normal,group:"A"}}}}const B="time",U="logs",M=(()=>{const e={critical:["critical","fatal","crit","alert","emerg"],error:["error","err","eror"],warn:["warn","warning"],info:["info","information","informational"],debug:["debug","dbug"],trace:["trace"],unknown:["unknown"]};return Object.keys(e).reduce(((s,t)=>(s[t]=`IN (${[...e[t].map((e=>`'${e}'`)),...e[t].map((e=>`'${e.toUpperCase()}'`)),...e[t].map((e=>`'${e.charAt(0).toUpperCase()+e.slice(1)}'`))].join(",")})`,s)),{})})();function H(e,s,t){return s in e?Object.defineProperty(e,s,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[s]=t,e}function G(e){for(var s=1;s["boolean"].includes(null==e?void 0:e.toLowerCase()),K=e=>["int","float","decimal"].some((s=>null==e?void 0:e.toLowerCase().includes(s))),Q=e=>{const s=null==e?void 0:e.toLowerCase();return(null==s?void 0:s.startsWith("date"))||(null==s?void 0:s.startsWith("nullable(date"))},V=e=>{const s=null==e?void 0:e.toLowerCase();return(null==s?void 0:s.startsWith("datetime"))||(null==s?void 0:s.startsWith("nullable(datetime"))},Y=e=>!(W(e)||K(e)||Q(e)),J=e=>[o.IsNull,o.IsNotNull].includes(e.operator),X=e=>W(e.type),Z=e=>K(e.type),ee=e=>Q(e.type)&&[o.WithInGrafanaTimeRange,o.OutsideGrafanaTimeRange].includes(e.operator),se=e=>Q(e.type),te=e=>Y(e.type)&&![o.In,o.NotIn].includes(e.operator),re=e=>Y(e.type)&&[o.In,o.NotIn].includes(e.operator),ae=e=>e.reduce(((e,s,t)=>{const r=0===t?"":s.condition;let a="",n=s.key,l="",i=!1;if(s.operator===o.NotLike?(l="LIKE",i=!0):s.operator===o.OutsideGrafanaTimeRange?(l="",i=!0):l=[o.WithInGrafanaTimeRange].includes(s.operator)?"":s.operator,a=`${n} ${l}`,J(s));else if(X(s))a+=` ${s.value}`;else if(Z(s))a+=` ${s.value||"0"}`;else if(se(s))if(ee(s))Q(s.type)&&(a+=` >= $__fromTime AND ${s.key} <= $__toTime`);else switch(s.value){case"GRAFANA_START_TIME":Q(s.type)&&(a+=" $__fromTime");break;case"GRAFANA_END_TIME":Q(s.type)&&(a+=" $__toTime");break;default:a+=` ${s.value||"TODAY"}`}else if(te(s))s.operator===o.Like||s.operator===o.NotLike?a+=` '%${s.value||""}%'`:a+=pe(s.value||"");else if(re(s)){let e=s.value;a+=` (${null==e?void 0:e.map((e=>pe(e).trim())).join(", ")} )`}return i&&(a=` NOT ( ${a} )`),a?`${e} ${r} ( ${a} )`:e}),""),ne=(e=[],s)=>{const t=e.length>0?` GROUP BY ${e.join(", ")}`:"";return void 0===s?t:0===e.length?" GROUP BY time":`${t}, time`},oe=(e,s=!0)=>{const t=s?" ORDER BY ":"";return e&&e.filter((e=>e.name)).length>0?t+e.filter((e=>e.name)).map((e=>`${e.name} ${e.dir}`)).join(", "):""},le=e=>{const s=e.limit?(e=>" LIMIT "+(e||100))(e.limit):"";let t="";switch(e.mode){case r.Aggregate:t+=((e="",s="",t=[],r=[],a=[])=>{let n=t.length>0?t.join(", "):"",o=r.map((e=>{const s=e.alias?` ${e.alias.replace(/ /g,"_")}`:"";return`${e.aggregation}(${e.field})${s}`})).join(", ");const l=a.filter((e=>!t.some((s=>s===e)))).join(", ");return`SELECT ${n}${n&&(l||o)?", ":""}${l}${o&&l?", ":""}${o} FROM ${e}${""===e||""===s?"":"."}${me(s)}`})(e.database,e.table,e.fields,e.metrics,e.groupBy);let s=ae(e.filters||[]);s&&(t+=` WHERE ${s}`),t+=ne(e.groupBy);break;case r.Trend:if(!Q(e.timeFieldType))throw new Error("timeFieldType is expected to be valid Date type.");t+=((e="",s="",t=[],r=[],a="",n="")=>{let o=(t=t&&t.length>0?t:[]).map((e=>{const s=e.alias?" "+e.alias.replace(/ /g,"_"):"";return`${e.aggregation}(${e.field})${s}`})).join(", ");const l=`$__timeInterval(${a}) as time`;return o=""!==o?`${l}, ${r.length>0?`${r.join(", ")},`:""} ${o}`:r.length>0?`${l}, ${r.join(", ")}`:`${l}`,`SELECT ${o} FROM ${e}${""===e||""===s?"":"."}${me(s)}`})(e.database,e.table,e.metrics,e.groupBy,e.timeField,e.timeFieldType);const a=ae(e.filters||[]);t+=` WHERE $__timeFilter(${e.timeField})`,t+=a?` AND ${a}`:"",t+=ne(e.groupBy,e.timeField);break;case r.List:default:t+=((e="",s="",t=[])=>{const r=""===e||""===s?"":".";return`SELECT ${(t=t&&t.length>0?t:[""]).join(", ")} FROM ${e}${r}${me(s)}`})(e.database,e.table,e.fields);const n=ae(e.filters||[]);n&&(t+=` WHERE ${n}`)}if(e.mode===r.Trend){t+=" ORDER BY time ASC";const r=oe(e.orderBy,!1);""!==r.trim()&&(t+=`, ${r}`),t+=s}else t+=oe(e.orderBy),t+=s;return t};function ie(e){var s,t,a,n,l;const i=d(e);if(!i)return"The query is not valid SQL.";if("select"!==i.type)return"The query is not a select statement.";if(!i.from||1!==i.from.length)return"The query has too many 'FROM' clauses.";if("table"!==i.from[0].type)return"The 'FROM' clause is not a table.";const c=i.from[0],p=function(e){if(!e)return{timeField:"",metrics:[],fields:[]};const s=[],t=[];let r="";for(let a of e)switch(a.expr.type){case"ref":t.push(a.expr.name);break;case"call":const e=ce(a);if(!e)return{timeField:"",metrics:[],fields:[]};(0,w.isString)(e)?r=e:s.push(e);break;default:return{timeField:"",metrics:[],fields:[]}}return{timeField:r,metrics:s,fields:t}}(i.columns?i.columns:null);let m={mode:r.List,database:c.name.schema,table:c.name.name};p.fields&&(m.fields=p.fields),p.metrics.length>0&&(m.mode=r.Aggregate,m.metrics=p.metrics),p.timeField&&(m.mode=r.Trend,m.timeFieldType="datetime",m.timeField=p.timeField),i.where&&(m.filters=function(e,s){const t=[];let r=0,a=!1;return(0,b.astVisitor)((e=>({expr:n=>{switch(null==n?void 0:n.type){case"binary":a=function(e,s,t,r){return"AND"===e.op||"OR"===e.op?s.unshift({condition:e.op}):Object.values(o).find((s=>e.op===s))&&(0===t&&s.unshift({}),s[t].operator=e.op,r&&s[t].operator===o.Like&&(s[t].operator=o.NotLike,r=!1)),r}(n,t,r,a),e.super().expr(n);break;case"ref":({i:r,notFlag:a}=function(e,s,t,r){var a,n;return"$__fromtime"===(null===(a=e.name)||void 0===a?void 0:a.toLowerCase())&&s[t].operator===o.GreaterThanOrEqual?(r?(s[t].operator=o.OutsideGrafanaTimeRange,r=!1):s[t].operator=o.WithInGrafanaTimeRange,s[t].type="datetime",{i:++t,notFlag:r}):"$__totime"===(null===(n=e.name)||void 0===n?void 0:n.toLowerCase())?(s.splice(t,1),{i:t,notFlag:r}):s[t].key?(s[t]=z(G({},s[t]),{value:[e.name],type:"string"}),{i:++t,notFlag:r}):(s[t].key=e.name,s[t].operator===o.IsNotNull&&t++,{i:t,notFlag:r})}(n,t,r,a));break;case"string":r=function(e,s,t){return e[s].key?(e[s]=z(G({},e[s]),{value:t.value,type:"string"}),++s):(e[s]=z(G({},e[s]),{key:t.value}),s)}(t,r,n);break;case"integer":r=function(e,s,t){return e[s].key?(e[s]=z(G({},e[s]),{value:t.value,type:"int"}),++s):(e[s]=z(G({},e[s]),{key:t.value.toString()}),s)}(t,r,n);break;case"unary":a=function(e,s,t,r){return"NOT"===e.op||(0===t&&r.unshift({}),r[t].operator=e.op,s)}(n,a,r,t),e.super().expr(n);break;case"call":r=function(e,s,t,r){const a=`${e.function.name}(${e.args.map((e=>e.name)).join(",")})`;return a===`$__timefilter(${s})`?(t.splice(r,1),r):a.startsWith("$__timefilter(")?(t[r]=z(G({},t[r]),{key:e.args[0].name,operator:o.WithInGrafanaTimeRange,type:"datetime"}),++r):(t[r]=z(G({},t[r]),{value:a,type:"datetime"}),a||r++,r)}(n,s,t,r);break;case"list":r=function(e,s,t){return e[s]=z(G({},e[s]),{value:t.expressions.map((e=>e.value)),type:"string"}),++s}(t,r,n);break;default:console.error(`${null==n?void 0:n.type} is not supported. This is likely a bug.`)}}}))).expr(e),t}(i.where,p.timeField));const u=null===(s=i.orderBy)||void 0===s?void 0:s.map((e=>"ref"!==e.by.type||"time"===e.by.name?{}:{name:e.by.name,dir:e.order})).filter((e=>e.name));u&&u.length>0&&(m.orderBy=u),m.limit="integer"===(null===(t=i.limit)||void 0===t||null===(a=t.limit)||void 0===a?void 0:a.type)?null===(n=i.limit)||void 0===n?void 0:n.limit.value:void 0;const _=null===(l=i.groupBy)||void 0===l?void 0:l.map((e=>"ref"!==e.type||"time"===e.name?"":e.name)).filter((e=>""!==e));return _&&_.length>0&&(m.groupBy=_),m}function ce(e){if("call"!==e.expr.type)return{};let s=e.expr.args.map((e=>"ref"!==e.type?"":e.name));return s.length>1?"":Object.values(a).includes(e.expr.function.name.toLowerCase())?{aggregation:e.expr.function.name,field:s[0],alias:null===(t=e.alias)||void 0===t?void 0:t.name}:s[0];var t}function pe(e){return e.startsWith("$")?` ${e||""}`:` '${e||""}'`}function me(e){return""===e?"":`"${e}"`}function ue(e,s,t,r,a,n,o){try{var l=e[n](o),i=l.value}catch(e){return void t(e)}l.done?s(i):Promise.resolve(i).then(r,a)}function be(e){return function(){var s=this,t=arguments;return new Promise((function(r,a){var n=e.apply(s,t);function o(e){ue(n,r,a,o,l,"next",e)}function l(e){ue(n,r,a,o,l,"throw",e)}o(void 0)}))}}function _e(e,s,t){return s in e?Object.defineProperty(e,s,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[s]=t,e}function ye(e){for(var s=1;sP?(t=864e5,s="1d"):t>j?(t=P,s="1h"):t>q?(t=j,s="1m"):(t=q,s="1s"),{interval:s,intervalMs:t}}return{interval:"$__interval"}}(e.scopedVars);e.interval=t.interval,e.scopedVars.__interval={value:t.interval,text:t.interval},e.hideFromInspector=!0,void 0!==t.intervalMs&&(e.intervalMs=t.intervalMs,e.scopedVars.__interval_ms={value:t.intervalMs,text:t.intervalMs});const r=[];if(e.targets.forEach((s=>{const t=this.getSupplementaryLogsVolumeQuery(e,s);void 0!==t&&r.push(t)})),!r.length)return;return function(e,s,t){return new I.Observable((r=>{let a=[];r.next({state:i.LoadingState.Loading,error:void 0,data:[]});const n=e.query(s),o=((0,I.isObservable)(n)?n:(0,I.from)(n)).subscribe({complete:()=>{const e=function(e){if(1!==e.length)return[];const[[s],t]=(0,w.partition)(e[0].fields,(e=>e.name===B));if(void 0===s)return[];const r=1===t.length&&t[0].name===U;r&&(t[0].name="logs");const a=s.values.length;return t.map((e=>{const t=i.LogLevel[e.name]||i.LogLevel.unknown,n=new i.MutableDataFrame;return n.addField({name:"Time",type:i.FieldType.time,values:s.values},a),n.addField({name:"Value",type:i.FieldType.number,config:D(t,r),values:e.values}),n}))}(a);e[0]&&(e[0].meta={custom:{targets:t.targets,absoluteRange:{from:t.range.from.valueOf(),to:t.range.to.valueOf()}}}),r.next({state:i.LoadingState.Done,error:void 0,data:e}),r.complete()},next:e=>{const{error:s}=e;void 0!==s?(r.next({state:i.LoadingState.Error,error:s,data:[]}),r.error(s)):a=a.concat(e.data.map(i.toDataFrame))},error:e=>{r.next({state:i.LoadingState.Error,error:e,data:[]}),r.error(e)}});return()=>{null==o||o.unsubscribe()}}))}(this,$e(ye({},e),{targets:r}),{range:e.range,targets:e.targets})}}getSupportedSupplementaryQueryTypes(){return[i.SupplementaryQueryType.LogsVolume]}getSupplementaryLogsVolumeQuery(e,o){if(o.format!==s.LOGS||o.queryType!==t.Builder||o.builderOptions.mode!==r.List||void 0===o.builderOptions.timeField||void 0===o.builderOptions.database||void 0===o.builderOptions.table)return;const l=function(e,s){let t="DAY";if(e.__interval_ms){let s=e.__interval_ms.value;t=s>P?"DAY":s>j?"HOUR":s>q?"MINUTE":"SECOND"}return`toStartOfInterval("${s}", INTERVAL 1 ${t})`}(e.scopedVars,o.builderOptions.timeField),i=[],c=[];if(o.builderOptions.logLevelField){const e=`toString("${o.builderOptions.logLevelField}")`;let s;for(s in M)i.push(`sum(${e} ${M[s]}) AS ${s}`)}else c.push({aggregation:a.Count,alias:U,field:"*"});const p={mode:r.Aggregate,database:o.builderOptions.database,table:o.builderOptions.table,filters:o.builderOptions.filters,fields:i,metrics:c,groupBy:[`${l} AS ${B}`],orderBy:[{name:B,dir:n.ASC}]},m=le(p);return{format:s.AUTO,queryType:t.SQL,rawSql:m,refId:"",selectedFormat:s.AUTO}}getSupplementaryQuery(e,s){}metricFindQuery(e,s){var r=this;return be((function*(){var a,n,o,l;r.adHocFiltersStatus===he.none&&(r.adHocFiltersStatus=yield r.canUseAdhocFilters());const c=(0,w.isString)(e)?{rawSql:e,queryType:t.SQL}:e;if(c.queryType!==t.SQL&&c.queryType!==t.Builder&&c.queryType)return[];if(!c.rawSql)return[];const p=$e(ye({},c),{queryType:c.queryType||t.SQL}),m=yield r.runQuery(p,s);if(0===(null===(a=m.fields)||void 0===a?void 0:a.length))return[];var u;if(1===(null==m||null===(n=m.fields)||void 0===n?void 0:n.length))return(0,i.vectorator)(null===(u=null==m?void 0:m.fields[0])||void 0===u?void 0:u.values).map((e=>({text:e,value:e})));const b=null===(o=null==m?void 0:m.fields[0])||void 0===o?void 0:o.values;return(0,i.vectorator)(null===(l=null==m?void 0:m.fields[1])||void 0===l?void 0:l.values).map(((e,s)=>({text:e,value:b.get(s)})))}))()}applyTemplateVariables(e,s){let t=e.rawSql||"";const r=(0,m.getTemplateSrv)();if(!this.skipAdHocFilter){const e=null==r?void 0:r.getAdhocFilters(this.name);if(this.adHocFiltersStatus===he.disabled&&(null==e?void 0:e.length)>0)throw new Error(`Unable to apply ad hoc filters. Upgrade ClickHouse to >=${this.adHocCHVerReq.major}.${this.adHocCHVerReq.minor} or remove ad hoc filters for the dashboard.`);t=this.adHocFilter.apply(t,e)}return this.skipAdHocFilter=!1,t=this.applyConditionalAll(t,(0,m.getTemplateSrv)().getVariables()),$e(ye({},e),{rawSql:this.replace(t,s)||""})}applyConditionalAll(e,s){if(!e)return e;const t="$__conditionalAll(";let r=e.lastIndexOf(t);for(;-1!==r;){const a=this.getMacroArgs(e,r+t.length-1);if(2!==a.length)return e;const n=a[1].trim(),o=s.find((e=>e.name===n.substring(1,n.length)));let l=a[0],i=null==o?void 0:o.current.value.toString();""!==i&&"$__all"!==i||(l="1=1"),r=(e=e.replace(`${t}${a[0]},${a[1]})`,l)).lastIndexOf(t)}return e}getMacroArgs(e,s){const t=[],r=/\(|\)|,/g;let a,n=0,o=1;const l=e.substring(s,e.length);for(;null!==(a=r.exec(l));){const e=a[0];if("("===e?n++:")"===e&&n--,","===e&&1===n&&(t.push(l.substring(o,r.lastIndex-1)),o=r.lastIndex),0===n)return t.push(l.substring(o,r.lastIndex-1)),t}return[]}replace(e,s){return void 0!==e?(0,m.getTemplateSrv)().replace(e,s,this.format):e}format(e){return Array.isArray(e)?`'${e.join("','")}'`:e}getDefaultDatabase(){return this.settings.jsonData.defaultDatabase}fetchDatabases(){var e=this;return be((function*(){return e.fetchData("SHOW DATABASES")}))()}fetchTables(e){var s=this;return be((function*(){const t=e?`SHOW TABLES FROM ${e}`:"SHOW TABLES";return s.fetchData(t)}))()}fetchEntities(){var e=this;return be((function*(){return e.fetchTables()}))()}fetchFields(e,s){var t=this;return be((function*(){return t.fetchData(`DESC TABLE ${e}."${s}"`)}))()}fetchFieldsFull(e,s){var t=this;return be((function*(){var r;const a=`DESC TABLE ${Boolean(e)?`${e}.`:""}"${s}"`,n=yield t.runQuery({rawSql:a});return 0===(null===(r=n.fields)||void 0===r?void 0:r.length)?[]:new i.DataFrameView(n).map((e=>({name:e[0],type:e[1],label:e[0],picklistValues:[]})))}))()}fetchData(e){var s=this;return be((function*(){const t=yield s.runQuery({rawSql:e});return s.values(t)}))()}getTimezone(e){if(e.timezone&&"browser"!==e.timezone)return e.timezone;const s=(0,i.getTimeZoneInfo)((0,i.getTimeZone)(),Date.now());return null==s?void 0:s.ianaName}query(e){const s=e.targets.filter((e=>!0!==e.hide)).map((s=>$e(ye({},s),{meta:$e(ye({},s.meta),{timezone:this.getTimezone(e)})})));return super.query($e(ye({},e),{targets:s}))}runQuery(e,s){return new Promise((t=>{const r={targets:[$e(ye({},e),{refId:String(Math.random())})],range:s?s.range:(0,m.getTemplateSrv)().timeRange};this.query(r).subscribe((e=>{t(e.data[0]||{fields:[]})}))}))}values(e){var s,t;return 0===(null===(s=e.fields)||void 0===s?void 0:s.length)?[]:(0,i.vectorator)(null===(t=null==e?void 0:e.fields[0])||void 0===t?void 0:t.values).map((e=>e))}getTagKeys(){var e=this;return be((function*(){if((e.adHocFiltersStatus===he.disabled||e.adHocFiltersStatus===he.none)&&(e.adHocFiltersStatus=yield e.canUseAdhocFilters(),e.adHocFiltersStatus===he.disabled))return{};const{type:s,frame:t}=yield e.fetchTags();return s===fe.query?t.fields.map((e=>({text:e.name}))):new i.DataFrameView(t).map((e=>({text:`${e[2]}.${e[0]}`})))}))()}getTagValues({key:e}){var s=this;return be((function*(){const{type:t}=s.getTagSource();return s.skipAdHocFilter=!0,t===fe.query?s.fetchTagValuesFromQuery(e):s.fetchTagValuesFromSchema(e)}))()}fetchTagValuesFromSchema(e){var s=this;return be((function*(){var t;const{from:r}=s.getTagSource(),[a,n]=e.split("."),o=`select distinct ${n} from ${(null==r?void 0:r.includes("."))?`${r.split(".")[0]}.${a}`:a} limit 1000`,l=yield s.runQuery({rawSql:o});if(0===(null===(t=l.fields)||void 0===t?void 0:t.length))return[];const c=l.fields[0];return(0,i.vectorator)(c.values).filter((e=>null!==e)).map((e=>({text:String(e)})))}))()}fetchTagValuesFromQuery(e){var s=this;return be((function*(){const{frame:t}=yield s.fetchTags(),r=t.fields.find((s=>s.name===e));return r?(0,i.vectorator)(r.values).filter((e=>null!==e)).map((e=>({text:String(e)}))):[]}))()}fetchTags(){var e=this;return be((function*(){const s=e.getTagSource();if(e.skipAdHocFilter=!0,void 0===s.source){e.adHocFilter.setTargetTable("default");const s="SELECT name, type, table FROM system.columns",t=yield e.runQuery({rawSql:s});return{type:fe.schema,frame:t}}if(s.type===fe.query)e.adHocFilter.setTargetTableFromQuery(s.source);else{let t=s.from;(null==t?void 0:t.includes("."))&&(t=t.split(".")[1]),e.adHocFilter.setTargetTable(t||"")}const t=yield e.runQuery({rawSql:s.source});return{type:s.type,frame:t}}))()}getTagSource(){const e="$clickhouse_adhoc_query",s=this.getDefaultDatabase();let t=(0,m.getTemplateSrv)().replace(e);if(t===e&&(0,w.isEmpty)(s))return{type:fe.schema,source:void 0};if(t=t===e?s:t,t.toLowerCase().startsWith("select"))return{type:fe.query,source:t};if(!t.includes(".")){const e=`SELECT name, type, table FROM system.columns WHERE database IN ('${t}')`;return{type:fe.schema,source:e,from:t}}const[r,a]=t.split("."),n=`SELECT name, type, table FROM system.columns WHERE database IN ('${r}') AND table = '${a}'`;return{type:fe.schema,source:n,from:t}}canUseAdhocFilters(){var e=this;return be((function*(){e.skipAdHocFilter=!0;const s=yield e.fetchData("SELECT version()");try{const t=s[0].split("."),r={major:Number.parseInt(t[0],10),minor:Number.parseInt(t[1],10)};return r.major>e.adHocCHVerReq.major||r.major===e.adHocCHVerReq.major&&r.minor>=e.adHocCHVerReq.minor?he.enabled:he.disabled}catch(e){throw console.error(`Unable to parse ClickHouse version: ${e}`),e}}))()}constructor(e){super(e),_e(this,"annotations",{}),_e(this,"settings",void 0),_e(this,"adHocFilter",void 0),_e(this,"skipAdHocFilter",!1),_e(this,"adHocFiltersStatus",he.none),_e(this,"adHocCHVerReq",{major:22,minor:7}),this.settings=e,this.adHocFilter=new h}}var fe,he;!function(e){e[e.query=0]="query",e[e.schema=1]="schema"}(fe||(fe={})),function(e){e[e.none=0]="none",e[e.enabled=1]="enabled",e[e.disabled=2]="disabled"}(he||(he={}));var xe=c(2650),we=c.n(xe);const ke=({hasCert:e,label:s,onChange:t,onClick:r,placeholder:a})=>we().createElement("div",{className:"gf-form"},we().createElement(R.InlineFormLabel,{width:12},s),e?we().createElement(we().Fragment,null,we().createElement(R.Input,{type:"text",disabled:!0,value:"configured",width:24}),we().createElement(R.Button,{variant:"secondary",onClick:r,style:{marginLeft:4}},"Reset")):we().createElement(R.TextArea,{rows:7,onChange:t,placeholder:a,required:!0})),ve={ConfigEditor:{ServerAddress:{label:"Server address",placeholder:"Server TCP address",tooltip:"ClickHouse native TCP server address"},ServerPort:{label:"Server port",placeholder:e=>"Typically "+("true"===e?"9440":"9000"),tooltip:"ClickHouse native TCP port. Typically 9000 for unsecure, 9440 for secure"},Protocol:{label:"Protocol",tooltip:"Native or HTTP for transport"},Username:{label:"Username",placeholder:"Username",tooltip:"ClickHouse username"},Password:{label:"Password",placeholder:"Password",tooltip:"ClickHouse password"},TLSSkipVerify:{label:"Skip TLS Verify",tooltip:"Skip TLS Verify"},TLSClientAuth:{label:"TLS Client Auth",tooltip:"TLS Client Auth"},TLSAuthWithCACert:{label:"With CA Cert",tooltip:"Needed for verifying self-signed TLS Certs"},TLSCACert:{label:"CA Cert",placeholder:"CA Cert. Begins with -----BEGIN CERTIFICATE-----"},TLSClientCert:{label:"Client Cert",placeholder:"Client Cert. Begins with -----BEGIN CERTIFICATE-----"},TLSClientKey:{label:"Client Key",placeholder:"Client Key. Begins with -----BEGIN RSA PRIVATE KEY-----"},DefaultDatabase:{label:"Default database",placeholder:"Default database",tooltip:"Default database to be used. Can be empty."},Timeout:{label:"Dial Timeout (seconds)",placeholder:"10",tooltip:"Timeout in seconds for connection"},QueryTimeout:{label:"Query Timeout (seconds)",placeholder:"60",tooltip:"Timeout in seconds for read queries"},Secure:{label:"Secure Connection",tooltip:"Toggle on if the connection is secure"},Validate:{label:"Validate SQL",tooltip:"Validate Sql in the editor."}},QueryEditor:{CodeEditor:{input:()=>".monaco-editor textarea",container:"data-testid-code-editor-container",Expand:"data-testid-code-editor-expand-button"},Format:{label:"Format",tooltip:"Query Type",options:{AUTO:"Auto",TABLE:"Table",TIME_SERIES:"Time Series",LOGS:"Logs",TRACE:"Trace"}},Types:{label:"Query Type",tooltip:"Query Type",options:{SQLEditor:"SQL Editor",QueryBuilder:"Query Builder"},switcher:{title:"Are you sure?",body:"Queries that are too complex for the Query Builder will be altered.",confirmText:"Continue",dismissText:"Cancel"},cannotConvert:{title:"Cannot convert",confirmText:"Yes"}},QueryBuilder:{TYPES:{label:"Show as",tooltip:"Show as",options:{LIST:"Table",AGGREGATE:"Aggregate",TREND:"Time Series"}},DATABASE:{label:"Database",tooltip:"Clickhouse database to query from"},FROM:{label:"Table",tooltip:"Clickhouse table to query from"},SELECT:{label:"Fields",tooltipTable:"List of fields to show",tooltipAggregate:"List of metrics to show. Use any of the given aggregation along with the field",ALIAS:{label:"as",tooltip:"alias"},AddLabel:"Field",RemoveLabel:""},AGGREGATES:{label:"Aggregates",tooltipTable:"Aggregate functions to use",tooltipAggregate:"Aggregate functions to use",ALIAS:{label:"as",tooltip:"alias"},AddLabel:"Aggregate",RemoveLabel:""},WHERE:{label:"Filters",tooltip:"List of filters",AddLabel:"Filter",RemoveLabel:""},GROUP_BY:{label:"Group by",tooltip:"Group the results by specific field"},ORDER_BY:{label:"Order by",tooltip:"Order by field",AddLabel:"Order by",RemoveLabel:""},LIMIT:{label:"Limit",tooltip:"Number of records/results to show."},TIME_FIELD:{label:"Time field",tooltip:"Select the time field for trending over time"},LOGS_VOLUME_TIME_FIELD:{label:"Time field",tooltip:"Select the time field for logs volume histogram. If not selected, the histogram will not be shown"},LOG_LEVEL_FIELD:{label:"Log level field",tooltip:"Select the field to extract log level information from"},PREVIEW:{label:"SQL Preview",tooltip:"SQL Preview. You can safely switch to SQL Editor to customize the generated query"}}}},ge={components:ve};function Ae(e,s,t){return s in e?Object.defineProperty(e,s,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[s]=t,e}function Ee(e){for(var s=1;s(()=>{var l={7799:function(e,t){var s,r=function(){var e=function(e,t,s,r){for(s=s||{},r=e.length;r--;s[e[r]]=t);return s},t=[1,8],s=[1,4],r=[2,4],a=[1,11],n=[1,10],o=[2,16],l=[1,14],i=[1,15],c=[1,16],p=[6,8],m=[2,146],u=[1,19],b=[1,20],y=[16,33,35,36,37,38,39,40,41,42,45,46,50,51,54,55,57,58,60,76,79,81,82,83,84,86,87,88,101,195],d=[16,18,32,33,35,36,37,38,39,40,41,42,45,46,50,51,54,55,57,58,60,76,79,81,82,83,84,86,87,88,101,195],$=[2,160],_=[1,29],h=[6,8,14,17,146,150,152,154],f=[1,42],w=[1,60],x=[1,52],g=[1,59],v=[1,61],k=[1,62],E=[1,63],T=[1,64],A=[1,65],O=[1,58],C=[1,53],S=[1,54],I=[1,55],N=[1,56],L=[1,57],R=[1,43],D=[1,44],q=[1,45],j=[1,34],P=[1,66],B=[16,35,36,37,38,39,40,41,42,45,46,50,51,54,55,57,58,60,76,79,81,82,83,84,86,87,88,101,195],M=[6,8,14,17,150,152,154],F=[2,143],U=[1,75],H=[1,76],G=[6,8,14,17,43,133,138,144,146,150,152,154],V=[1,81],z=[1,78],Q=[1,79],K=[1,80],W=[1,82],Y=[6,8,14,17,36,43,49,50,51,71,72,74,77,89,107,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],X=[6,8,14,17,34,36,43,49,50,51,71,72,74,77,89,107,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],J=[1,103],Z=[1,101],ee=[1,102],te=[1,97],se=[1,98],re=[1,99],ae=[1,100],ne=[1,104],oe=[1,105],le=[1,106],ie=[1,107],ce=[1,108],pe=[1,109],me=[2,103],ue=[6,8,14,17,34,36,43,45,49,50,51,71,72,74,77,79,81,89,91,92,93,94,95,96,97,98,99,101,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],be=[6,8,14,17,34,36,43,45,49,50,51,71,72,74,77,79,81,89,91,92,93,94,95,96,97,98,99,101,103,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],ye=[1,110],de=[1,117],$e=[2,64],_e=[1,118],he=[16,35,37,38,39,40,41,42,45,46,50,51,54,55,57,58,60,76,79,81,82,83,84,86,87,88,101,195],fe=[16,29,35,50,51,54,55,57,58,60,76,79,81,82,83,84,86,87,88,119,195],we=[1,164],xe=[17,43],ge=[2,59],ve=[1,173],ke=[1,171],Ee=[1,172],Te=[6,8,138,146],Ae=[16,35,38,39,40,41,42,45,46,50,51,54,55,57,58,60,76,79,81,82,83,84,86,87,88,101,195],Oe=[6,8,14,17,138,144,146,150,152,154],Ce=[6,8,14,17,36,43,49,50,51,71,72,74,77,89,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],Se=[6,8,14,17,34,36,43,49,50,51,71,72,74,77,89,91,92,93,94,99,101,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],Ie=[6,8,14,17,34,36,43,49,50,51,71,72,74,77,79,81,89,91,92,93,94,99,101,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],Ne=[16,35,39,40,41,42,45,46,50,51,54,55,57,58,60,76,79,81,82,83,84,86,87,88,101,195],Le=[16,35,40,41,42,45,46,50,51,54,55,57,58,60,76,79,81,82,83,84,86,87,88,101,195],Re=[16,35,42,45,46,50,51,54,55,57,58,60,76,79,81,82,83,84,86,87,88,101,195],De=[71,74,77],qe=[16,35,45,46,50,51,54,55,57,58,60,76,79,81,82,83,84,86,87,88,101,195],je=[1,233],Pe=[1,234],Be=[6,8,14,17],Me=[6,8,14,17,43,157],Fe=[1,251],Ue=[1,247],He=[2,197],Ge=[1,255],Ve=[1,256],ze=[6,8,14,17,43,129,135,138,144,146,150,152,154,182],Qe=[1,258],Ke=[1,261],We=[1,262],Ye=[1,263],Xe=[1,264],Je=[2,174],Ze=[1,260],et=[6,8,14,17,36,43,89,129,135,138,144,146,150,152,154,164,165,167,168,173,177,179,180,182],tt=[6,8,14,17,135,138,144,146,150,152,154],st=[1,276],rt=[2,179],at=[170,173],nt=[6,8,14,17,36,43,89,129,135,138,144,146,150,152,154,164,165,167,168,173,177,179,180,182,192,193,194],ot=[2,199],lt=[1,281],it=[1,293],ct=[1,301],pt=[1,302],mt=[1,303],ut=[6,8,14,17,138,146,150,152,154],bt=[1,313],yt=[1,319],dt=[1,320],$t=[2,204],_t=[1,331],ht=[16,152],ft=[6,8,14,17,152,154],wt=[1,347],xt={trace:function(){},yy:{},symbols_:{error:2,main:3,selectClause:4,semicolonOpt:5,EOF:6,unionClause:7,";":8,unionClauseNotParenthesized:9,unionClauseParenthesized:10,order_by_opt:11,limit_opt:12,selectClauseParenthesized:13,UNION:14,distinctOpt:15,"(":16,")":17,SELECT:18,highPriorityOpt:19,maxStateMentTimeOpt:20,straightJoinOpt:21,sqlSmallResultOpt:22,sqlBigResultOpt:23,sqlBufferResultOpt:24,sqlCacheOpt:25,sqlCalcFoundRowsOpt:26,selectExprList:27,selectDataSetOpt:28,ALL:29,DISTINCT:30,DISTINCTROW:31,HIGH_PRIORITY:32,MAX_STATEMENT_TIME:33,"=":34,NUMERIC:35,STRAIGHT_JOIN:36,SQL_SMALL_RESULT:37,SQL_BIG_RESULT:38,SQL_BUFFER_RESULT:39,SQL_CACHE:40,SQL_NO_CACHE:41,SQL_CALC_FOUND_ROWS:42,",":43,selectExpr:44,"*":45,SELECT_EXPR_STAR:46,expr:47,selectExprAliasOpt:48,AS:49,IDENTIFIER:50,STRING:51,string:52,number:53,EXPONENT_NUMERIC:54,HEX_NUMERIC:55,boolean:56,TRUE:57,FALSE:58,null:59,NULL:60,literal:61,place_holder:62,function_call:63,function_call_param_list:64,function_call_param:65,identifier:66,DOT:67,identifier_list:68,case_expr_opt:69,when_then_list:70,WHEN:71,THEN:72,case_when_else:73,ELSE:74,case_when:75,CASE:76,END:77,simple_expr_prefix:78,"+":79,simple_expr:80,"-":81,"~":82,"!":83,BINARY:84,expr_list:85,ROW:86,EXISTS:87,"{":88,"}":89,bit_expr:90,"|":91,"&":92,"<<":93,">>":94,"/":95,DIV:96,MOD:97,"%":98,"^":99,not_opt:100,NOT:101,escape_opt:102,ESCAPE:103,predicate:104,IN:105,BETWEEN:106,AND:107,SOUNDS:108,LIKE:109,REGEXP:110,comparison_operator:111,">=":112,">":113,"<=":114,"<":115,"<>":116,"!=":117,sub_query_data_set_opt:118,ANY:119,boolean_primary:120,IS:121,boolean_extra:122,UNKNOWN:123,"&&":124,"||":125,OR:126,XOR:127,where_opt:128,WHERE:129,group_by_opt:130,group_by:131,roll_up_opt:132,WITH:133,ROLLUP:134,GROUP_BY:135,group_by_order_by_item_list:136,order_by:137,ORDER_BY:138,group_by_order_by_item:139,sort_opt:140,ASC:141,DESC:142,having_opt:143,HAVING:144,limit:145,LIMIT:146,OFFSET:147,procedure_opt:148,procedure:149,PROCEDURE:150,for_update_lock_in_share_mode_opt:151,FOR:152,UPDATE:153,LOCK:154,SHARE:155,MODE:156,FROM:157,table_references:158,partitionOpt:159,escaped_table_reference:160,table_reference:161,OJ:162,join_inner_cross:163,INNER:164,CROSS:165,left_right:166,LEFT:167,RIGHT:168,out_opt:169,OUTER:170,left_right_out_opt:171,join_table:172,JOIN:173,table_factor:174,join_condition:175,on_join_condition:176,NATURAL:177,join_condition_opt:178,ON:179,USING:180,partition_names:181,PARTITION:182,aliasOpt:183,index_or_key:184,INDEX:185,KEY:186,for_opt:187,identifier_list_opt:188,index_hint_list_opt:189,index_hint_list:190,index_hint:191,USE:192,IGNORE:193,FORCE:194,PLACE_HOLDER:195,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:";",14:"UNION",16:"(",17:")",18:"SELECT",29:"ALL",30:"DISTINCT",31:"DISTINCTROW",32:"HIGH_PRIORITY",33:"MAX_STATEMENT_TIME",34:"=",35:"NUMERIC",36:"STRAIGHT_JOIN",37:"SQL_SMALL_RESULT",38:"SQL_BIG_RESULT",39:"SQL_BUFFER_RESULT",40:"SQL_CACHE",41:"SQL_NO_CACHE",42:"SQL_CALC_FOUND_ROWS",43:",",45:"*",46:"SELECT_EXPR_STAR",49:"AS",50:"IDENTIFIER",51:"STRING",54:"EXPONENT_NUMERIC",55:"HEX_NUMERIC",57:"TRUE",58:"FALSE",60:"NULL",67:"DOT",71:"WHEN",72:"THEN",74:"ELSE",76:"CASE",77:"END",79:"+",81:"-",82:"~",83:"!",84:"BINARY",86:"ROW",87:"EXISTS",88:"{",89:"}",91:"|",92:"&",93:"<<",94:">>",95:"/",96:"DIV",97:"MOD",98:"%",99:"^",101:"NOT",103:"ESCAPE",105:"IN",106:"BETWEEN",107:"AND",108:"SOUNDS",109:"LIKE",110:"REGEXP",112:">=",113:">",114:"<=",115:"<",116:"<>",117:"!=",119:"ANY",121:"IS",123:"UNKNOWN",124:"&&",125:"||",126:"OR",127:"XOR",129:"WHERE",133:"WITH",134:"ROLLUP",135:"GROUP_BY",138:"ORDER_BY",141:"ASC",142:"DESC",144:"HAVING",146:"LIMIT",147:"OFFSET",150:"PROCEDURE",152:"FOR",153:"UPDATE",154:"LOCK",155:"SHARE",156:"MODE",157:"FROM",162:"OJ",164:"INNER",165:"CROSS",167:"LEFT",168:"RIGHT",170:"OUTER",173:"JOIN",177:"NATURAL",179:"ON",180:"USING",182:"PARTITION",185:"INDEX",186:"KEY",192:"USE",193:"IGNORE",194:"FORCE",195:"PLACE_HOLDER"},productions_:[0,[3,3],[3,3],[5,1],[5,0],[7,1],[7,3],[10,4],[10,4],[13,3],[9,4],[9,4],[4,12],[15,1],[15,1],[15,1],[15,0],[19,1],[19,0],[20,3],[20,0],[21,1],[21,0],[22,1],[22,0],[23,1],[23,0],[24,1],[24,0],[25,0],[25,1],[25,1],[26,1],[26,0],[27,3],[27,1],[44,1],[44,1],[44,2],[48,0],[48,2],[48,1],[48,2],[48,1],[52,1],[53,1],[53,1],[53,1],[56,1],[56,1],[59,1],[61,1],[61,1],[61,1],[61,1],[61,1],[63,4],[64,3],[64,1],[65,0],[65,1],[65,1],[65,2],[65,1],[66,1],[66,3],[68,1],[68,3],[69,0],[69,1],[70,4],[70,5],[73,0],[73,2],[75,5],[78,2],[78,2],[78,2],[78,2],[78,2],[80,1],[80,1],[80,1],[80,1],[80,3],[80,4],[80,3],[80,4],[80,4],[80,1],[90,1],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[100,0],[100,1],[102,0],[102,2],[104,1],[104,6],[104,6],[104,6],[104,4],[104,5],[104,4],[111,1],[111,1],[111,1],[111,1],[111,1],[111,1],[111,1],[118,1],[118,1],[120,1],[120,4],[120,3],[120,6],[122,1],[122,1],[47,1],[47,4],[47,2],[47,3],[47,3],[47,3],[47,3],[47,3],[85,1],[85,3],[128,0],[128,2],[130,0],[130,1],[132,0],[132,2],[131,3],[11,0],[11,1],[137,3],[136,1],[136,3],[139,2],[140,0],[140,1],[140,1],[143,0],[143,2],[145,2],[145,4],[145,4],[12,0],[12,1],[148,0],[148,1],[149,2],[151,0],[151,2],[151,4],[28,0],[28,10],[158,1],[158,3],[160,1],[160,4],[163,0],[163,1],[163,1],[166,1],[166,1],[169,0],[169,1],[171,0],[171,2],[172,4],[172,5],[172,4],[172,6],[172,5],[178,0],[178,1],[176,2],[175,1],[175,4],[161,1],[161,1],[181,1],[181,3],[159,0],[159,4],[183,0],[183,2],[183,1],[184,1],[184,1],[187,0],[187,2],[187,2],[187,2],[188,0],[188,1],[189,0],[189,1],[190,1],[190,3],[191,6],[191,6],[191,6],[174,4],[174,4],[174,3],[62,1]],performAction:function(e,t,s,r,a,n,o){var l=n.length-1;switch(a){case 1:case 2:return{nodeType:"Main",value:n[l-2],hasSemicolon:n[l-1]};case 3:case 144:this.$=!0;break;case 4:this.$=!1;break;case 5:case 13:case 14:case 15:case 17:case 19:case 21:case 23:case 25:case 27:case 30:case 31:case 32:case 51:case 52:case 53:case 54:case 55:case 60:case 61:case 63:case 69:case 73:case 80:case 81:case 82:case 83:case 89:case 90:case 104:case 106:case 107:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:case 123:case 127:case 129:case 140:case 142:case 147:case 153:case 154:case 156:case 161:case 163:case 164:case 175:case 176:case 177:case 178:case 180:case 189:case 191:case 193:case 194:case 202:case 203:case 209:case 211:this.$=n[l];break;case 6:this.$=n[l-2],this.$.orderBy=n[l-1],this.$.limit=n[l];break;case 7:case 8:case 10:case 11:this.$={type:"Union",left:n[l-3],distinctOpt:n[l-1],right:n[l]};break;case 9:this.$={type:"SelectParenthesized",value:n[l-1]};break;case 12:this.$={type:"Select",distinctOpt:n[l-10],highPriorityOpt:n[l-9],maxStateMentTimeOpt:n[l-8],straightJoinOpt:n[l-7],sqlSmallResultOpt:n[l-6],sqlBigResultOpt:n[l-5],sqlBufferResultOpt:n[l-4],sqlCacheOpt:n[l-3],sqlCalcFoundRowsOpt:n[l-2],selectItems:n[l-1],from:n[l].from,partition:n[l].partition,where:n[l].where,groupBy:n[l].groupBy,having:n[l].having,orderBy:n[l].orderBy,limit:n[l].limit,procedure:n[l].procedure,updateLockMode:n[l].updateLockMode};break;case 16:case 18:case 20:case 22:case 24:case 26:case 28:case 29:case 33:case 59:case 68:case 72:case 103:case 105:case 139:case 141:case 143:case 146:case 152:case 155:case 160:case 162:case 165:case 174:case 179:case 188:case 197:case 204:case 208:case 210:this.$=null;break;case 34:n[l-2].value.push(n[l]);break;case 35:this.$={type:"SelectExpr",value:[n[l]]};break;case 36:case 37:case 64:this.$={type:"Identifier",value:n[l]};break;case 38:this.$=n[l-1],this.$.alias=n[l].alias,this.$.hasAs=n[l].hasAs;break;case 39:case 199:this.$={alias:null,hasAs:null};break;case 40:case 42:this.$={alias:n[l],hasAs:!0};break;case 41:this.$={alias:n[l],hasAs:!1};break;case 43:this.$={alias:n[$01],hasAs:!1};break;case 44:this.$={type:"String",value:n[l]};break;case 45:case 46:case 47:this.$={type:"Number",value:n[l]};break;case 48:this.$={type:"Boolean",value:"TRUE"};break;case 49:this.$={type:"Boolean",value:"FALSE"};break;case 50:this.$={type:"Null",value:"null"};break;case 56:this.$={type:"FunctionCall",name:n[l-3],params:n[l-1]};break;case 57:n[l-2].push(n[l]),this.$=n[l-2];break;case 58:case 149:case 195:this.$=[n[l]];break;case 62:this.$={type:"FunctionCallParam",distinctOpt:n[l-1],value:n[l]};break;case 65:this.$=n[l-2],n[l-2].value+="."+n[l];break;case 66:this.$={type:"IdentifierList",value:[n[l]]};break;case 67:case 171:this.$=n[l-2],n[l-2].value.push(n[l]);break;case 70:this.$={type:"WhenThenList",value:[{when:n[l-2],then:n[l]}]};break;case 71:this.$=n[l-4],this.$.value.push({when:n[l-2],then:n[l]});break;case 74:this.$={type:"CaseWhen",caseExprOpt:n[l-3],whenThenList:n[l-2],else:n[l-1]};break;case 75:case 76:case 77:case 78:case 79:this.$={type:"Prefix",prefix:n[l-1],value:n[l]};break;case 84:this.$={type:"SimpleExprParentheses",value:n[l-1]};break;case 85:this.$={type:"SimpleExprParentheses",value:n[l-2],hasRow:!0};break;case 86:this.$={type:"SubQuery",value:n[l-1]};break;case 87:this.$={type:"SubQuery",value:n[l-1],hasExists:!0};break;case 88:this.$={type:"IdentifierExpr",identifier:n[l-2],value:n[l-1]};break;case 91:this.$={type:"BitExpression",operator:"|",left:n[l-2],right:n[l]};break;case 92:this.$={type:"BitExpression",operator:"&",left:n[l-2],right:n[l]};break;case 93:this.$={type:"BitExpression",operator:"<<",left:n[l-2],right:n[l]};break;case 94:this.$={type:"BitExpression",operator:">>",left:n[l-2],right:n[l]};break;case 95:this.$={type:"BitExpression",operator:"+",left:n[l-2],right:n[l]};break;case 96:this.$={type:"BitExpression",operator:"-",left:n[l-2],right:n[l]};break;case 97:this.$={type:"BitExpression",operator:"*",left:n[l-2],right:n[l]};break;case 98:this.$={type:"BitExpression",operator:"/",left:n[l-2],right:n[l]};break;case 99:this.$={type:"BitExpression",operator:"DIV",left:n[l-2],right:n[l]};break;case 100:this.$={type:"BitExpression",operator:"MOD",left:n[l-2],right:n[l]};break;case 101:this.$={type:"BitExpression",operator:"%",left:n[l-2],right:n[l]};break;case 102:this.$={type:"BitExpression",operator:"^",left:n[l-2],right:n[l]};break;case 108:this.$={type:"InSubQueryPredicate",hasNot:n[l-4],left:n[l-5],right:n[l-1]};break;case 109:this.$={type:"InExpressionListPredicate",hasNot:n[l-4],left:n[l-5],right:n[l-1]};break;case 110:this.$={type:"BetweenPredicate",hasNot:n[l-4],left:n[l-5],right:{left:n[l-2],right:n[l]}};break;case 111:this.$={type:"SoundsLikePredicate",hasNot:!1,left:n[l-3],right:n[l]};break;case 112:this.$={type:"LikePredicate",hasNot:n[l-3],left:n[l-4],right:n[l-1],escape:n[l]};break;case 113:this.$={type:"RegexpPredicate",hasNot:n[l-2],left:n[l-3],right:n[l]};break;case 124:this.$={type:"IsNullBooleanPrimary",hasNot:n[l-1],value:n[l-3]};break;case 125:this.$={type:"ComparisonBooleanPrimary",left:n[l-2],operator:n[l-1],right:n[l]};break;case 126:this.$={type:"ComparisonSubQueryBooleanPrimary",operator:n[l-4],subQueryOpt:n[l-3],left:n[l-5],right:n[l-1]};break;case 128:this.$={type:"BooleanExtra",value:n[l]};break;case 130:this.$={type:"IsExpression",hasNot:n[l-1],left:n[l-3],right:n[l]};break;case 131:this.$={type:"NotExpression",value:n[l]};break;case 132:case 135:this.$={type:"AndExpression",operator:n[l-1],left:n[l-2],right:n[l]};break;case 133:case 134:this.$={type:"OrExpression",operator:n[l-1],left:n[l-2],right:n[l]};break;case 136:this.$={type:"XORExpression",left:n[l-2],right:n[l]};break;case 137:this.$={type:"ExpressionList",value:[n[l]]};break;case 138:case 213:this.$=n[l-2],this.$.value.push(n[l]);break;case 145:this.$={type:"GroupBy",value:n[l-1],rollUp:n[l]};break;case 148:this.$={type:"OrderBy",value:n[l-1],rollUp:n[l]};break;case 150:case 196:this.$=n[l-2],n[l-2].push(n[l]);break;case 151:this.$={type:"GroupByOrderByItem",value:n[l-1],sortOpt:n[l]};break;case 157:this.$={type:"Limit",value:[n[l]]};break;case 158:this.$={type:"Limit",value:[n[l-2],n[l]]};break;case 159:this.$={type:"Limit",value:[n[l],n[l-2]],offsetMode:!0};break;case 166:this.$=n[l-1]+" "+n[l];break;case 167:this.$=n[l-3]+" "+n[l-2]+" "+n[l-1]+" "+n[l];break;case 168:this.$={};break;case 169:this.$={from:n[l-8],partition:n[l-7],where:n[l-6],groupBy:n[l-5],having:n[l-4],orderBy:n[l-3],limit:n[l-2],procedure:n[l-1],updateLockMode:n[l]};break;case 170:this.$={type:"TableReferences",value:[n[l]]};break;case 172:this.$={type:"TableReference",value:n[l]};break;case 173:this.$={type:"TableReference",hasOj:!0,value:n[l-1]};break;case 181:this.$={leftRight:null,outOpt:null};break;case 182:this.$={leftRight:n[l-1],outOpt:n[l]};break;case 183:this.$={type:"InnerCrossJoinTable",innerCrossOpt:n[l-2],left:n[l-3],right:n[l],condition:null};break;case 184:this.$={type:"InnerCrossJoinTable",innerCrossOpt:n[l-3],left:n[l-4],right:n[l-1],condition:n[l]};break;case 185:this.$={type:"StraightJoinTable",left:n[l-3],right:n[l-1],condition:n[l]};break;case 186:this.$={type:"LeftRightJoinTable",leftRight:n[l-4],outOpt:n[l-3],left:n[l-5],right:n[l-1],condition:n[l]};break;case 187:this.$={type:"NaturalJoinTable",leftRight:n[l-2].leftRight,outOpt:n[l-2].outOpt,left:n[l-4],right:n[l]};break;case 190:this.$={type:"OnJoinCondition",value:n[l]};break;case 192:this.$={type:"UsingJoinCondition",value:n[l-1]};break;case 198:this.$={type:"Partitions",value:n[l-1]};break;case 200:this.$={hasAs:!0,alias:n[l]};break;case 201:this.$={hasAs:!1,alias:n[l]};break;case 205:case 206:case 207:this.$={type:"ForOptIndexHint",value:n[l]};break;case 212:this.$={type:"IndexHintList",value:[n[l]]};break;case 214:this.$={type:"UseIndexHint",value:n[l-1],forOpt:n[l-3],indexOrKey:n[l-4]};break;case 215:this.$={type:"IgnoreIndexHint",value:n[l-1],forOpt:n[l-3],indexOrKey:n[l-4]};break;case 216:this.$={type:"ForceIndexHint",value:n[l-1],forOpt:n[l-3],indexOrKey:n[l-4]};break;case 217:this.$={type:"TableFactor",value:n[l-3],partition:n[l-2],alias:n[l-1].alias,hasAs:n[l-1].hasAs,indexHintOpt:n[l]};break;case 218:this.$={type:"TableFactor",value:{type:"SubQuery",value:n[l-2]},alias:n[l].alias,hasAs:n[l].hasAs};break;case 219:this.$=n[l-1],this.$.hasParentheses=!0;break;case 220:this.$={type:"PlaceHolder",value:n[l],param:n[l].slice(2,-1)}}},table:[{3:1,4:2,7:3,9:5,10:6,13:7,16:t,18:s},{1:[3]},{5:9,6:r,8:a,14:n},{5:12,6:r,8:a},e([16,32,33,35,36,37,38,39,40,41,42,45,46,50,51,54,55,57,58,60,76,79,81,82,83,84,86,87,88,101,195],o,{15:13,29:l,30:i,31:c}),e(p,[2,5]),e([6,8,146],m,{11:17,137:18,138:u}),{14:b},{4:21,18:s},{6:[1,22]},{15:23,18:o,29:l,30:i,31:c},{6:[2,3]},{6:[1,24]},e(y,[2,18],{19:25,32:[1,26]}),e(d,[2,13]),e(d,[2,14]),e(d,[2,15]),e(p,$,{12:27,145:28,146:_}),e(h,[2,147]),{16:f,35:w,47:32,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,136:30,139:31,195:P},{15:67,16:o,29:l,30:i,31:c},{17:[1,68]},{1:[2,1]},{4:69,9:70,18:s},{1:[2,2]},e(B,[2,20],{20:71,33:[1,72]}),e(y,[2,17]),e(p,[2,6]),e(M,[2,161]),{35:[1,73]},e(h,F,{132:74,43:U,133:H}),e(G,[2,149]),e(G,[2,152],{140:77,107:V,124:z,125:Q,126:K,127:W,141:[1,83],142:[1,84]}),e(Y,[2,129],{111:86,34:[1,87],112:[1,88],113:[1,89],114:[1,90],115:[1,91],116:[1,92],117:[1,93],121:[1,85]}),{16:f,35:w,47:94,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},e(X,[2,123]),e(X,[2,107],{100:95,45:J,79:Z,81:ee,91:te,92:se,93:re,94:ae,95:ne,96:oe,97:le,98:ie,99:ce,101:pe,105:me,106:me,109:me,110:me,108:[1,96]}),e(ue,[2,90]),e(be,[2,80]),e(be,[2,81],{67:ye}),e(be,[2,82]),e(be,[2,83]),{4:112,16:f,18:s,35:w,47:113,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,85:111,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},{16:[1,114]},{16:[1,115]},{50:de,66:116},e(be,[2,89]),e(be,[2,51]),e(be,[2,52]),e(be,[2,53]),e(be,[2,54]),e(be,[2,55]),e([6,8,14,17,34,36,43,45,49,50,51,67,71,72,74,77,79,81,89,91,92,93,94,95,96,97,98,99,101,103,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],$e,{16:_e}),{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:119,81:S,82:I,83:N,84:L,86:R,87:D,88:q,195:P},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:120,81:S,82:I,83:N,84:L,86:R,87:D,88:q,195:P},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:121,81:S,82:I,83:N,84:L,86:R,87:D,88:q,195:P},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:122,81:S,82:I,83:N,84:L,86:R,87:D,88:q,195:P},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:123,81:S,82:I,83:N,84:L,86:R,87:D,88:q,195:P},{16:f,35:w,47:125,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,69:124,71:[2,68],75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},e(be,[2,44]),e(be,[2,45]),e(be,[2,46]),e(be,[2,47]),e(be,[2,48]),e(be,[2,49]),e(be,[2,50]),e(be,[2,220]),{10:127,13:126,16:t},e([6,8,14,138,146],[2,9]),e(p,[2,10],{14:n}),e(p,[2,11]),e(he,[2,22],{21:128,36:[1,129]}),{34:[1,130]},e(M,[2,157],{43:[1,131],147:[1,132]}),e(h,[2,148]),{16:f,35:w,47:32,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,139:133,195:P},{134:[1,134]},e(G,[2,151]),{16:f,35:w,47:135,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},{16:f,35:w,47:136,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},{16:f,35:w,47:137,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},{16:f,35:w,47:138,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},{16:f,35:w,47:139,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},e(G,[2,153]),e(G,[2,154]),e([57,58,60,123],me,{100:140,101:pe}),{16:f,29:[1,143],35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,104:141,118:142,119:[1,144],195:P},e(fe,[2,114]),e(fe,[2,115]),e(fe,[2,116]),e(fe,[2,117]),e(fe,[2,118]),e(fe,[2,119]),e(fe,[2,120]),e(Y,[2,131]),{105:[1,145],106:[1,146],109:[1,147],110:[1,148]},{109:[1,149]},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:150,195:P},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:151,195:P},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:152,195:P},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:153,195:P},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:154,195:P},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:155,195:P},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:156,195:P},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:157,195:P},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:158,195:P},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:159,195:P},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:160,195:P},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:161,195:P},e([57,58,60,105,106,109,110,123],[2,104]),{50:[1,162]},{17:[1,163],43:we},{17:[1,165]},e(xe,[2,137],{107:V,124:z,125:Q,126:K,127:W}),{16:f,35:w,47:113,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,85:166,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},{4:167,18:s},{16:f,35:w,47:168,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,67:ye,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},e([6,8,14,16,17,35,36,43,49,50,51,54,55,57,58,60,67,76,79,81,82,83,84,86,87,88,89,101,129,135,138,144,146,150,152,154,164,165,167,168,173,177,179,180,182,192,193,194,195],$e),e(xe,ge,{120:33,104:35,90:36,80:37,61:38,66:39,63:40,78:41,75:46,52:47,53:48,56:49,59:50,62:51,64:169,65:170,47:174,16:f,30:ve,35:w,45:ke,46:Ee,50:x,51:g,54:v,55:k,57:E,58:T,60:A,76:O,79:C,81:S,82:I,83:N,84:L,86:R,87:D,88:q,101:j,195:P}),e(be,[2,75]),e(be,[2,76]),e(be,[2,77]),e(be,[2,78]),e(be,[2,79]),{70:175,71:[1,176]},{71:[2,69],107:V,124:z,125:Q,126:K,127:W},e(Te,[2,7],{14:b}),e(Te,[2,8]),e(Ae,[2,24],{22:177,37:[1,178]}),e(he,[2,21]),{35:[1,179]},{35:[1,180]},{35:[1,181]},e(G,[2,150]),e(Oe,[2,144]),e(Y,[2,132]),e(Ce,[2,133],{107:V,124:z}),e(Ce,[2,134],{107:V,124:z}),e(Y,[2,135]),e(Ce,[2,136],{107:V,124:z}),{56:184,57:E,58:T,60:[1,183],122:182,123:[1,185]},e(X,[2,125]),{16:[1,186]},{16:[2,121]},{16:[2,122]},{16:[1,187]},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:188,195:P},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:189,81:S,82:I,83:N,84:L,86:R,87:D,88:q,195:P},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:190,195:P},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:191,195:P},e([6,8,14,17,34,36,43,49,50,51,71,72,74,77,89,91,101,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],[2,91],{45:J,79:Z,81:ee,92:se,93:re,94:ae,95:ne,96:oe,97:le,98:ie,99:ce}),e([6,8,14,17,34,36,43,49,50,51,71,72,74,77,89,91,92,99,101,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],[2,92],{45:J,79:Z,81:ee,93:re,94:ae,95:ne,96:oe,97:le,98:ie}),e(Se,[2,93],{45:J,79:Z,81:ee,95:ne,96:oe,97:le,98:ie}),e(Se,[2,94],{45:J,79:Z,81:ee,95:ne,96:oe,97:le,98:ie}),e(Ie,[2,95],{45:J,95:ne,96:oe,97:le,98:ie}),e(Ie,[2,96],{45:J,95:ne,96:oe,97:le,98:ie}),e(ue,[2,97]),e(ue,[2,98]),e(ue,[2,99]),e(ue,[2,100]),e(ue,[2,101]),e([6,8,14,17,34,36,43,49,50,51,71,72,74,77,89,91,99,101,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],[2,102],{45:J,79:Z,81:ee,92:se,93:re,94:ae,95:ne,96:oe,97:le,98:ie}),e([6,8,14,16,17,34,35,36,43,45,49,50,51,54,55,57,58,60,67,71,72,74,76,77,79,81,82,83,84,86,87,88,89,91,92,93,94,95,96,97,98,99,101,103,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182,192,193,194,195],[2,65]),e(be,[2,84]),{16:f,35:w,47:192,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},e(be,[2,86]),{17:[1,193],43:we},{17:[1,194]},{89:[1,195],107:V,124:z,125:Q,126:K,127:W},{17:[1,196],43:[1,197]},e(xe,[2,58]),e(xe,[2,60]),e(xe,[2,61]),{16:f,35:w,47:198,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},e(xe,[2,63],{107:V,124:z,125:Q,126:K,127:W}),{71:[1,200],73:199,74:[1,201],77:[2,72]},{16:f,35:w,47:202,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},e(Ne,[2,26],{23:203,38:[1,204]}),e(Ae,[2,23]),e(B,[2,19]),e(M,[2,158]),e(M,[2,159]),e(Y,[2,130]),e(X,[2,124]),e(Y,[2,127]),e(Y,[2,128]),{4:205,18:s},{4:206,16:f,18:s,35:w,47:113,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,85:207,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},{45:J,79:Z,81:ee,91:te,92:se,93:re,94:ae,95:ne,96:oe,97:le,98:ie,99:ce,107:[1,208]},e(X,[2,105],{102:209,103:[1,210]}),e(X,[2,113],{45:J,79:Z,81:ee,91:te,92:se,93:re,94:ae,95:ne,96:oe,97:le,98:ie,99:ce}),e(X,[2,111],{45:J,79:Z,81:ee,91:te,92:se,93:re,94:ae,95:ne,96:oe,97:le,98:ie,99:ce}),e(xe,[2,138],{107:V,124:z,125:Q,126:K,127:W}),e(be,[2,85]),e(be,[2,87]),e(be,[2,88]),e(be,[2,56]),e(xe,ge,{120:33,104:35,90:36,80:37,61:38,66:39,63:40,78:41,75:46,52:47,53:48,56:49,59:50,62:51,47:174,65:211,16:f,30:ve,35:w,45:ke,46:Ee,50:x,51:g,54:v,55:k,57:E,58:T,60:A,76:O,79:C,81:S,82:I,83:N,84:L,86:R,87:D,88:q,101:j,195:P}),e(xe,[2,62],{107:V,124:z,125:Q,126:K,127:W}),{77:[1,212]},{16:f,35:w,47:213,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},{16:f,35:w,47:214,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},{72:[1,215],107:V,124:z,125:Q,126:K,127:W},e(Le,[2,28],{24:216,39:[1,217]}),e(Ne,[2,25]),{17:[1,218]},{17:[1,219]},{17:[1,220],43:we},{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,104:221,195:P},e(X,[2,112]),{16:f,35:w,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:222,81:S,82:I,83:N,84:L,86:R,87:D,88:q,195:P},e(xe,[2,57]),e(be,[2,74]),{72:[1,223],107:V,124:z,125:Q,126:K,127:W},{77:[2,73],107:V,124:z,125:Q,126:K,127:W},{16:f,35:w,47:224,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},e(Re,[2,29],{25:225,40:[1,226],41:[1,227]}),e(Le,[2,27]),e(X,[2,126]),e(X,[2,108]),e(X,[2,109]),e(X,[2,110]),e(X,[2,106]),{16:f,35:w,47:228,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},e(De,[2,70],{107:V,124:z,125:Q,126:K,127:W}),e(qe,[2,33],{26:229,42:[1,230]}),e(Re,[2,30]),e(Re,[2,31]),e(De,[2,71],{107:V,124:z,125:Q,126:K,127:W}),{16:f,27:231,35:w,44:232,45:je,46:Pe,47:235,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},e(qe,[2,32]),e(Be,[2,168],{28:236,43:[1,237],157:[1,238]}),e(Me,[2,35]),e(Me,[2,36]),e(Me,[2,37]),e(Me,[2,39],{48:239,49:[1,240],50:[1,241],51:[1,242],107:V,124:z,125:Q,126:K,127:W}),e(Be,[2,12]),{16:f,35:w,44:243,45:je,46:Pe,47:235,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},{16:Fe,50:de,66:250,88:Ue,158:244,160:245,161:246,172:249,174:248},e(Me,[2,38]),{50:[1,252],51:[1,253]},e(Me,[2,41]),e(Me,[2,43]),e(Me,[2,34]),e([6,8,14,17,129,135,138,144,146,150,152,154],He,{159:254,43:Ge,182:Ve}),e(ze,[2,170]),e(ze,[2,172],{163:257,166:259,36:Qe,164:Ke,165:We,167:Ye,168:Xe,173:Je,177:Ze}),{162:[1,265]},e(et,[2,193]),e(et,[2,194]),e([6,8,14,17,36,43,49,50,89,129,135,138,144,146,150,152,154,164,165,167,168,173,177,179,180,192,193,194],He,{159:266,67:ye,182:Ve}),{4:267,16:Fe,18:s,50:de,66:250,88:Ue,158:268,160:245,161:246,172:249,174:248},e(Me,[2,40]),e(Me,[2,42]),e(tt,[2,139],{128:269,129:[1,270]}),{16:Fe,50:de,66:250,88:Ue,160:271,161:246,172:249,174:248},{16:[1,272]},{173:[1,273]},{16:Fe,50:de,66:250,174:274},{169:275,170:st,173:rt},{166:278,167:Ye,168:Xe,171:277,173:[2,181]},{173:[2,175]},{173:[2,176]},e(at,[2,177]),e(at,[2,178]),{16:Fe,50:de,66:250,161:279,172:249,174:248},e(nt,ot,{183:280,66:282,49:lt,50:de}),{17:[1,283]},{17:[1,284],43:Ge},e(Oe,[2,141],{130:285,131:286,135:[1,287]}),{16:f,35:w,47:288,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},e(ze,[2,171]),{50:de,66:290,181:289},{16:Fe,50:de,66:250,174:291},{176:292,179:it},{173:[1,294]},{173:[2,180]},{173:[1,295]},{169:296,170:st,173:rt},{36:Qe,89:[1,297],163:257,164:Ke,165:We,166:259,167:Ye,168:Xe,173:Je,177:Ze},e(et,[2,210],{189:298,190:299,191:300,192:ct,193:pt,194:mt}),{50:de,66:304},e(nt,[2,201],{67:ye}),e(et,ot,{66:282,183:305,49:lt,50:de}),e(et,[2,219]),e(ut,[2,155],{143:306,144:[1,307]}),e(Oe,[2,142]),{16:f,35:w,47:32,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,136:308,139:31,195:P},e(tt,[2,140],{107:V,124:z,125:Q,126:K,127:W}),{17:[1,309],43:[1,310]},e(xe,[2,195],{67:ye}),e([6,8,14,17,36,43,89,129,135,138,144,146,150,152,154,164,165,167,168,173,177,182],[2,183],{175:311,176:312,179:it,180:bt}),e(et,[2,185]),{16:f,35:w,47:314,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},{16:Fe,50:de,66:250,161:315,172:249,174:248},{16:Fe,50:de,66:250,174:316},{173:[2,182]},e(ze,[2,173]),e(et,[2,217]),e(et,[2,211]),e(et,[2,212]),{184:318,185:yt,186:dt},{184:321,185:yt,186:dt},{184:322,185:yt,186:dt},e(nt,[2,200],{67:ye}),e(et,[2,218]),e(h,m,{137:18,11:323,138:u}),{16:f,35:w,47:324,50:x,51:g,52:47,53:48,54:v,55:k,56:49,57:E,58:T,59:50,60:A,61:38,62:51,63:40,66:39,75:46,76:O,78:41,79:C,80:37,81:S,82:I,83:N,84:L,86:R,87:D,88:q,90:36,101:j,104:35,120:33,195:P},e(Oe,F,{132:325,43:U,133:H}),e([6,8,14,17,36,43,49,50,89,129,135,138,144,146,150,152,154,164,165,167,168,173,177,179,180,182,192,193,194],[2,198]),{50:de,66:326},e(et,[2,184]),e(et,[2,191]),{16:[1,327]},e(et,[2,190],{107:V,124:z,125:Q,126:K,127:W}),{36:Qe,163:257,164:Ke,165:We,166:259,167:Ye,168:Xe,173:Je,175:328,176:312,177:Ze,179:it,180:bt},e(et,[2,187]),{191:329,192:ct,193:pt,194:mt},{16:$t,152:_t,187:330},e(ht,[2,202]),e(ht,[2,203]),{16:$t,152:_t,187:332},{16:$t,152:_t,187:333},e(M,$,{145:28,12:334,146:_}),e(ut,[2,156],{107:V,124:z,125:Q,126:K,127:W}),e(Oe,[2,145]),e(xe,[2,196],{67:ye}),{50:de,66:336,68:335},e(et,[2,186]),e(et,[2,213]),{16:[1,337]},{135:[1,340],138:[1,339],173:[1,338]},{16:[1,341]},{16:[1,342]},e(ft,[2,162],{148:343,149:344,150:[1,345]}),{17:[1,346],43:wt},e(xe,[2,66],{67:ye}),{17:[2,208],50:de,66:336,68:349,188:348},{16:[2,205]},{16:[2,206]},{16:[2,207]},{50:de,66:336,68:350},{50:de,66:336,68:351},e(Be,[2,165],{151:352,152:[1,353],154:[1,354]}),e(ft,[2,163]),{50:[1,356],63:355},e(et,[2,192]),{50:de,66:357},{17:[1,358]},{17:[2,209],43:wt},{17:[1,359],43:wt},{17:[1,360],43:wt},e(Be,[2,169]),{153:[1,361]},{105:[1,362]},e(ft,[2,164]),{16:_e},e(xe,[2,67],{67:ye}),e(et,[2,214]),e(et,[2,215]),e(et,[2,216]),e(Be,[2,166]),{155:[1,363]},{156:[1,364]},e(Be,[2,167])],defaultActions:{11:[2,3],22:[2,1],24:[2,2],143:[2,121],144:[2,122],261:[2,175],262:[2,176],276:[2,180],296:[2,182],338:[2,205],339:[2,206],340:[2,207]},parseError:function(e,t){if(!t.recoverable){var s=new Error(e);throw s.hash=t,s}this.trace(e)},parse:function(e){var t=this,s=[0],r=[null],a=[],n=this.table,o="",l=0,i=0,c=0,p=a.slice.call(arguments,1),m=Object.create(this.lexer),u={yy:{}};for(var b in this.yy)Object.prototype.hasOwnProperty.call(this.yy,b)&&(u.yy[b]=this.yy[b]);m.setInput(e,u.yy),u.yy.lexer=m,u.yy.parser=this,void 0===m.yylloc&&(m.yylloc={});var y=m.yylloc;a.push(y);var d,$=m.options&&m.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var _,h,f,w,x,g,v,k,E,T={};;){if(f=s[s.length-1],this.defaultActions[f]?w=this.defaultActions[f]:(null==_&&(d=void 0,"number"!=typeof(d=m.lex()||1)&&(d=t.symbols_[d]||d),_=d),w=n[f]&&n[f][_]),void 0===w||!w.length||!w[0]){var A;for(g in E=[],n[f])this.terminals_[g]&&g>2&&E.push("'"+this.terminals_[g]+"'");A=m.showPosition?"Parse error on line "+(l+1)+":\n"+m.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[_]||_)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==_?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(A,{text:m.match,token:this.terminals_[_]||_,line:m.yylineno,loc:y,expected:E})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+f+", token: "+_);switch(w[0]){case 1:s.push(_),r.push(m.yytext),a.push(m.yylloc),s.push(w[1]),_=null,h?(_=h,h=null):(i=m.yyleng,o=m.yytext,l=m.yylineno,y=m.yylloc,c>0&&c--);break;case 2:if(v=this.productions_[w[1]][1],T.$=r[r.length-v],T._$={first_line:a[a.length-(v||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(v||1)].first_column,last_column:a[a.length-1].last_column},$&&(T._$.range=[a[a.length-(v||1)].range[0],a[a.length-1].range[1]]),void 0!==(x=this.performAction.apply(T,[o,i,l,u.yy,w[1],r,a].concat(p))))return x;v&&(s=s.slice(0,-1*v*2),r=r.slice(0,-1*v),a=a.slice(0,-1*v)),s.push(this.productions_[w[1]][0]),r.push(T.$),a.push(T._$),k=n[s[s.length-2]][s[s.length-1]],s.push(k);break;case 3:return!0}}return!0}},gt={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,s=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===r.length?this.yylloc.first_column:0)+r[r.length-s.length].length-s[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var s,r,a;if(this.options.backtrack_lexer&&(a={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(a.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],s=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack){for(var n in a)this[n]=a[n];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,s,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var a=this._currentRules(),n=0;nt[0].length)){if(t=s,r=n,this.options.backtrack_lexer){if(!1!==(e=this.test_match(s,a[n])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,a[r]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,s,r){switch(s){case 0:case 1:case 2:case 3:break;case 4:return 195;case 5:case 6:case 7:case 115:case 119:return 50;case 8:return 18;case 9:return 29;case 10:return 119;case 11:return 30;case 12:return 31;case 13:return 32;case 14:return 33;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 46;case 23:return 49;case 24:return 57;case 25:return 58;case 26:return 60;case 27:return"COLLATE";case 28:return 84;case 29:return 86;case 30:return 87;case 31:return 76;case 32:return 71;case 33:return 72;case 34:return 74;case 35:return 77;case 36:return 96;case 37:return 97;case 38:return 101;case 39:return 106;case 40:return 105;case 41:return 108;case 42:return 109;case 43:return 103;case 44:return 110;case 45:return 121;case 46:return 123;case 47:return 107;case 48:return 126;case 49:return 127;case 50:return 157;case 51:return 182;case 52:return 192;case 53:return 185;case 54:return 186;case 55:return 152;case 56:return 173;case 57:return 138;case 58:return 135;case 59:return 193;case 60:return 194;case 61:return 164;case 62:return 165;case 63:return 179;case 64:return 180;case 65:return 167;case 66:return 168;case 67:return 170;case 68:return 177;case 69:return 129;case 70:return 141;case 71:return 142;case 72:return 133;case 73:return 134;case 74:return 144;case 75:return 147;case 76:return 150;case 77:return 153;case 78:return 154;case 79:return 155;case 80:return 156;case 81:return 162;case 82:return 146;case 83:return 14;case 84:return 43;case 85:return 34;case 86:return 16;case 87:return 17;case 88:return 82;case 89:return 117;case 90:return 83;case 91:return 91;case 92:return 92;case 93:return 79;case 94:return 81;case 95:return 45;case 96:return 95;case 97:return 98;case 98:return 99;case 99:return 94;case 100:return 112;case 101:return 113;case 102:return 93;case 103:return"<=>";case 104:return 114;case 105:return 116;case 106:return 115;case 107:return 88;case 108:return 89;case 109:return 8;case 110:case 111:case 117:case 118:return 51;case 112:return 55;case 113:return 35;case 114:return 54;case 116:return 67;case 120:return 6;case 121:return"INVALID"}},rules:[/^(?:[/][*](.|\n)*?[*][/])/i,/^(?:[-][-]\s.*\n)/i,/^(?:[#]\s.*\n)/i,/^(?:\s+)/i,/^(?:[$][{](.+?)[}])/i,/^(?:[`][a-zA-Z_\u4e00-\u9fa5][a-zA-Z0-9_\u4e00-\u9fa5]*[`])/i,/^(?:[\w]+[\u4e00-\u9fa5]+[0-9a-zA-Z_\u4e00-\u9fa5]*)/i,/^(?:[\u4e00-\u9fa5][0-9a-zA-Z_\u4e00-\u9fa5]*)/i,/^(?:SELECT\b)/i,/^(?:ALL\b)/i,/^(?:ANY\b)/i,/^(?:DISTINCT\b)/i,/^(?:DISTINCTROW\b)/i,/^(?:HIGH_PRIORITY\b)/i,/^(?:MAX_STATEMENT_TIME\b)/i,/^(?:STRAIGHT_JOIN\b)/i,/^(?:SQL_SMALL_RESULT\b)/i,/^(?:SQL_BIG_RESULT\b)/i,/^(?:SQL_BUFFER_RESULT\b)/i,/^(?:SQL_CACHE\b)/i,/^(?:SQL_NO_CACHE\b)/i,/^(?:SQL_CALC_FOUND_ROWS\b)/i,/^(?:([a-zA-Z_\u4e00-\u9fa5][a-zA-Z0-9_\u4e00-\u9fa5]*\.){1,2}\*)/i,/^(?:AS\b)/i,/^(?:TRUE\b)/i,/^(?:FALSE\b)/i,/^(?:NULL\b)/i,/^(?:COLLATE\b)/i,/^(?:BINARY\b)/i,/^(?:ROW\b)/i,/^(?:EXISTS\b)/i,/^(?:CASE\b)/i,/^(?:WHEN\b)/i,/^(?:THEN\b)/i,/^(?:ELSE\b)/i,/^(?:END\b)/i,/^(?:DIV\b)/i,/^(?:MOD\b)/i,/^(?:NOT\b)/i,/^(?:BETWEEN\b)/i,/^(?:IN\b)/i,/^(?:SOUNDS\b)/i,/^(?:LIKE\b)/i,/^(?:ESCAPE\b)/i,/^(?:REGEXP\b)/i,/^(?:IS\b)/i,/^(?:UNKNOWN\b)/i,/^(?:AND\b)/i,/^(?:OR\b)/i,/^(?:XOR\b)/i,/^(?:FROM\b)/i,/^(?:PARTITION\b)/i,/^(?:USE\b)/i,/^(?:INDEX\b)/i,/^(?:KEY\b)/i,/^(?:FOR\b)/i,/^(?:JOIN\b)/i,/^(?:ORDER\s+BY\b)/i,/^(?:GROUP\s+BY\b)/i,/^(?:IGNORE\b)/i,/^(?:FORCE\b)/i,/^(?:INNER\b)/i,/^(?:CROSS\b)/i,/^(?:ON\b)/i,/^(?:USING\b)/i,/^(?:LEFT\b)/i,/^(?:RIGHT\b)/i,/^(?:OUTER\b)/i,/^(?:NATURAL\b)/i,/^(?:WHERE\b)/i,/^(?:ASC\b)/i,/^(?:DESC\b)/i,/^(?:WITH\b)/i,/^(?:ROLLUP\b)/i,/^(?:HAVING\b)/i,/^(?:OFFSET\b)/i,/^(?:PROCEDURE\b)/i,/^(?:UPDATE\b)/i,/^(?:LOCK\b)/i,/^(?:SHARE\b)/i,/^(?:MODE\b)/i,/^(?:OJ\b)/i,/^(?:LIMIT\b)/i,/^(?:UNION\b)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\()/i,/^(?:\))/i,/^(?:~)/i,/^(?:!=)/i,/^(?:!)/i,/^(?:\|)/i,/^(?:&)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\*)/i,/^(?:\/)/i,/^(?:%)/i,/^(?:\^)/i,/^(?:>>)/i,/^(?:>=)/i,/^(?:>)/i,/^(?:<<)/i,/^(?:<=>)/i,/^(?:<=)/i,/^(?:<>)/i,/^(?:<)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:;)/i,/^(?:['](\\.|[^'])*['])/i,/^(?:["](\\.|[^"])*["])/i,/^(?:[0][x][0-9a-fA-F]+)/i,/^(?:[-]?[0-9]+(\.[0-9]+)?)/i,/^(?:[-]?[0-9]+(\.[0-9]+)?[eE][-][0-9]+(\.[0-9]+)?)/i,/^(?:[a-zA-Z_\u4e00-\u9fa5][a-zA-Z0-9_\u4e00-\u9fa5]*)/i,/^(?:\.)/i,/^(?:["][a-zA-Z_\u4e00-\u9fa5][a-zA-Z0-9_\u4e00-\u9fa5]*["])/i,/^(?:['][a-zA-Z_\u4e00-\u9fa5][a-zA-Z0-9_\u4e00-\u9fa5]*['])/i,/^(?:([`])(?:(?=(\\?))\2.)*?\1)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121],inclusive:!0}}};function vt(){this.yy={}}return xt.lexer=gt,vt.prototype=xt,xt.Parser=vt,new vt}();function a(){this.buffer=""}r||(r={}),r.stringify=function(e){var t=new a;return t.travelMain(e),t.buffer},a.prototype.travel=function(e){if(e){if("string"==typeof e)return this.append(e);this["travel"+e.type].call(this,e)}};var n=!1;a.prototype.appendKeyword=function(e,t,s){n&&(t=!0,n=!1),this.buffer+=t?e.toUpperCase():" "+e.toUpperCase(),s&&(n=!0)},a.prototype.append=function(e,t,s){n&&(t=!0,n=!1),this.buffer+=t?e:" "+e,s&&(n=!0)},a.prototype.travelMain=function(e){this.travel(e.value),e.hasSemicolon&&this.append(";",!0)},a.prototype.travelSelect=function(e){this.appendKeyword("select"),e.distinctOpt&&this.appendKeyword(e.distinctOpt),e.highPriorityOpt&&this.appendKeyword(e.highPriorityOpt),e.maxStateMentTimeOpt&&this.append("MAX_STATEMENT_TIME = "+e.maxStateMentTimeOpt),e.straightJoinOpt&&this.appendKeyword(e.straightJoinOpt),e.sqlSmallResultOpt&&this.appendKeyword(e.sqlSmallResultOpt),e.sqlBigResultOpt&&this.appendKeyword(e.sqlBigResultOpt),e.sqlBufferResultOpt&&this.appendKeyword(e.sqlBufferResultOpt),e.sqlCacheOpt&&this.appendKeyword(e.sqlCacheOpt),e.sqlCalcFoundRowsOpt&&this.appendKeyword(e.sqlCalcFoundRowsOpt),e.selectItems&&this.travelSelectExpr(e.selectItems),e.from&&(this.appendKeyword("from"),this.travel(e.from)),e.partition&&this.travel(e.partition),e.where&&(this.appendKeyword("where"),this.travel(e.where)),e.groupBy&&this.travel(e.groupBy),e.having&&(this.appendKeyword("having"),this.travel(e.having)),e.orderBy&&this.travel(e.orderBy),e.limit&&this.travel(e.limit),e.procedure&&(this.appendKeyword("procedure"),this.travel(e.procedure)),e.updateLockMode&&this.appendKeyword(e.updateLockMode)},a.prototype.travelSelectExpr=function(e){for(var t=e.value,s=0;s{var r=s(7400).Symbol;e.exports=r},9736:(e,t,s)=>{var r=s(6539),a=s(4840),n=s(1258),o=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?a(e):n(e)}},9120:(e,t,s)=>{var r="object"==typeof s.g&&s.g&&s.g.Object===Object&&s.g;e.exports=r},4840:(e,t,s)=>{var r=s(6539),a=Object.prototype,n=a.hasOwnProperty,o=a.toString,l=r?r.toStringTag:void 0;e.exports=function(e){var t=n.call(e,l),s=e[l];try{e[l]=void 0;var r=!0}catch(e){}var a=o.call(e);return r&&(t?e[l]=s:delete e[l]),a}},1258:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},7400:(e,t,s)=>{var r=s(9120),a="object"==typeof self&&self&&self.Object===Object&&self,n=r||a||Function("return this")();e.exports=n},9785:e=>{var t=Array.isArray;e.exports=t},2360:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},7206:(e,t,s)=>{var r=s(9736),a=s(9785),n=s(2360);e.exports=function(e){return"string"==typeof e||!a(e)&&n(e)&&"[object String]"==r(e)}},5295:(e,t,s)=>{"use strict";const r=s(7372),a=Symbol("max"),n=Symbol("length"),o=Symbol("lengthCalculator"),l=Symbol("allowStale"),i=Symbol("maxAge"),c=Symbol("dispose"),p=Symbol("noDisposeOnSet"),m=Symbol("lruList"),u=Symbol("cache"),b=Symbol("updateAgeOnGet"),y=()=>1,d=(e,t,s)=>{const r=e[u].get(t);if(r){const t=r.value;if($(e,t)){if(h(e,r),!e[l])return}else s&&(e[b]&&(r.value.now=Date.now()),e[m].unshiftNode(r));return t.value}},$=(e,t)=>{if(!t||!t.maxAge&&!e[i])return!1;const s=Date.now()-t.now;return t.maxAge?s>t.maxAge:e[i]&&s>e[i]},_=e=>{if(e[n]>e[a])for(let t=e[m].tail;e[n]>e[a]&&null!==t;){const s=t.prev;h(e,t),t=s}},h=(e,t)=>{if(t){const s=t.value;e[c]&&e[c](s.key,s.value),e[n]-=s.length,e[u].delete(s.key),e[m].removeNode(t)}};class f{constructor(e,t,s,r,a){this.key=e,this.value=t,this.length=s,this.now=r,this.maxAge=a||0}}const w=(e,t,s,r)=>{let a=s.value;$(e,a)&&(h(e,s),e[l]||(a=void 0)),a&&t.call(r,a.value,a.key,e)};e.exports=class{constructor(e){if("number"==typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!=typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[a]=e.max||1/0;const t=e.length||y;if(this[o]="function"!=typeof t?y:t,this[l]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw new TypeError("maxAge must be a number");this[i]=e.maxAge||0,this[c]=e.dispose,this[p]=e.noDisposeOnSet||!1,this[b]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[a]=e||1/0,_(this)}get max(){return this[a]}set allowStale(e){this[l]=!!e}get allowStale(){return this[l]}set maxAge(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[i]=e,_(this)}get maxAge(){return this[i]}set lengthCalculator(e){"function"!=typeof e&&(e=y),e!==this[o]&&(this[o]=e,this[n]=0,this[m].forEach((e=>{e.length=this[o](e.value,e.key),this[n]+=e.length}))),_(this)}get lengthCalculator(){return this[o]}get length(){return this[n]}get itemCount(){return this[m].length}rforEach(e,t){t=t||this;for(let s=this[m].tail;null!==s;){const r=s.prev;w(this,e,s,t),s=r}}forEach(e,t){t=t||this;for(let s=this[m].head;null!==s;){const r=s.next;w(this,e,s,t),s=r}}keys(){return this[m].toArray().map((e=>e.key))}values(){return this[m].toArray().map((e=>e.value))}reset(){this[c]&&this[m]&&this[m].length&&this[m].forEach((e=>this[c](e.key,e.value))),this[u]=new Map,this[m]=new r,this[n]=0}dump(){return this[m].map((e=>!$(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)})).toArray().filter((e=>e))}dumpLru(){return this[m]}set(e,t,s){if((s=s||this[i])&&"number"!=typeof s)throw new TypeError("maxAge must be a number");const r=s?Date.now():0,l=this[o](t,e);if(this[u].has(e)){if(l>this[a])return h(this,this[u].get(e)),!1;const o=this[u].get(e).value;return this[c]&&(this[p]||this[c](e,o.value)),o.now=r,o.maxAge=s,o.value=t,this[n]+=l-o.length,o.length=l,this.get(e),_(this),!0}const b=new f(e,t,l,r,s);return b.length>this[a]?(this[c]&&this[c](e,t),!1):(this[n]+=b.length,this[m].unshift(b),this[u].set(e,this[m].head),_(this),!0)}has(e){if(!this[u].has(e))return!1;const t=this[u].get(e).value;return!$(this,t)}get(e){return d(this,e,!0)}peek(e){return d(this,e,!1)}pop(){const e=this[m].tail;return e?(h(this,e),e.value):null}del(e){h(this,this[u].get(e))}load(e){this.reset();const t=Date.now();for(let s=e.length-1;s>=0;s--){const r=e[s],a=r.e||0;if(0===a)this.set(r.k,r.v);else{const e=a-t;e>0&&this.set(r.k,r.v,e)}}}prune(){this[u].forEach(((e,t)=>d(this,t,!1)))}}},985:function(e,t){var s,r;void 0===(r="function"==typeof(s=function(){"use strict";var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,s="boolean"==typeof(new RegExp).sticky;function r(e){return e&&"[object RegExp]"===t.call(e)}function a(e){return e&&"object"==typeof e&&!r(e)&&!Array.isArray(e)}function n(e){return"("+e+")"}function o(e){return e.length?"(?:"+e.map((function(e){return"(?:"+e+")"})).join("|")+")":"(?!)"}function l(e){if("string"==typeof e)return"(?:"+(e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")+")");if(r(e)){if(e.ignoreCase)throw new Error("RegExp /i flag not allowed");if(e.global)throw new Error("RegExp /g flag is implied");if(e.sticky)throw new Error("RegExp /y flag is implied");if(e.multiline)throw new Error("RegExp /m flag is implied");return e.source}throw new Error("Not a pattern: "+e)}function i(e,t){return e.length>t?e:Array(t-e.length+1).join(" ")+e}function c(t,s){if(a(s)||(s={match:s}),s.include)throw new Error("Matching rules cannot also include states");var n={defaultType:t,lineBreaks:!!s.error||!!s.fallback,pop:!1,next:null,push:null,error:!1,fallback:!1,value:null,type:null,shouldThrow:!1};for(var o in s)e.call(s,o)&&(n[o]=s[o]);if("string"==typeof n.type&&t!==n.type)throw new Error("Type transform cannot be a string (type '"+n.type+"' for token '"+t+"')");var l=n.match;return n.match=Array.isArray(l)?l:l?[l]:[],n.match.sort((function(e,t){return r(e)&&r(t)?0:r(t)?-1:r(e)?1:t.length-e.length})),n}function p(e){return Array.isArray(e)?function(e){for(var t=[],s=0;s0)throw new Error("RegExp has capture groups: "+w+"\nUse (?: … ) instead");if(!d.lineBreaks&&w.test("\n"))throw new Error("Rule should declare lineBreaks: "+w);b.push(n(f))}}var x=a&&a.fallback,g=s&&!x?"ym":"gm",v=s||x?"":"|";return!0===p&&(g+="u"),{regexp:new RegExp(o(b)+v,g),groups:u,fast:i,error:a||m}}function b(e,t,s){var r=e&&(e.push||e.next);if(r&&!s[r])throw new Error("Missing state '"+r+"' (in token '"+e.defaultType+"' of state '"+t+"')");if(e&&e.pop&&1!=+e.pop)throw new Error("pop must be 1 (in token '"+e.defaultType+"' of state '"+t+"')")}var y=function(e,t){this.startState=t,this.states=e,this.buffer="",this.stack=[],this.reset()};y.prototype.reset=function(e,t){return this.buffer=e||"",this.index=0,this.line=t?t.line:1,this.col=t?t.col:1,this.queuedToken=t?t.queuedToken:null,this.queuedText=t?t.queuedText:"",this.queuedThrow=t?t.queuedThrow:null,this.setState(t?t.state:this.startState),this.stack=t&&t.stack?t.stack.slice():[],this},y.prototype.save=function(){return{line:this.line,col:this.col,state:this.state,stack:this.stack.slice(),queuedToken:this.queuedToken,queuedText:this.queuedText,queuedThrow:this.queuedThrow}},y.prototype.setState=function(e){if(e&&this.state!==e){this.state=e;var t=this.states[e];this.groups=t.groups,this.error=t.error,this.re=t.regexp,this.fast=t.fast}},y.prototype.popState=function(){this.setState(this.stack.pop())},y.prototype.pushState=function(e){this.stack.push(this.state),this.setState(e)};var d=s?function(e,t){return e.exec(t)}:function(e,t){var s=e.exec(t);return 0===s[0].length?null:s};function $(){return this.value}if(y.prototype._getGroup=function(e){for(var t=this.groups.length,s=0;s";throw new Error("Unknown symbol type: "+e)}}return e.highestId=0,e.prototype.toString=function(e){var t=void 0===e?this.symbols.map(o).join(" "):this.symbols.slice(0,e).map(o).join(" ")+" ● "+this.symbols.slice(e).map(o).join(" ");return this.name+" → "+t},t.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},t.prototype.nextState=function(e){var s=new t(this.rule,this.dot+1,this.reference,this.wantedBy);return s.left=this,s.right=e,s.isComplete&&(s.data=s.build(),s.right=void 0),s},t.prototype.build=function(){var e=[],t=this;do{e.push(t.right.data),t=t.left}while(t.left);return e.reverse(),e},t.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,n.fail))},s.prototype.process=function(e){for(var t=this.states,s=this.wants,r=this.completed,a=0;a0&&t.push(" ^ "+r+" more lines identical to this"),r=0,t.push(" "+o)),s=o}},n.prototype.getSymbolDisplay=function(e){return function(e){var t=typeof e;if("string"===t)return e;if("object"===t){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return"character matching "+e;if(e.type)return e.type+" token";if(e.test)return"token matching "+String(e.test);throw new Error("Unknown symbol type: "+e)}}(e)},n.prototype.buildFirstStateStack=function(e,t){if(-1!==t.indexOf(e))return null;if(0===e.wantedBy.length)return[e];var s=e.wantedBy[0],r=[e].concat(t),a=this.buildFirstStateStack(s,r);return null===a?null:[e].concat(a)},n.prototype.save=function(){var e=this.table[this.current];return e.lexerState=this.lexerState,e},n.prototype.restore=function(e){var t=e.index;this.current=t,this.table[t]=e,this.table.splice(t+1),this.lexerState=e.lexerState,this.results=this.finish()},n.prototype.rewind=function(e){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[e])},n.prototype.finish=function(){var e=[],t=this.grammar.start;return this.table[this.table.length-1].states.forEach((function(s){s.rule.name===t&&s.dot===s.rule.symbols.length&&0===s.reference&&s.data!==n.fail&&e.push(s)})),e.map((function(e){return e.data}))},{Parser:n,Grammar:r,Rule:e}},e.exports?e.exports=t():this.nearley=t()},5884:(e,t,s)=>{!function(e,t){for(var s in t)e[s]=t[s]}(t,function(e){var t={};function s(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,s),a.l=!0,a.exports}return s.m=e,s.c=t,s.d=function(e,t,r){s.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(e,t){if(1&t&&(e=s(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(s.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)s.d(r,a,function(t){return e[t]}.bind(null,a));return r},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,"a",t),t},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.p="",s(s.s=7)}([function(e,t){e.exports=s(985)},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.unbox=t.doubleQuoted=t.box=t.track=t.tracking=t.trackingComments=t.lexerAny=t.lexer=void 0;const r=s(0),a=s(3),n={};for(const e of a.sqlKeywords)n["kw_"+e.toLowerCase()]=e;var o;t.lexer=(0,r.compile)({word:{match:/[eE](?!')[A-Za-z0-9_]*|[a-df-zA-DF-Z_][A-Za-z0-9_]*/,type:(e=>{const t=(0,r.keywords)(e);return e=>t(e.toUpperCase())})(n),value:e=>e.toLowerCase()},wordQuoted:{match:/"(?:[^"\*]|"")+"/,type:()=>"quoted_word",value:e=>e.substring(1,e.length-1)},string:{match:/'(?:[^']|\'\')*'/,value:e=>e.substring(1,e.length-1).replace(/''/g,"'")},eString:{match:/\b(?:e|E)'(?:[^'\\]|[\r\n\s]|(?:\\\s)|(?:\\\n)|(?:\\.)|(?:\'\'))+'/,value:e=>e.substring(2,e.length-1).replace(/''/g,"'").replace(/\\([\s\n])/g,((e,t)=>t)).replace(/\\./g,(e=>JSON.parse('"'+e+'"')))},qparam:{match:/\$\d+/},commentLine:/\-\-.*?$[\s\r\n]*/,commentFullOpen:/\/\*/,commentFullClose:/\*\/[\s\r\n]*/,star:"*",comma:",",space:{match:/[\s\t\n\v\f\r]+/,lineBreaks:!0},int:/\-?\d+(?![\.\d])/,float:/\-?(?:(?:\d*\.\d+)|(?:\d+\.\d*))/,lparen:"(",rparen:")",lbracket:"[",rbracket:"]",semicolon:";",dot:/\.(?!\d)/,op_cast:"::",op_colon:":",op_plus:"+",op_eq:"=",op_neq:{match:/(?:!=)|(?:\<\>)/,value:()=>"!="},op_membertext:"->>",op_member:"->",op_minus:"-",op_div:/\//,op_not_ilike:/\!~~\*/,op_not_like:/\!~~/,op_ilike:/~~\*/,op_like:/~~/,op_mod:"%",op_exp:"^",op_additive:{match:["||","-","#-","&&"]},op_compare:{match:[">",">=","<","<=","@>","<@","?","?|","?&","#>>",">>","<<","~","~*","!~","!~*","@@"]},ops_others:{match:["|","&","^","#"]},codeblock:{match:/\$\$(?:.|[\s\t\n\v\f\r])*?\$\$/s,lineBreaks:!0,value:e=>e.substring(2,e.length-2)}}),t.lexer.next=(o=t.lexer.next,()=>{let e,s=null;for(;e=o.call(t.lexer);){if("commentFullOpen"===e.type){if(null===s){s={nested:0,offset:e.offset,text:e.text};continue}s.nested++}if(null==s){if("space"!==e.type){if("commentLine"!==e.type)break;null==l||l.push(i(e))}}else if(s.text+=e.text,"commentFullClose"===e.type){if(0===s.nested){null==l||l.push(i(s)),s=null;continue}s.nested--}}if(c&&e){const t=e.offset,s={start:t,end:t+e.text.length};e._location=s}return e}),t.lexerAny=t.lexer;let l=null;const i=({offset:e,text:t})=>({_location:{start:e,end:e+t.length},comment:t});t.trackingComments=function(e){if(l)throw new Error("WAT ? Recursive comments tracking 🤔🤨 ?");try{l=[];const t=e();return{comments:l,ast:t}}finally{l=null}};let c=!1;function p(e,t){if(!c||!t||"object"!=typeof t)return t;const s=y(e,!0),r=y(e,!1);if(!s||!r)return t;if(s===r)t._location=s;else{const e={start:s.start,end:r.end};t._location=e}return t}t.tracking=function(e){if(c)return e();try{return c=!0,e()}finally{c=!1}},t.track=p;const m=Symbol("_literal"),u=Symbol("_doublequoted");function b(e){return Array.isArray(e)&&1===e.length&&(e=b(e[0])),Array.isArray(e)&&!e.length?null:e}function y(e,t){if(!e)return null;if(Array.isArray(e)){const s=t?1:-1;for(let r=t?0:e.length-1;r>=0&&ra(e,{type:this.dataType(e.type)})));let s;if(e.returns)switch(e.returns.kind){case"table":s=a(e.returns,{columns:n(e.returns.columns,(e=>{const t=this.dataType(e.type);return t&&a(e,{type:t})}))});break;case void 0:case null:case"array":s=this.dataType(e.returns);break;default:throw r.NotSupported.never(e.returns)}return a(e,{returns:s,arguments:t})}dropFunction(e){const t=n(e.arguments,(e=>a(e,{type:this.dataType(e.type)})));return a(e,{arguments:t})}show(e){return e}createEnum(e){return e}createCompositeType(e){const t=n(e.attributes,(e=>a(e,{dataType:this.dataType(e.dataType)})));return a(e,{attributes:t})}drop(e){return e}alterSequence(e){return"set options"===e.change.type&&e.change.as&&this.dataType(e.change.as),e}begin(e){return e}createSequence(e){return e.options.as&&this.dataType(e.options.as),e}tablespace(e){return e}setGlobal(e){return e}setTimezone(e){return e}update(e){if(!e)return e;const t=this.tableRef(e.table);if(!t)return null;const s=e.from&&this.from(e.from),r=e.where&&this.expr(e.where),o=n(e.sets,(e=>this.set(e)));return(null==o?void 0:o.length)?a(e,{table:t,where:r,sets:o,from:s,returning:n(e.returning,(e=>this.selectionColumn(e)))}):null}insert(e){var t,s;const o=this.tableRef(e.into);if(!o)return null;const l=e.insert&&this.select(e.insert);if(!l)return null;const i=n(e.returning,(e=>this.selectionColumn(e)));let c=null===(t=e.onConflict)||void 0===t?void 0:t.on;switch(null==c?void 0:c.type){case"on constraint":break;case"on expr":c=a(c,{exprs:n(c.exprs,(e=>this.expr(e)))});break;case null:case void 0:break;default:throw r.NotSupported.never(c)}let p=null===(s=e.onConflict)||void 0===s?void 0:s.do;if(p&&"do nothing"!==p){const e=n(p.sets,(e=>this.set(e)));(null==e?void 0:e.length)?p.sets!==e&&(p={sets:e}):p="do nothing"}return a(e,{into:o,insert:l,returning:i,onConflict:p?a(e.onConflict,{do:p,on:c}):e.onConflict})}raise(e){return a(e,{formatExprs:e.formatExprs&&n(e.formatExprs,(e=>this.expr(e))),using:e.using&&n(e.using,(e=>a(e,{value:this.expr(e.value)})))})}delete(e){const t=this.tableRef(e.from);return t?a(e,{where:e.where&&this.expr(e.where),returning:n(e.returning,(e=>this.selectionColumn(e))),from:t}):null}createSchema(e){return e}createTable(e){const t=n(e.columns,(e=>{switch(e.kind){case"column":return this.createColumn(e);case"like table":return this.likeTable(e);default:throw r.NotSupported.never(e)}}));return(null==t?void 0:t.length)?a(e,{columns:t}):null}likeTable(e){const t=this.tableRef(e.like);return t?a(e,{like:t}):null}truncateTable(e){return e}constraint(e){switch(e.type){case"not null":case"null":case"primary key":case"unique":case"add generated":return e;case"default":{const t=this.expr(e.default);return t?a(e,{default:t}):null}case"check":{const t=this.expr(e.expr);return t?a(e,{expr:t}):null}case"reference":{const t=this.tableRef(e.foreignTable);return t?a(e,{foreignTable:t}):null}default:throw r.NotSupported.never(e)}}set(e){const t=this.expr(e.value);return t?a(e,{value:t}):null}dataType(e){return e}tableRef(e){return e}transaction(e){return e}createExtension(e){return e}createIndex(e){const t=n(e.expressions,(e=>{const t=this.expr(e.expression);return t===e.expression?e:t?{...e,expression:t}:null}));return(null==t?void 0:t.length)?a(e,{expressions:t}):null}prepare(e){const t=this.statement(e.statement);return t?a(e,{args:n(e.args,(e=>this.dataType(e))),statement:t}):null}deallocate(e){return e}alterIndex(e){return e}alterTable(e){var t;const s=this.tableRef(e.table);if(!s)return null;let r=[],n=!1;for(let s=0;s<((null===(t=e.changes)||void 0===t?void 0:t.length)||0);s++){const t=e.changes[s],a=this.tableAlteration(t,e.table);n=n||a!=t,a&&r.push(a)}return r.length?n?a(e,{table:s,changes:r}):e:null}tableAlteration(e,t){switch(e.type){case"add column":return this.addColumn(e,t);case"add constraint":return this.addConstraint(e,t);case"alter column":return this.alterColumn(e,t);case"rename":return this.renameTable(e,t);case"rename column":return this.renameColumn(e,t);case"rename constraint":return this.renameConstraint(e,t);case"drop column":return this.dropColumn(e,t);case"drop constraint":return this.dropConstraint(e,t);case"owner":return this.setTableOwner(e,t);default:throw r.NotSupported.never(e)}}dropColumn(e,t){return e}dropConstraint(e,t){return e}setTableOwner(e,t){return e}renameConstraint(e,t){return e}renameColumn(e,t){return e}renameTable(e,t){return e}alterColumn(e,t){let s;switch(e.alter.type){case"set default":s=this.setColumnDefault(e.alter,t,e.column);break;case"set type":s=this.setColumnType(e.alter,t,e.column);break;case"drop default":case"set not null":case"drop not null":s=this.alterColumnSimple(e.alter,t,e.column);break;case"add generated":s=this.alterColumnAddGenerated(e.alter,t,e.column);break;default:throw r.NotSupported.never(e.alter)}return s?a(e,{alter:s}):null}setColumnType(e,t,s){return a(e,{dataType:this.dataType(e.dataType)})}alterColumnAddGenerated(e,t,s){return e}alterColumnSimple(e,t,s){return e}setColumnDefault(e,t,s){const r=this.expr(e.default);return r?a(e,{default:r}):null}addConstraint(e,t){return e}addColumn(e,t){const s=this.createColumn(e.column);return s?a(e,{column:s}):null}createColumn(e){var t;const s=this.dataType(e.dataType);return s?a(e,{dataType:s,constraints:null!==(t=n(e.constraints,(e=>this.constraint(e))))&&void 0!==t?t:void 0}):null}select(e){switch(e.type){case"select":return this.selection(e);case"union":case"union all":return this.union(e);case"with":return this.with(e);case"values":return this.values(e);case"with recursive":return this.withRecursive(e);default:throw r.NotSupported.never(e)}}selection(e){var t,s;const r=n(e.from,(e=>this.from(e))),o=n(e.columns,(e=>this.selectionColumn(e))),l=e.where&&this.expr(e.where),i=n(e.groupBy,(e=>this.expr(e))),c=e.having&&this.expr(e.having),p=this.orderBy(e.orderBy),m=a(e.limit,{limit:this.expr(null===(t=e.limit)||void 0===t?void 0:t.limit),offset:this.expr(null===(s=e.limit)||void 0===s?void 0:s.offset)});return a(e,{from:r,columns:o,where:l,groupBy:i,having:c,orderBy:p,limit:m})}orderBy(e){return n(e,(e=>{const t=this.expr(e.by);return t?t===e.by?e:{...e,by:t}:null}))}union(e){const t=this.select(e.left),s=this.select(e.right);return t&&s?a(e,{left:t,right:s}):null!=t?t:s}with(e){const t=n(e.bind,(e=>{const t=this.statement(e.statement);return o(t)?a(e,{statement:t}):null}));if(!t)return null;const s=this.statement(e.in);return o(s)?a(e,{bind:t,in:s}):null}withRecursive(e){const t=this.union(e.bind);if(!t)return null;if("union"!==t.type&&"union all"!==t.type)return null;const s=this.statement(e.in);return o(s)?a(e,{bind:t,in:s}):null}from(e){switch(e.type){case"table":return this.fromTable(e);case"statement":return this.fromStatement(e);case"call":return this.fromCall(e);default:throw r.NotSupported.never(e)}}fromCall(e){const t=this.call(e);return t&&"call"===t.type?a(e,t):null}fromStatement(e){const t=this.select(e.statement);return t?a(e,{statement:t,join:e.join&&this.join(e.join)}):null}values(e){const t=n(e.values,(e=>n(e,(e=>this.expr(e)))));return(null==t?void 0:t.length)?a(e,{values:t}):null}join(e){const t=e.on&&this.expr(e.on);return t||e.using?a(e,{on:t}):e}fromTable(e){const t=this.tableRef(e.name);return t?a(e,{name:t,join:e.join&&this.join(e.join)}):null}selectionColumn(e){const t=this.expr(e.expr);return t?a(e,{expr:t}):null}expr(e){if(!e)return e;switch(e.type){case"binary":return this.binary(e);case"unary":return this.unary(e);case"ref":return this.ref(e);case"string":case"numeric":case"integer":case"boolean":case"constant":case"null":return this.constant(e);case"list":case"array":return this.array(e);case"array select":return this.arraySelect(e);case"call":return this.call(e);case"cast":return this.cast(e);case"case":return this.case(e);case"member":return this.member(e);case"arrayIndex":return this.arrayIndex(e);case"ternary":return this.ternary(e);case"select":case"union":case"union all":case"with":case"with recursive":return this.select(e);case"keyword":return this.valueKeyword(e);case"parameter":return this.parameter(e);case"extract":return this.extract(e);case"overlay":return this.callOverlay(e);case"substring":return this.callSubstring(e);case"values":return this.values(e);case"default":return this.default(e);default:throw r.NotSupported.never(e)}}arraySelect(e){const t=this.select(e.select);return t?a(e,{select:t}):null}extract(e){const t=this.expr(e.from);return t?a(e,{from:t}):null}valueKeyword(e){return e}ternary(e){const t=this.expr(e.value),s=this.expr(e.lo),r=this.expr(e.hi);return t&&s&&r?a(e,{value:t,lo:s,hi:r}):null}parameter(e){return e}arrayIndex(e){const t=this.expr(e.array),s=this.expr(e.index);return t&&s?a(e,{array:t,index:s}):null}member(e){const t=this.expr(e.operand);return t?a(e,{operand:t}):null}case(e){const t=e.value&&this.expr(e.value),s=n(e.whens,(e=>{const t=this.expr(e.when),s=this.expr(e.value);return t&&s?a(e,{value:s,when:t}):null}));return(null==s?void 0:s.length)?a(e,{value:t,whens:s,else:e.else&&this.expr(e.else)}):null}cast(e){const t=this.expr(e.operand);return t?a(e,{operand:t}):null}call(e){const t=n(e.args,(e=>this.expr(e)));return t?a(e,{args:t,orderBy:this.orderBy(e.orderBy),filter:this.expr(e.filter)}):null}callSubstring(e){return a(e,{value:this.expr(e.value),from:this.expr(e.from),for:this.expr(e.for)})}callOverlay(e){return a(e,{value:this.expr(e.value),placing:this.expr(e.placing),from:this.expr(e.from),for:this.expr(e.for)})}array(e){const t=n(e.expressions,(e=>this.expr(e)));return t?a(e,{expressions:t}):null}constant(e){return e}default(e){return e}ref(e){return e}unary(e){const t=this.expr(e.operand);return t?a(e,{operand:t}):null}binary(e){const t=this.expr(e.left),s=this.expr(e.right);return t&&s?a(e,{left:t,right:s}):null}}t.AstDefaultMapper=l;const i=l.prototype;for(const e of Object.getOwnPropertyNames(i)){const t=i[e];"constructor"!==e&&"super"!==e&&"function"==typeof t&&Object.defineProperty(i,e,{configurable:!1,get:()=>function(...s){var r;if(this.skipNext)return this.skipNext=!1,t.apply(this,s);const a=null===(r=this.wrapped)||void 0===r?void 0:r[e];return a?a.apply(this.wrapped,s):t.apply(this,s)}})}class c extends l{constructor(e){super(),this.parent=e}}for(const e of Object.getOwnPropertyNames(i)){const t=i[e];"constructor"!==e&&"super"!==e&&"function"==typeof t&&Object.defineProperty(c.prototype,e,{configurable:!1,get:()=>function(...e){return this.parent.skipNext=!0,t.apply(this.parent,e)}})}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.sqlKeywords=void 0,t.sqlKeywords=["ALL","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","FALSE","FETCH","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","ILIKE","IN","INITIALLY","INNER","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","NATURAL","NOT","NOTNULL","NULL","OFFSET","ON","ONLY","OR","ORDER","OUTER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH","PRECISION"]},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.intervalToString=t.normalizeInterval=t.buildInterval=void 0;const r=[["years",12],["months",30],["days",24],["hours",60],["minutes",60],["seconds",1e3],["milliseconds",0]];function*a(e){if("number"==typeof e[1])yield e;else for(const t of e)yield*a(t)}function n(e){var t,s,a,n,o,l,i,c,p;const m={...e};for(let e=0;e=0?Math.floor(l):Math.ceil(l);if(!l||i===l)continue;const c=null===(s=r[e+1])||void 0===s?void 0:s[0];c&&(m[c]=(null!==(a=m[c])&&void 0!==a?a:0)+o*(l-i)),m[n]=i}if(m.months||m.years){const e=(null!==(n=m.months)&&void 0!==n?n:0)+12*(null!==(o=m.years)&&void 0!==o?o:0);m.months=e%12,m.years=(e-m.months)/12}let u=3600*(null!==(l=m.hours)&&void 0!==l?l:0)+60*(null!==(i=m.minutes)&&void 0!==i?i:0)+(null!==(c=m.seconds)&&void 0!==c?c:0)+(null!==(p=m.milliseconds)&&void 0!==p?p:0)/1e3,b=1;u<0&&(b=-1,u=-u),u>=3600?(m.hours=b*Math.floor(u/3600),u-=b*m.hours*3600):delete m.hours,u>=60?(m.minutes=b*Math.floor(u/60),u-=b*m.minutes*60):delete m.minutes,u>0?(m.seconds=b*Math.floor(u),u-=b*m.seconds):delete m.seconds,u>0?m.milliseconds=b*Math.round(1e3*u):delete m.milliseconds;for(const[e]of r)m[e]||delete m[e];return m}function o(e){return(e=Math.abs(e))<10?"0"+e:e.toString()}function l(e){return e&&e<0}t.buildInterval=function(e,t){var s;const r={};if("invalid"===t)throw new Error(`invalid input syntax for type interval: "${e}"`);for(const[e,n]of a(t))r[e]=(null!==(s=r[e])&&void 0!==s?s:0)+n;return r},t.normalizeInterval=n,t.intervalToString=function(e){var t,s,r;const a=[];if((e=n(e)).years&&a.push(1===e.years?"1 year":e.years+" years"),e.months&&a.push(1===e.months?"1 month":e.months+" months"),e.days&&a.push(1===e.days?"1 day":e.days+" days"),e.hours||e.minutes||e.seconds||e.milliseconds){let n=`${o(null!==(t=e.hours)&&void 0!==t?t:0)}:${o(null!==(s=e.minutes)&&void 0!==s?s:0)}:${o(null!==(r=e.seconds)&&void 0!==r?r:0)}`;e.milliseconds&&(n+=(e.milliseconds/1e3).toString().substr(1)),(l(e.hours)||l(e.minutes)||l(e.seconds)||l(e.milliseconds))&&(n="-"+n),a.push(n)}return a.join(" ")}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.astVisitor=void 0;const r=s(2);class a{super(){return new o(this)}}const n=r.AstDefaultMapper.prototype;for(const e of Object.getOwnPropertyNames(n)){const t=n[e];"constructor"!==e&&"super"!==e&&"function"==typeof t&&Object.defineProperty(a.prototype,e,{configurable:!1,get:()=>function(...s){const r=this.visitor[e];return r?(r.apply(this.visitor,s),s[0]):t.apply(this,s)}})}class o{constructor(e){this.parent=e}}for(const e of Object.getOwnPropertyNames(n)){const t=n[e];"constructor"!==e&&"super"!==e&&"function"==typeof t&&Object.defineProperty(o.prototype,e,{configurable:!1,get:()=>function(...e){return t.apply(this.parent,e)}})}t.astVisitor=function(e){return(0,r.astMapper)((t=>{const s=new a;return s.mapper=t,s.visitor=e(s),s}))}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.trimNullish=t.NotSupported=void 0;class r extends Error{constructor(e){super("Not supported"+(e?": "+e:""))}static never(e,t){return new r(`${null!=t?t:""} ${JSON.stringify(e)}`)}}t.NotSupported=r,t.trimNullish=function e(t,s=5){if(s<0)return t;if(t instanceof Array&&t.forEach((t=>e(t,s-1))),"object"!=typeof t||t instanceof Date)return t;if(!t)return t;for(const r of Object.keys(t)){const a=t[r];null==a?delete t[r]:e(a,s-1)}return t}},function(e,t,s){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,s,r){void 0===r&&(r=s);var a=Object.getOwnPropertyDescriptor(t,s);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,r,a)}:function(e,t,s,r){void 0===r&&(r=s),e[r]=t[s]}),a=this&&this.__exportStar||function(e,t){for(var s in e)"default"===s||Object.prototype.hasOwnProperty.call(t,s)||r(t,e,s)};Object.defineProperty(t,"__esModule",{value:!0}),t.normalizeInterval=t.intervalToString=t.toSql=t.astMapper=t.assignChanged=t.arrayNilMap=t.astVisitor=t.parseWithComments=t.parseIntervalLiteral=t.parseGeometricLiteral=t.parseArrayLiteral=t.parseFirst=t.parse=void 0;var n=s(8);Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return n.parse}}),Object.defineProperty(t,"parseFirst",{enumerable:!0,get:function(){return n.parseFirst}}),Object.defineProperty(t,"parseArrayLiteral",{enumerable:!0,get:function(){return n.parseArrayLiteral}}),Object.defineProperty(t,"parseGeometricLiteral",{enumerable:!0,get:function(){return n.parseGeometricLiteral}}),Object.defineProperty(t,"parseIntervalLiteral",{enumerable:!0,get:function(){return n.parseIntervalLiteral}}),Object.defineProperty(t,"parseWithComments",{enumerable:!0,get:function(){return n.parseWithComments}});var o=s(5);Object.defineProperty(t,"astVisitor",{enumerable:!0,get:function(){return o.astVisitor}});var l=s(2);Object.defineProperty(t,"arrayNilMap",{enumerable:!0,get:function(){return l.arrayNilMap}}),Object.defineProperty(t,"assignChanged",{enumerable:!0,get:function(){return l.assignChanged}}),Object.defineProperty(t,"astMapper",{enumerable:!0,get:function(){return l.astMapper}});var i=s(19);Object.defineProperty(t,"toSql",{enumerable:!0,get:function(){return i.toSql}}),a(s(21),t);var c=s(4);Object.defineProperty(t,"intervalToString",{enumerable:!0,get:function(){return c.intervalToString}}),Object.defineProperty(t,"normalizeInterval",{enumerable:!0,get:function(){return c.normalizeInterval}})},function(e,t,s){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.parseGeometricLiteral=t.parseIntervalLiteral=t.parseArrayLiteral=t.parse=t.parseWithComments=t.parseFirst=void 0;const a=s(9),n=r(s(10)),o=r(s(11)),l=r(s(13)),i=r(s(15)),c=r(s(17)),p=s(4),m=s(1);let u,b,y,d,$;function _(e,t){u||(u=a.Grammar.fromCompiled(n.default));const s="string"==typeof t?t:null==t?void 0:t.entry,r="string"==typeof t?null:t,o=()=>h(e,u,s);let l=(null==r?void 0:r.locationTracking)?(0,m.tracking)(o):o();return"string"==typeof t||Array.isArray(l)||(l=[l]),l}function h(e,t,s){try{t.start=null!=s?s:"main";const r=new a.Parser(t);r.feed(e);const n=r.finish();if(!n.length)throw new Error("Unexpected end of input");if(1!==n.length)throw new Error(`💀 Ambiguous SQL syntax: Please file an issue stating the request that has failed at https://github.com/oguimbal/pgsql-ast-parser:\n\n ${e}\n\n `);return n[0]}catch(e){if("string"!=typeof(null==e?void 0:e.message))throw e;let t=e.message,s=null;const r=[],a=/A (.+) token based on:/g;let n;for(;n=a.exec(t);)s=null!=s?s:t.substr(0,n.index),r.push(` - A "${n[1]}" token`);throw s&&(t=s+r.join("\n")+"\n\n"),e.message=t,e}}t.parseFirst=function(e){return _(e)[0]},t.parseWithComments=function(e,t){return(0,m.trackingComments)((()=>_(e,t)))},t.parse=_,t.parseArrayLiteral=function(e){return b||(b=a.Grammar.fromCompiled(o.default)),h(e,b)},t.parseIntervalLiteral=function(e){if(e.startsWith("P"))return $||($=a.Grammar.fromCompiled(c.default)),(0,p.buildInterval)(e,h(e,$));{d||(d=a.Grammar.fromCompiled(i.default));const t=e.toLowerCase();return(0,p.buildInterval)(e,h(t,d))}},t.parseGeometricLiteral=function(e,t){return y||(y=a.Grammar.fromCompiled(l.default)),h(e,y,t)}},function(e,t){e.exports=s(7606)},function(e,t,s){"use strict";function r(e){return e[0]}Object.defineProperty(t,"__esModule",{value:!0});const a=s(1),n=s(1);function o(e){return l(e,void 0)}function l(e,t){const s=d(e);return t&&0!==t.length?(0,n.track)(e,{name:s,columns:t.map((e=>({name:d(e)})))}):(0,n.track)(e,{name:s})}function i(e){const t=d(e);return(0,n.track)(e,{value:t})}function c(e){return Array.isArray(e)&&1===e.length&&(e=c(e[0])),Array.isArray(e)&&!e.length?null:(0,n.unbox)(e)}const p=e=>t=>(0,n.track)(t,t[e]),m=e=>Array.isArray(e)?(0,n.track)(e[e.length-1],e[e.length-1]):e;function u(e){if(Array.isArray(e)){const t=[];for(const s of e)t.push(...u(s));return t}return e?[e]:[]}function b(e){var t;return null!==(t=null==(e=(0,n.unbox)(e))?void 0:e.value)&&void 0!==t?t:e}function y(e){return u((0,n.unbox)(e)).filter((e=>!!e)).map((e=>b(e))).filter((e=>"string"==typeof e)).map((e=>e.trim())).filter((e=>!!e))}function d(e,t){return y(e).join(t||"")}function $(e){const t={};for(const[s,r]of e)t[s]=r;return t}const _={sensitivity:"accent"},h=e=>(t,s,r)=>{const a=b(t[0]);return o=e,0===a.localeCompare(o,void 0,_)?(0,n.box)(t,e):r;var o},f=h,w=(...e)=>{const t=new Set(e);return(e,s,r)=>{const a="string"==typeof e[0]?e[0]:e[0].value;return t.has(a)?a:r}};function x(e,t){const s=new Set,r=t.map(n.unbox);for(const[t,a]of r){if(s.has(t))throw new Error("conflicting or redundant options");s.add(t),e[t]=(0,n.unbox)(a)}}const g={Lexer:a.lexerAny,ParserRules:[{name:"lparen",symbols:[a.lexerAny.has("lparen")?{type:"lparen"}:lparen]},{name:"rparen",symbols:[a.lexerAny.has("rparen")?{type:"rparen"}:rparen]},{name:"number$subexpression$1",symbols:["float"]},{name:"number$subexpression$1",symbols:["int"]},{name:"number",symbols:["number$subexpression$1"],postprocess:c},{name:"dot",symbols:[a.lexerAny.has("dot")?{type:"dot"}:dot],postprocess:r},{name:"float",symbols:[a.lexerAny.has("float")?{type:"float"}:float],postprocess:e=>(0,n.box)(e,parseFloat(c(e)))},{name:"int",symbols:[a.lexerAny.has("int")?{type:"int"}:int],postprocess:e=>(0,n.box)(e,parseInt(c(e),10))},{name:"comma",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma],postprocess:r},{name:"star",symbols:[a.lexerAny.has("star")?{type:"star"}:star],postprocess:e=>(0,n.box)(e,e[0].value)},{name:"string$subexpression$1",symbols:[a.lexerAny.has("string")?{type:"string"}:string]},{name:"string$subexpression$1",symbols:[a.lexerAny.has("eString")?{type:"eString"}:eString]},{name:"string",symbols:["string$subexpression$1"],postprocess:e=>(0,n.box)(e,c(e[0]).value)},{name:"ident",symbols:["word"],postprocess:p(0)},{name:"word",symbols:[a.lexerAny.has("kw_primary")?{type:"kw_primary"}:kw_primary],postprocess:e=>(0,n.box)(e,"primary")},{name:"word",symbols:[a.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique],postprocess:e=>(0,n.box)(e,"unique")},{name:"word",symbols:[a.lexerAny.has("quoted_word")?{type:"quoted_word"}:quoted_word],postprocess:e=>(0,n.box)(e,e[0].value,!0)},{name:"word",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:e=>(0,n.box)(e,e[0].value)},{name:"collist_paren",symbols:["lparen","collist","rparen"],postprocess:p(1)},{name:"collist$ebnf$1",symbols:[]},{name:"collist$ebnf$1$subexpression$1",symbols:["comma","ident"],postprocess:m},{name:"collist$ebnf$1",symbols:["collist$ebnf$1","collist$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"collist",symbols:["ident","collist$ebnf$1"],postprocess:([e,t])=>[e,...t||[]]},{name:"kw_between",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("between")},{name:"kw_conflict",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("conflict")},{name:"kw_nothing",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("nothing")},{name:"kw_begin",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("begin")},{name:"kw_if",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("if")},{name:"kw_exists",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("exists")},{name:"kw_key",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("key")},{name:"kw_index",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("index")},{name:"kw_extension",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("extension")},{name:"kw_schema",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("schema")},{name:"kw_nulls",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("nulls")},{name:"kw_first",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("first")},{name:"kw_last",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("last")},{name:"kw_start",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("start")},{name:"kw_restart",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("restart")},{name:"kw_filter",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("filter")},{name:"kw_commit",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("commit")},{name:"kw_tablespace",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("tablespace")},{name:"kw_transaction",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("transaction")},{name:"kw_work",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("work")},{name:"kw_read",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("read")},{name:"kw_write",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("write")},{name:"kw_isolation",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("isolation")},{name:"kw_level",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("level")},{name:"kw_serializable",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("serializable")},{name:"kw_rollback",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("rollback")},{name:"kw_insert",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("insert")},{name:"kw_value",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("value")},{name:"kw_values",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("values")},{name:"kw_update",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("update")},{name:"kw_column",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("column")},{name:"kw_set",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("set")},{name:"kw_version",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("version")},{name:"kw_alter",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("alter")},{name:"kw_rename",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("rename")},{name:"kw_sequence",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("sequence")},{name:"kw_temp",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("temp")},{name:"kw_temporary",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("temporary")},{name:"kw_add",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("add")},{name:"kw_owner",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("owner")},{name:"kw_owned",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("owned")},{name:"kw_including",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("including")},{name:"kw_excluding",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("excluding")},{name:"kw_none",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("none")},{name:"kw_drop",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("drop")},{name:"kw_operator",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("operator")},{name:"kw_minvalue",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("minvalue")},{name:"kw_maxvalue",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("maxvalue")},{name:"kw_data",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("data")},{name:"kw_type",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("type")},{name:"kw_trigger",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("trigger")},{name:"kw_delete",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("delete")},{name:"kw_cache",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("cache")},{name:"kw_cascade",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("cascade")},{name:"kw_no",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("no")},{name:"kw_timestamp",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("timestamp")},{name:"kw_cycle",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("cycle")},{name:"kw_function",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("function")},{name:"kw_returns",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("returns")},{name:"kw_language",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("language")},{name:"kw_out",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("out")},{name:"kw_inout",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("inout")},{name:"kw_variadic",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("variadic")},{name:"kw_action",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("action")},{name:"kw_restrict",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("restrict")},{name:"kw_truncate",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("truncate")},{name:"kw_increment",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("increment")},{name:"kw_by",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("by")},{name:"kw_row",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("row")},{name:"kw_rows",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("rows")},{name:"kw_next",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("next")},{name:"kw_match",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("match")},{name:"kw_replace",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("replace")},{name:"kw_recursive",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("recursive")},{name:"kw_view",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("view")},{name:"kw_cascaded",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("cascaded")},{name:"kw_unlogged",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("unlogged")},{name:"kw_global",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("global")},{name:"kw_option",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("option")},{name:"kw_materialized",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("materialized")},{name:"kw_partial",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("partial")},{name:"kw_partition",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("partition")},{name:"kw_simple",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("simple")},{name:"kw_generated",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("generated")},{name:"kw_always",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("always")},{name:"kw_identity",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("identity")},{name:"kw_name",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("name")},{name:"kw_enum",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("enum")},{name:"kw_show",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("show")},{name:"kw_ordinality",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("ordinality")},{name:"kw_overriding",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("overriding")},{name:"kw_over",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("over")},{name:"kw_system",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("system")},{name:"kw_comment",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("comment")},{name:"kw_time",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("time")},{name:"kw_at",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("at")},{name:"kw_zone",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("zone")},{name:"kw_interval",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("interval")},{name:"kw_hour",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("hour")},{name:"kw_minute",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("minute")},{name:"kw_local",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("local")},{name:"kw_prepare",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("prepare")},{name:"kw_deallocate",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("deallocate")},{name:"kw_raise",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("raise")},{name:"kw_continue",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("continue")},{name:"kw_share",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("share")},{name:"kw_refresh",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("refresh")},{name:"kw_nowait",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("nowait")},{name:"kw_skip",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("skip")},{name:"kw_locked",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:h("locked")},{name:"kw_ifnotexists",symbols:["kw_if",a.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not,"kw_exists"]},{name:"kw_ifexists",symbols:["kw_if","kw_exists"]},{name:"kw_withordinality",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"kw_ordinality"]},{name:"kw_not_null",symbols:[a.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not,a.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null]},{name:"kw_primary_key",symbols:[a.lexerAny.has("kw_primary")?{type:"kw_primary"}:kw_primary,"kw_key"]},{name:"data_type$ebnf$1$subexpression$1$macrocall$2",symbols:["int"]},{name:"data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1",symbols:[]},{name:"data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"data_type$ebnf$1$subexpression$1$macrocall$2"],postprocess:m},{name:"data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1",symbols:["data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1","data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"data_type$ebnf$1$subexpression$1$macrocall$1",symbols:["data_type$ebnf$1$subexpression$1$macrocall$2","data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1"],postprocess:([e,t])=>[e,...t||[]]},{name:"data_type$ebnf$1$subexpression$1",symbols:["lparen","data_type$ebnf$1$subexpression$1$macrocall$1","rparen"],postprocess:p(1)},{name:"data_type$ebnf$1",symbols:["data_type$ebnf$1$subexpression$1"],postprocess:r},{name:"data_type$ebnf$1",symbols:[],postprocess:()=>null},{name:"data_type$ebnf$2$subexpression$1",symbols:[a.lexerAny.has("kw_array")?{type:"kw_array"}:kw_array]},{name:"data_type$ebnf$2$subexpression$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,a.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket]},{name:"data_type$ebnf$2$subexpression$1$ebnf$1",symbols:["data_type$ebnf$2$subexpression$1$ebnf$1$subexpression$1"]},{name:"data_type$ebnf$2$subexpression$1$ebnf$1$subexpression$2",symbols:[a.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,a.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket]},{name:"data_type$ebnf$2$subexpression$1$ebnf$1",symbols:["data_type$ebnf$2$subexpression$1$ebnf$1","data_type$ebnf$2$subexpression$1$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"data_type$ebnf$2$subexpression$1",symbols:["data_type$ebnf$2$subexpression$1$ebnf$1"]},{name:"data_type$ebnf$2",symbols:["data_type$ebnf$2$subexpression$1"],postprocess:r},{name:"data_type$ebnf$2",symbols:[],postprocess:()=>null},{name:"data_type",symbols:["data_type_simple","data_type$ebnf$1","data_type$ebnf$2"],postprocess:e=>{let t,s=e[2];if(t={...c(e[0]),...Array.isArray(e[1])&&e[1].length?{config:e[1].map(c)}:{}},s){"kw_array"===s[0].type&&(s=[["array"]]);for(const e of s[0])t={kind:"array",arrayOf:t}}return(0,n.track)(e,t)}},{name:"data_type_list$ebnf$1",symbols:[]},{name:"data_type_list$ebnf$1$subexpression$1",symbols:["comma","data_type"],postprocess:m},{name:"data_type_list$ebnf$1",symbols:["data_type_list$ebnf$1","data_type_list$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"data_type_list",symbols:["data_type","data_type_list$ebnf$1"],postprocess:([e,t])=>[e,...t||[]]},{name:"data_type_simple",symbols:["data_type_text"],postprocess:e=>(0,n.track)(e,{name:d(e," ")})},{name:"data_type_simple",symbols:["data_type_numeric"],postprocess:e=>(0,n.track)(e,{name:d(e," ")})},{name:"data_type_simple",symbols:["data_type_date"]},{name:"data_type_simple",symbols:["qualified_name_mark_quotes"]},{name:"data_type_numeric$subexpression$1",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("double")},{name:"data_type_numeric",symbols:["data_type_numeric$subexpression$1",a.lexerAny.has("kw_precision")?{type:"kw_precision"}:kw_precision]},{name:"data_type_text$subexpression$1",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:w("character","bit")},{name:"data_type_text$subexpression$2",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("varying")},{name:"data_type_text",symbols:["data_type_text$subexpression$1","data_type_text$subexpression$2"]},{name:"data_type_date$subexpression$1",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:w("timestamp","time")},{name:"data_type_date$subexpression$2",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with]},{name:"data_type_date$subexpression$2",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("without")},{name:"data_type_date$subexpression$3",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("time")},{name:"data_type_date$subexpression$4",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("zone")},{name:"data_type_date",symbols:["data_type_date$subexpression$1","data_type_date$subexpression$2","data_type_date$subexpression$3","data_type_date$subexpression$4"],postprocess:e=>(0,n.track)(e,{name:d(e," ")})},{name:"data_type_date$subexpression$5",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:w("timestamp","time")},{name:"data_type_date$subexpression$6",symbols:["lparen","int","rparen"],postprocess:p(1)},{name:"data_type_date$subexpression$7",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with]},{name:"data_type_date$subexpression$7",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("without")},{name:"data_type_date$subexpression$8",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("time")},{name:"data_type_date$subexpression$9",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:f("zone")},{name:"data_type_date",symbols:["data_type_date$subexpression$5","data_type_date$subexpression$6","data_type_date$subexpression$7","data_type_date$subexpression$8","data_type_date$subexpression$9"],postprocess:e=>(0,n.track)(e,{name:`timestamp ${d(e[2])} time zone`,config:[(0,n.unbox)(e[1])]})},{name:"ident_aliased$subexpression$1",symbols:[a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"ident"],postprocess:m},{name:"ident_aliased",symbols:["ident_aliased$subexpression$1"]},{name:"ident_aliased",symbols:["ident"],postprocess:c},{name:"table_ref",symbols:["qualified_name"],postprocess:c},{name:"qcolumn$ebnf$1$subexpression$1",symbols:["dot","ident"],postprocess:m},{name:"qcolumn$ebnf$1",symbols:["qcolumn$ebnf$1$subexpression$1"],postprocess:r},{name:"qcolumn$ebnf$1",symbols:[],postprocess:()=>null},{name:"qcolumn",symbols:["ident","dot","ident","qcolumn$ebnf$1"],postprocess:e=>e[3]?(0,n.track)(e,{schema:(0,n.unbox)(e[0]),table:(0,n.unbox)(e[2]),column:(0,n.unbox)(e[3])}):(0,n.track)(e,{table:(0,n.unbox)(e[0]),column:(0,n.unbox)(e[2])})},{name:"table_ref_aliased$ebnf$1",symbols:["ident_aliased"],postprocess:r},{name:"table_ref_aliased$ebnf$1",symbols:[],postprocess:()=>null},{name:"table_ref_aliased",symbols:["table_ref","table_ref_aliased$ebnf$1"],postprocess:e=>{const t=c(e[1]);return(0,n.track)(e,{...c(e[0]),...t?{alias:t}:{}})}},{name:"qualified_name",symbols:["qname_ident"],postprocess:e=>(0,n.track)(e,{name:d(e)})},{name:"qualified_name",symbols:["ident","dot","ident_extended"],postprocess:e=>{const t=d(e[0]),s=d(e[2]);return(0,n.track)(e,{schema:t,name:s})}},{name:"qualified_name",symbols:[a.lexerAny.has("kw_current_schema")?{type:"kw_current_schema"}:kw_current_schema],postprocess:e=>(0,n.track)(e,{name:"current_schema"})},{name:"qualified_name_mark_quotes",symbols:["qname_ident"],postprocess:e=>(0,n.track)(e,{name:d(e),...(0,n.doubleQuoted)(e)})},{name:"qualified_name_mark_quotes",symbols:["ident","dot","ident_extended"],postprocess:e=>{const t=d(e[0]),s=d(e[2]);return(0,n.track)(e,{schema:t,name:s,...(0,n.doubleQuoted)(e[2])})}},{name:"qualified_name_mark_quotes",symbols:[a.lexerAny.has("kw_current_schema")?{type:"kw_current_schema"}:kw_current_schema],postprocess:e=>(0,n.track)(e,{name:"current_schema"})},{name:"qname_ident",symbols:["ident"]},{name:"qname_ident",symbols:[a.lexerAny.has("kw_precision")?{type:"kw_precision"}:kw_precision]},{name:"qname",symbols:["qualified_name"],postprocess:c},{name:"any_keyword",symbols:[a.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_analyse")?{type:"kw_analyse"}:kw_analyse]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_analyze")?{type:"kw_analyze"}:kw_analyze]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_and")?{type:"kw_and"}:kw_and]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_any")?{type:"kw_any"}:kw_any]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_array")?{type:"kw_array"}:kw_array]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_asc")?{type:"kw_asc"}:kw_asc]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_asymmetric")?{type:"kw_asymmetric"}:kw_asymmetric]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_authorization")?{type:"kw_authorization"}:kw_authorization]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_binary")?{type:"kw_binary"}:kw_binary]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_both")?{type:"kw_both"}:kw_both]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_case")?{type:"kw_case"}:kw_case]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_cast")?{type:"kw_cast"}:kw_cast]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_check")?{type:"kw_check"}:kw_check]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_collate")?{type:"kw_collate"}:kw_collate]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_collation")?{type:"kw_collation"}:kw_collation]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_concurrently")?{type:"kw_concurrently"}:kw_concurrently]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_cross")?{type:"kw_cross"}:kw_cross]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_current_catalog")?{type:"kw_current_catalog"}:kw_current_catalog]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_current_date")?{type:"kw_current_date"}:kw_current_date]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_current_role")?{type:"kw_current_role"}:kw_current_role]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_current_schema")?{type:"kw_current_schema"}:kw_current_schema]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_current_time")?{type:"kw_current_time"}:kw_current_time]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_current_timestamp")?{type:"kw_current_timestamp"}:kw_current_timestamp]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_current_user")?{type:"kw_current_user"}:kw_current_user]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_deferrable")?{type:"kw_deferrable"}:kw_deferrable]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_desc")?{type:"kw_desc"}:kw_desc]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_distinct")?{type:"kw_distinct"}:kw_distinct]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_do")?{type:"kw_do"}:kw_do]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_else")?{type:"kw_else"}:kw_else]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_end")?{type:"kw_end"}:kw_end]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_except")?{type:"kw_except"}:kw_except]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_false")?{type:"kw_false"}:kw_false]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_fetch")?{type:"kw_fetch"}:kw_fetch]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_for")?{type:"kw_for"}:kw_for]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_foreign")?{type:"kw_foreign"}:kw_foreign]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_freeze")?{type:"kw_freeze"}:kw_freeze]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_full")?{type:"kw_full"}:kw_full]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_grant")?{type:"kw_grant"}:kw_grant]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_group")?{type:"kw_group"}:kw_group]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_having")?{type:"kw_having"}:kw_having]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_ilike")?{type:"kw_ilike"}:kw_ilike]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_in")?{type:"kw_in"}:kw_in]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_initially")?{type:"kw_initially"}:kw_initially]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_inner")?{type:"kw_inner"}:kw_inner]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_intersect")?{type:"kw_intersect"}:kw_intersect]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_into")?{type:"kw_into"}:kw_into]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_isnull")?{type:"kw_isnull"}:kw_isnull]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_join")?{type:"kw_join"}:kw_join]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_lateral")?{type:"kw_lateral"}:kw_lateral]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_leading")?{type:"kw_leading"}:kw_leading]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_left")?{type:"kw_left"}:kw_left]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_like")?{type:"kw_like"}:kw_like]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_limit")?{type:"kw_limit"}:kw_limit]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_localtime")?{type:"kw_localtime"}:kw_localtime]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_localtimestamp")?{type:"kw_localtimestamp"}:kw_localtimestamp]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_natural")?{type:"kw_natural"}:kw_natural]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_notnull")?{type:"kw_notnull"}:kw_notnull]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_offset")?{type:"kw_offset"}:kw_offset]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_only")?{type:"kw_only"}:kw_only]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_or")?{type:"kw_or"}:kw_or]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_order")?{type:"kw_order"}:kw_order]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_outer")?{type:"kw_outer"}:kw_outer]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_overlaps")?{type:"kw_overlaps"}:kw_overlaps]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_placing")?{type:"kw_placing"}:kw_placing]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_primary")?{type:"kw_primary"}:kw_primary]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_references")?{type:"kw_references"}:kw_references]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_returning")?{type:"kw_returning"}:kw_returning]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_right")?{type:"kw_right"}:kw_right]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_select")?{type:"kw_select"}:kw_select]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_session_user")?{type:"kw_session_user"}:kw_session_user]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_similar")?{type:"kw_similar"}:kw_similar]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_some")?{type:"kw_some"}:kw_some]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_symmetric")?{type:"kw_symmetric"}:kw_symmetric]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_tablesample")?{type:"kw_tablesample"}:kw_tablesample]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_then")?{type:"kw_then"}:kw_then]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_trailing")?{type:"kw_trailing"}:kw_trailing]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_true")?{type:"kw_true"}:kw_true]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_union")?{type:"kw_union"}:kw_union]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_user")?{type:"kw_user"}:kw_user]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_using")?{type:"kw_using"}:kw_using]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_variadic")?{type:"kw_variadic"}:kw_variadic]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_verbose")?{type:"kw_verbose"}:kw_verbose]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_when")?{type:"kw_when"}:kw_when]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_window")?{type:"kw_window"}:kw_window]},{name:"any_keyword",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with]},{name:"ident_extended",symbols:["ident"]},{name:"ident_extended",symbols:["any_keyword"]},{name:"select_statement$ebnf$1",symbols:["select_from"],postprocess:r},{name:"select_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$2",symbols:["select_where"],postprocess:r},{name:"select_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$3$subexpression$1$ebnf$1",symbols:["select_having"],postprocess:r},{name:"select_statement$ebnf$3$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$3$subexpression$1",symbols:["select_groupby","select_statement$ebnf$3$subexpression$1$ebnf$1"]},{name:"select_statement$ebnf$3",symbols:["select_statement$ebnf$3$subexpression$1"],postprocess:r},{name:"select_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$4",symbols:["select_order_by"],postprocess:r},{name:"select_statement$ebnf$4",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$5",symbols:["select_limit_offset"],postprocess:r},{name:"select_statement$ebnf$5",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$6$subexpression$1$ebnf$1",symbols:["select_skip"],postprocess:r},{name:"select_statement$ebnf$6$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$6$subexpression$1",symbols:["select_for","select_statement$ebnf$6$subexpression$1$ebnf$1"]},{name:"select_statement$ebnf$6",symbols:["select_statement$ebnf$6$subexpression$1"],postprocess:r},{name:"select_statement$ebnf$6",symbols:[],postprocess:()=>null},{name:"select_statement",symbols:["select_what","select_statement$ebnf$1","select_statement$ebnf$2","select_statement$ebnf$3","select_statement$ebnf$4","select_statement$ebnf$5","select_statement$ebnf$6"],postprocess:e=>{let[t,s,r,a,o,l,i]=e;s=c(s);let p=a&&a[0],m=a&&a[1];p=p&&(1===p.length&&"list"===p[0].type?p[0].expressions:p),m=m&&c(m);let u=i&&i[0],b=i&&i[1];return b=c(b),(0,n.track)(e,{...t,...s?{from:Array.isArray(s)?s:[s]}:{},...p?{groupBy:p}:{},...m?{having:m}:{},...l?{limit:c(l)}:{},...o?{orderBy:o}:{},...r?{where:r}:{},...u?{for:u[1]}:{},...b?{skip:b}:{},type:"select"})}},{name:"select_from",symbols:[a.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"select_from_items"],postprocess:m},{name:"select_from_items$ebnf$1",symbols:[]},{name:"select_from_items$ebnf$1$subexpression$1",symbols:["comma","select_from_item"],postprocess:m},{name:"select_from_items$ebnf$1",symbols:["select_from_items$ebnf$1","select_from_items$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"select_from_items",symbols:["select_from_item","select_from_items$ebnf$1"],postprocess:([e,t])=>[...e,...u(t)||[]]},{name:"select_from_item",symbols:["select_from_subject"]},{name:"select_from_item",symbols:["select_from_item_joins"],postprocess:p(0)},{name:"select_from_item_joins$subexpression$1",symbols:["select_from_item"],postprocess:p(0)},{name:"select_from_item_joins",symbols:["select_from_item_joins$subexpression$1","select_table_join"],postprocess:u},{name:"select_from_item_joins",symbols:["lparen","select_from_item_joins","rparen"],postprocess:p(1)},{name:"select_from_subject",symbols:["stb_table"],postprocess:c},{name:"select_from_subject",symbols:["stb_statement"],postprocess:c},{name:"select_from_subject",symbols:["stb_call"],postprocess:c},{name:"stb_opts$ebnf$1",symbols:["collist_paren"],postprocess:r},{name:"stb_opts$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_opts",symbols:["ident_aliased","stb_opts$ebnf$1"],postprocess:e=>(0,n.track)(e,{alias:d(e[0]),...e[1]&&{columnNames:(0,n.unbox)(e[1]).map(o)}})},{name:"stb_table$ebnf$1",symbols:["stb_opts"],postprocess:r},{name:"stb_table$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_table",symbols:["table_ref","stb_table$ebnf$1"],postprocess:e=>(0,n.track)(e,{type:"table",name:(0,n.track)(e,{...e[0],...e[1]})})},{name:"stb_statement",symbols:["selection_paren","stb_opts"],postprocess:e=>(0,n.track)(e,{type:"statement",statement:c(e[0]),...e[1]})},{name:"select_values",symbols:["kw_values","insert_values"],postprocess:e=>(0,n.track)(e,{type:"values",values:e[1]})},{name:"stb_call$ebnf$1",symbols:["kw_withordinality"],postprocess:r},{name:"stb_call$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_call$ebnf$2",symbols:["stb_call_alias"],postprocess:r},{name:"stb_call$ebnf$2",symbols:[],postprocess:()=>null},{name:"stb_call",symbols:["expr_function_call","stb_call$ebnf$1","stb_call$ebnf$2"],postprocess:e=>{const t=e[1],s=e[2];return t||s?(0,n.track)(e,{...e[0],...t&&{withOrdinality:!0},alias:s?l(s[0],s[1]):void 0}):e[0]}},{name:"stb_call_alias$subexpression$1$ebnf$1",symbols:[a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as],postprocess:r},{name:"stb_call_alias$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_call_alias$subexpression$1",symbols:["stb_call_alias$subexpression$1$ebnf$1","ident"],postprocess:m},{name:"stb_call_alias$ebnf$1",symbols:["stb_call_alias_list"],postprocess:r},{name:"stb_call_alias$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_call_alias",symbols:["stb_call_alias$subexpression$1","stb_call_alias$ebnf$1"]},{name:"stb_call_alias_list",symbols:["lparen","stb_call_alias_list_raw","rparen"],postprocess:p(1)},{name:"stb_call_alias_list_raw$ebnf$1",symbols:[]},{name:"stb_call_alias_list_raw$ebnf$1$subexpression$1",symbols:["comma","ident"],postprocess:m},{name:"stb_call_alias_list_raw$ebnf$1",symbols:["stb_call_alias_list_raw$ebnf$1","stb_call_alias_list_raw$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"stb_call_alias_list_raw",symbols:["ident","stb_call_alias_list_raw$ebnf$1"],postprocess:([e,t])=>[e,...t||[]]},{name:"select_table_join$ebnf$1",symbols:["select_table_join_clause"],postprocess:r},{name:"select_table_join$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_table_join",symbols:["select_join_op",a.lexerAny.has("kw_join")?{type:"kw_join"}:kw_join,"select_from_subject","select_table_join$ebnf$1"],postprocess:e=>(0,n.track)(e,{...c(e[2]),join:{type:d(e[0]," "),...e[3]&&c(e[3])}})},{name:"select_table_join_clause",symbols:[a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"expr"],postprocess:e=>(0,n.track)(e,{on:m(e)})},{name:"select_table_join_clause$macrocall$2",symbols:["ident"]},{name:"select_table_join_clause$macrocall$1$ebnf$1",symbols:[]},{name:"select_table_join_clause$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"select_table_join_clause$macrocall$2"],postprocess:m},{name:"select_table_join_clause$macrocall$1$ebnf$1",symbols:["select_table_join_clause$macrocall$1$ebnf$1","select_table_join_clause$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"select_table_join_clause$macrocall$1",symbols:["select_table_join_clause$macrocall$2","select_table_join_clause$macrocall$1$ebnf$1"],postprocess:([e,t])=>[c(e),...t.map(c)||[]]},{name:"select_table_join_clause",symbols:[a.lexerAny.has("kw_using")?{type:"kw_using"}:kw_using,"lparen","select_table_join_clause$macrocall$1","rparen"],postprocess:e=>(0,n.track)(e,{using:e[2].map(o)})},{name:"select_join_op$subexpression$1$ebnf$1",symbols:[a.lexerAny.has("kw_inner")?{type:"kw_inner"}:kw_inner],postprocess:r},{name:"select_join_op$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_join_op$subexpression$1",symbols:["select_join_op$subexpression$1$ebnf$1"],postprocess:e=>(0,n.box)(e,"INNER JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$1"]},{name:"select_join_op$subexpression$2",symbols:[a.lexerAny.has("kw_cross")?{type:"kw_cross"}:kw_cross],postprocess:e=>(0,n.box)(e,"CROSS JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$2"]},{name:"select_join_op$subexpression$3$ebnf$1",symbols:[a.lexerAny.has("kw_outer")?{type:"kw_outer"}:kw_outer],postprocess:r},{name:"select_join_op$subexpression$3$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_join_op$subexpression$3",symbols:[a.lexerAny.has("kw_left")?{type:"kw_left"}:kw_left,"select_join_op$subexpression$3$ebnf$1"],postprocess:e=>(0,n.box)(e,"LEFT JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$3"]},{name:"select_join_op$subexpression$4$ebnf$1",symbols:[a.lexerAny.has("kw_outer")?{type:"kw_outer"}:kw_outer],postprocess:r},{name:"select_join_op$subexpression$4$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_join_op$subexpression$4",symbols:[a.lexerAny.has("kw_right")?{type:"kw_right"}:kw_right,"select_join_op$subexpression$4$ebnf$1"],postprocess:e=>(0,n.box)(e,"RIGHT JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$4"]},{name:"select_join_op$subexpression$5$ebnf$1",symbols:[a.lexerAny.has("kw_outer")?{type:"kw_outer"}:kw_outer],postprocess:r},{name:"select_join_op$subexpression$5$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_join_op$subexpression$5",symbols:[a.lexerAny.has("kw_full")?{type:"kw_full"}:kw_full,"select_join_op$subexpression$5$ebnf$1"],postprocess:e=>(0,n.box)(e,"FULL JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$5"]},{name:"select_what$ebnf$1",symbols:["select_distinct"],postprocess:r},{name:"select_what$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_what$ebnf$2",symbols:["select_expr_list_aliased"],postprocess:r},{name:"select_what$ebnf$2",symbols:[],postprocess:()=>null},{name:"select_what",symbols:[a.lexerAny.has("kw_select")?{type:"kw_select"}:kw_select,"select_what$ebnf$1","select_what$ebnf$2"],postprocess:e=>(0,n.track)(e,{columns:e[2],...e[1]&&{distinct:(0,n.unbox)(e[1])}})},{name:"select_expr_list_aliased$ebnf$1",symbols:[]},{name:"select_expr_list_aliased$ebnf$1$subexpression$1",symbols:["comma","select_expr_list_item"],postprocess:m},{name:"select_expr_list_aliased$ebnf$1",symbols:["select_expr_list_aliased$ebnf$1","select_expr_list_aliased$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"select_expr_list_aliased",symbols:["select_expr_list_item","select_expr_list_aliased$ebnf$1"],postprocess:([e,t])=>[e,...t||[]]},{name:"select_expr_list_item$ebnf$1",symbols:["ident_aliased"],postprocess:r},{name:"select_expr_list_item$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_expr_list_item",symbols:["expr","select_expr_list_item$ebnf$1"],postprocess:e=>(0,n.track)(e,{expr:e[0],...e[1]?{alias:o(e[1])}:{}})},{name:"select_distinct",symbols:[a.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all],postprocess:e=>(0,n.box)(e,"all")},{name:"select_distinct$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"lparen","expr_list_raw","rparen"],postprocess:p(2)},{name:"select_distinct$ebnf$1",symbols:["select_distinct$ebnf$1$subexpression$1"],postprocess:r},{name:"select_distinct$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_distinct",symbols:[a.lexerAny.has("kw_distinct")?{type:"kw_distinct"}:kw_distinct,"select_distinct$ebnf$1"],postprocess:e=>(0,n.box)(e,e[1]||"distinct")},{name:"select_where",symbols:[a.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where,"expr"],postprocess:m},{name:"select_groupby",symbols:[a.lexerAny.has("kw_group")?{type:"kw_group"}:kw_group,"kw_by","expr_list_raw"],postprocess:m},{name:"select_having",symbols:[a.lexerAny.has("kw_having")?{type:"kw_having"}:kw_having,"expr"],postprocess:m},{name:"select_limit_offset$ebnf$1$subexpression$1",symbols:["select_offset"]},{name:"select_limit_offset$ebnf$1$subexpression$1",symbols:["select_limit"]},{name:"select_limit_offset$ebnf$1",symbols:["select_limit_offset$ebnf$1$subexpression$1"]},{name:"select_limit_offset$ebnf$1$subexpression$2",symbols:["select_offset"]},{name:"select_limit_offset$ebnf$1$subexpression$2",symbols:["select_limit"]},{name:"select_limit_offset$ebnf$1",symbols:["select_limit_offset$ebnf$1","select_limit_offset$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"select_limit_offset",symbols:["select_limit_offset$ebnf$1"],postprocess:(e,t)=>{const s=c(e);if(!Array.isArray(s))return(0,n.track)(e,s);if(2!=s.length)return t;const r=c(s[0]),a=c(s[1]);return r.offset&&a.offset||r.limit&&a.limit?t:(0,n.track)(e,{...r,...a})}},{name:"select_offset$ebnf$1$subexpression$1",symbols:["kw_row"]},{name:"select_offset$ebnf$1$subexpression$1",symbols:["kw_rows"]},{name:"select_offset$ebnf$1",symbols:["select_offset$ebnf$1$subexpression$1"],postprocess:r},{name:"select_offset$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_offset",symbols:[a.lexerAny.has("kw_offset")?{type:"kw_offset"}:kw_offset,"expr_nostar","select_offset$ebnf$1"],postprocess:e=>(0,n.track)(e,{offset:c(e[1])})},{name:"select_limit$subexpression$1",symbols:["select_limit_1"]},{name:"select_limit$subexpression$1",symbols:["select_limit_2"]},{name:"select_limit",symbols:["select_limit$subexpression$1"],postprocess:e=>(0,n.track)(e,{limit:c(e)})},{name:"select_limit_1",symbols:[a.lexerAny.has("kw_limit")?{type:"kw_limit"}:kw_limit,"expr_nostar"],postprocess:m},{name:"select_limit_2$ebnf$1$subexpression$1",symbols:["kw_first"]},{name:"select_limit_2$ebnf$1$subexpression$1",symbols:["kw_next"]},{name:"select_limit_2$ebnf$1",symbols:["select_limit_2$ebnf$1$subexpression$1"],postprocess:r},{name:"select_limit_2$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_limit_2$subexpression$1",symbols:["kw_row"]},{name:"select_limit_2$subexpression$1",symbols:["kw_rows"]},{name:"select_limit_2",symbols:[a.lexerAny.has("kw_fetch")?{type:"kw_fetch"}:kw_fetch,"select_limit_2$ebnf$1","expr_nostar","select_limit_2$subexpression$1",a.lexerAny.has("kw_only")?{type:"kw_only"}:kw_only],postprocess:p(2)},{name:"select_for$subexpression$1",symbols:["kw_update"],postprocess:e=>(0,n.track)(e,{type:"update"})},{name:"select_for$subexpression$1",symbols:["kw_no","kw_key","kw_update"],postprocess:e=>(0,n.track)(e,{type:"no key update"})},{name:"select_for$subexpression$1",symbols:["kw_share"],postprocess:e=>(0,n.track)(e,{type:"share"})},{name:"select_for$subexpression$1",symbols:["kw_key","kw_share"],postprocess:e=>(0,n.track)(e,{type:"key share"})},{name:"select_for",symbols:[a.lexerAny.has("kw_for")?{type:"kw_for"}:kw_for,"select_for$subexpression$1"]},{name:"select_skip$subexpression$1",symbols:["kw_nowait"],postprocess:e=>(0,n.track)(e,{type:"nowait"})},{name:"select_skip$subexpression$1",symbols:["kw_skip","kw_locked"],postprocess:e=>(0,n.track)(e,{type:"skip locked"})},{name:"select_skip",symbols:["select_skip$subexpression$1"]},{name:"select_order_by$subexpression$1",symbols:[a.lexerAny.has("kw_order")?{type:"kw_order"}:kw_order,"kw_by"]},{name:"select_order_by$ebnf$1",symbols:[]},{name:"select_order_by$ebnf$1$subexpression$1",symbols:["comma","select_order_by_expr"],postprocess:m},{name:"select_order_by$ebnf$1",symbols:["select_order_by$ebnf$1","select_order_by$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"select_order_by",symbols:["select_order_by$subexpression$1","select_order_by_expr","select_order_by$ebnf$1"],postprocess:([e,t,s])=>[t,...s||[]]},{name:"select_order_by_expr$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_asc")?{type:"kw_asc"}:kw_asc]},{name:"select_order_by_expr$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_desc")?{type:"kw_desc"}:kw_desc]},{name:"select_order_by_expr$ebnf$1",symbols:["select_order_by_expr$ebnf$1$subexpression$1"],postprocess:r},{name:"select_order_by_expr$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_order_by_expr$ebnf$2$subexpression$1$subexpression$1",symbols:["kw_first"]},{name:"select_order_by_expr$ebnf$2$subexpression$1$subexpression$1",symbols:["kw_last"]},{name:"select_order_by_expr$ebnf$2$subexpression$1",symbols:["kw_nulls","select_order_by_expr$ebnf$2$subexpression$1$subexpression$1"],postprocess:m},{name:"select_order_by_expr$ebnf$2",symbols:["select_order_by_expr$ebnf$2$subexpression$1"],postprocess:r},{name:"select_order_by_expr$ebnf$2",symbols:[],postprocess:()=>null},{name:"select_order_by_expr",symbols:["expr","select_order_by_expr$ebnf$1","select_order_by_expr$ebnf$2"],postprocess:e=>(0,n.track)(e,{by:e[0],...e[1]&&{order:d(e[1]).toUpperCase()},...e[2]&&{nulls:d(e[2]).toUpperCase()}})},{name:"expr",symbols:["expr_nostar"],postprocess:c},{name:"expr",symbols:["expr_star"],postprocess:c},{name:"expr_nostar",symbols:["expr_paren"],postprocess:c},{name:"expr_nostar",symbols:["expr_or"],postprocess:c},{name:"expr_paren$subexpression$1",symbols:["expr_or_select"]},{name:"expr_paren$subexpression$1",symbols:["expr_list_many"]},{name:"expr_paren",symbols:["lparen","expr_paren$subexpression$1","rparen"],postprocess:p(1)},{name:"expr_or$macrocall$2$macrocall$2",symbols:[a.lexerAny.has("kw_or")?{type:"kw_or"}:kw_or]},{name:"expr_or$macrocall$2$macrocall$1",symbols:["expr_or$macrocall$2$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"").toUpperCase()})},{name:"expr_or$macrocall$2",symbols:["expr_or$macrocall$2$macrocall$1"]},{name:"expr_or$macrocall$3",symbols:["expr_or"]},{name:"expr_or$macrocall$4",symbols:["expr_and"]},{name:"expr_or$macrocall$1$subexpression$1",symbols:["expr_or$macrocall$3"]},{name:"expr_or$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_or$macrocall$1$subexpression$2",symbols:["expr_or$macrocall$4"]},{name:"expr_or$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_or$macrocall$1",symbols:["expr_or$macrocall$1$subexpression$1","expr_or$macrocall$2","expr_or$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_or$macrocall$1",symbols:["expr_or$macrocall$4"],postprocess:c},{name:"expr_or",symbols:["expr_or$macrocall$1"]},{name:"expr_and$macrocall$2$macrocall$2",symbols:[a.lexerAny.has("kw_and")?{type:"kw_and"}:kw_and]},{name:"expr_and$macrocall$2$macrocall$1",symbols:["expr_and$macrocall$2$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"").toUpperCase()})},{name:"expr_and$macrocall$2",symbols:["expr_and$macrocall$2$macrocall$1"]},{name:"expr_and$macrocall$3",symbols:["expr_and"]},{name:"expr_and$macrocall$4",symbols:["expr_not"]},{name:"expr_and$macrocall$1$subexpression$1",symbols:["expr_and$macrocall$3"]},{name:"expr_and$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_and$macrocall$1$subexpression$2",symbols:["expr_and$macrocall$4"]},{name:"expr_and$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_and$macrocall$1",symbols:["expr_and$macrocall$1$subexpression$1","expr_and$macrocall$2","expr_and$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_and$macrocall$1",symbols:["expr_and$macrocall$4"],postprocess:c},{name:"expr_and",symbols:["expr_and$macrocall$1"]},{name:"expr_not$macrocall$2$macrocall$2",symbols:[a.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not]},{name:"expr_not$macrocall$2$macrocall$1",symbols:["expr_not$macrocall$2$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"").toUpperCase()})},{name:"expr_not$macrocall$2",symbols:["expr_not$macrocall$2$macrocall$1"]},{name:"expr_not$macrocall$3",symbols:["expr_not"]},{name:"expr_not$macrocall$4",symbols:["expr_eq"]},{name:"expr_not$macrocall$1$subexpression$1",symbols:["expr_not$macrocall$3"]},{name:"expr_not$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_not$macrocall$1",symbols:["expr_not$macrocall$2","expr_not$macrocall$1$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"unary",...c(e[0]),operand:c(e[1])})},{name:"expr_not$macrocall$1",symbols:["expr_not$macrocall$4"],postprocess:c},{name:"expr_not",symbols:["expr_not$macrocall$1"]},{name:"expr_eq$macrocall$2$macrocall$2$subexpression$1",symbols:[a.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq]},{name:"expr_eq$macrocall$2$macrocall$2$subexpression$1",symbols:[a.lexerAny.has("op_neq")?{type:"op_neq"}:op_neq]},{name:"expr_eq$macrocall$2$macrocall$2",symbols:["expr_eq$macrocall$2$macrocall$2$subexpression$1"]},{name:"expr_eq$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_eq$macrocall$2$macrocall$2"]},{name:"expr_eq$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_eq$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"").toUpperCase()})},{name:"expr_eq$macrocall$2$macrocall$1",symbols:["expr_eq$macrocall$2$macrocall$1$macrocall$1"],postprocess:c},{name:"expr_eq$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_eq$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(d(e[4]," ")||"").toUpperCase(),opSchema:d(e[2])})},{name:"expr_eq$macrocall$2",symbols:["expr_eq$macrocall$2$macrocall$1"]},{name:"expr_eq$macrocall$3",symbols:["expr_eq"]},{name:"expr_eq$macrocall$4",symbols:["expr_is"]},{name:"expr_eq$macrocall$1$subexpression$1",symbols:["expr_eq$macrocall$3"]},{name:"expr_eq$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_eq$macrocall$1$subexpression$2",symbols:["expr_eq$macrocall$4"]},{name:"expr_eq$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_eq$macrocall$1",symbols:["expr_eq$macrocall$1$subexpression$1","expr_eq$macrocall$2","expr_eq$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_eq$macrocall$1",symbols:["expr_eq$macrocall$4"],postprocess:c},{name:"expr_eq",symbols:["expr_eq$macrocall$1"]},{name:"expr_star",symbols:["star"],postprocess:e=>(0,n.track)(e,{type:"ref",name:"*"})},{name:"expr_is$subexpression$1",symbols:["expr_is"]},{name:"expr_is$subexpression$1",symbols:["expr_paren"]},{name:"expr_is$subexpression$2",symbols:[a.lexerAny.has("kw_isnull")?{type:"kw_isnull"}:kw_isnull]},{name:"expr_is$subexpression$2",symbols:[a.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is,a.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null]},{name:"expr_is",symbols:["expr_is$subexpression$1","expr_is$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"unary",op:"IS NULL",operand:c(e[0])})},{name:"expr_is$subexpression$3",symbols:["expr_is"]},{name:"expr_is$subexpression$3",symbols:["expr_paren"]},{name:"expr_is$subexpression$4",symbols:[a.lexerAny.has("kw_notnull")?{type:"kw_notnull"}:kw_notnull]},{name:"expr_is$subexpression$4",symbols:[a.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is,"kw_not_null"]},{name:"expr_is",symbols:["expr_is$subexpression$3","expr_is$subexpression$4"],postprocess:e=>(0,n.track)(e,{type:"unary",op:"IS NOT NULL",operand:c(e[0])})},{name:"expr_is$subexpression$5",symbols:["expr_is"]},{name:"expr_is$subexpression$5",symbols:["expr_paren"]},{name:"expr_is$ebnf$1",symbols:[a.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:r},{name:"expr_is$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_is$subexpression$6",symbols:[a.lexerAny.has("kw_true")?{type:"kw_true"}:kw_true]},{name:"expr_is$subexpression$6",symbols:[a.lexerAny.has("kw_false")?{type:"kw_false"}:kw_false]},{name:"expr_is",symbols:["expr_is$subexpression$5",a.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is,"expr_is$ebnf$1","expr_is$subexpression$6"],postprocess:e=>(0,n.track)(e,{type:"unary",op:"IS "+y([e[2],e[3]]).join(" ").toUpperCase(),operand:c(e[0])})},{name:"expr_is",symbols:["expr_compare"],postprocess:c},{name:"expr_compare$macrocall$2$macrocall$2",symbols:[a.lexerAny.has("op_compare")?{type:"op_compare"}:op_compare]},{name:"expr_compare$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_compare$macrocall$2$macrocall$2"]},{name:"expr_compare$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_compare$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"").toUpperCase()})},{name:"expr_compare$macrocall$2$macrocall$1",symbols:["expr_compare$macrocall$2$macrocall$1$macrocall$1"],postprocess:c},{name:"expr_compare$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_compare$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(d(e[4]," ")||"").toUpperCase(),opSchema:d(e[2])})},{name:"expr_compare$macrocall$2",symbols:["expr_compare$macrocall$2$macrocall$1"]},{name:"expr_compare$macrocall$3",symbols:["expr_compare"]},{name:"expr_compare$macrocall$4",symbols:["expr_range"]},{name:"expr_compare$macrocall$1$subexpression$1",symbols:["expr_compare$macrocall$3"]},{name:"expr_compare$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_compare$macrocall$1$subexpression$2",symbols:["expr_compare$macrocall$4"]},{name:"expr_compare$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_compare$macrocall$1",symbols:["expr_compare$macrocall$1$subexpression$1","expr_compare$macrocall$2","expr_compare$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_compare$macrocall$1",symbols:["expr_compare$macrocall$4"],postprocess:c},{name:"expr_compare",symbols:["expr_compare$macrocall$1"]},{name:"expr_range$macrocall$2",symbols:["ops_between"]},{name:"expr_range$macrocall$3",symbols:[a.lexerAny.has("kw_and")?{type:"kw_and"}:kw_and]},{name:"expr_range$macrocall$4",symbols:["expr_range"]},{name:"expr_range$macrocall$5",symbols:["expr_others"]},{name:"expr_range$macrocall$1$subexpression$1",symbols:["expr_range$macrocall$4"]},{name:"expr_range$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_range$macrocall$1$subexpression$2",symbols:["expr_range$macrocall$4"]},{name:"expr_range$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_range$macrocall$1$subexpression$3",symbols:["expr_range$macrocall$5"]},{name:"expr_range$macrocall$1$subexpression$3",symbols:["expr_paren"]},{name:"expr_range$macrocall$1",symbols:["expr_range$macrocall$1$subexpression$1","expr_range$macrocall$2","expr_range$macrocall$1$subexpression$2","expr_range$macrocall$3","expr_range$macrocall$1$subexpression$3"],postprocess:e=>(0,n.track)(e,{type:"ternary",value:c(e[0]),lo:c(e[2]),hi:c(e[4]),op:(y(e[1]).join(" ")||"").toUpperCase()})},{name:"expr_range$macrocall$1",symbols:["expr_range$macrocall$5"],postprocess:c},{name:"expr_range",symbols:["expr_range$macrocall$1"]},{name:"expr_others$macrocall$2$macrocall$2",symbols:[a.lexerAny.has("ops_others")?{type:"ops_others"}:ops_others]},{name:"expr_others$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_others$macrocall$2$macrocall$2"]},{name:"expr_others$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_others$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"").toUpperCase()})},{name:"expr_others$macrocall$2$macrocall$1",symbols:["expr_others$macrocall$2$macrocall$1$macrocall$1"],postprocess:c},{name:"expr_others$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_others$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(d(e[4]," ")||"").toUpperCase(),opSchema:d(e[2])})},{name:"expr_others$macrocall$2",symbols:["expr_others$macrocall$2$macrocall$1"]},{name:"expr_others$macrocall$3",symbols:["expr_others"]},{name:"expr_others$macrocall$4",symbols:["expr_like"]},{name:"expr_others$macrocall$1$subexpression$1",symbols:["expr_others$macrocall$3"]},{name:"expr_others$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_others$macrocall$1$subexpression$2",symbols:["expr_others$macrocall$4"]},{name:"expr_others$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_others$macrocall$1",symbols:["expr_others$macrocall$1$subexpression$1","expr_others$macrocall$2","expr_others$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_others$macrocall$1",symbols:["expr_others$macrocall$4"],postprocess:c},{name:"expr_others",symbols:["expr_others$macrocall$1"]},{name:"expr_like$macrocall$2$macrocall$2",symbols:["ops_like"]},{name:"expr_like$macrocall$2$macrocall$1",symbols:["expr_like$macrocall$2$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"").toUpperCase()})},{name:"expr_like$macrocall$2",symbols:["expr_like$macrocall$2$macrocall$1"]},{name:"expr_like$macrocall$3",symbols:["expr_like"]},{name:"expr_like$macrocall$4",symbols:["expr_in"]},{name:"expr_like$macrocall$1$subexpression$1",symbols:["expr_like$macrocall$3"]},{name:"expr_like$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_like$macrocall$1$subexpression$2",symbols:["expr_like$macrocall$4"]},{name:"expr_like$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_like$macrocall$1",symbols:["expr_like$macrocall$1$subexpression$1","expr_like$macrocall$2","expr_like$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_like$macrocall$1",symbols:["expr_like$macrocall$4"],postprocess:c},{name:"expr_like",symbols:["expr_like$macrocall$1"]},{name:"expr_in$macrocall$2$macrocall$2",symbols:["ops_in"]},{name:"expr_in$macrocall$2$macrocall$1",symbols:["expr_in$macrocall$2$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"").toUpperCase()})},{name:"expr_in$macrocall$2",symbols:["expr_in$macrocall$2$macrocall$1"]},{name:"expr_in$macrocall$3",symbols:["expr_in"]},{name:"expr_in$macrocall$4",symbols:["expr_add"]},{name:"expr_in$macrocall$1$subexpression$1",symbols:["expr_in$macrocall$3"]},{name:"expr_in$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_in$macrocall$1$subexpression$2",symbols:["expr_in$macrocall$4"]},{name:"expr_in$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_in$macrocall$1",symbols:["expr_in$macrocall$1$subexpression$1","expr_in$macrocall$2","expr_in$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_in$macrocall$1",symbols:["expr_in$macrocall$4"],postprocess:c},{name:"expr_in",symbols:["expr_in$macrocall$1"]},{name:"expr_add$macrocall$2$macrocall$2$subexpression$1",symbols:[a.lexerAny.has("op_plus")?{type:"op_plus"}:op_plus]},{name:"expr_add$macrocall$2$macrocall$2$subexpression$1",symbols:[a.lexerAny.has("op_minus")?{type:"op_minus"}:op_minus]},{name:"expr_add$macrocall$2$macrocall$2$subexpression$1",symbols:[a.lexerAny.has("op_additive")?{type:"op_additive"}:op_additive]},{name:"expr_add$macrocall$2$macrocall$2",symbols:["expr_add$macrocall$2$macrocall$2$subexpression$1"]},{name:"expr_add$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_add$macrocall$2$macrocall$2"]},{name:"expr_add$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_add$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"").toUpperCase()})},{name:"expr_add$macrocall$2$macrocall$1",symbols:["expr_add$macrocall$2$macrocall$1$macrocall$1"],postprocess:c},{name:"expr_add$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_add$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(d(e[4]," ")||"").toUpperCase(),opSchema:d(e[2])})},{name:"expr_add$macrocall$2",symbols:["expr_add$macrocall$2$macrocall$1"]},{name:"expr_add$macrocall$3",symbols:["expr_add"]},{name:"expr_add$macrocall$4",symbols:["expr_mult"]},{name:"expr_add$macrocall$1$subexpression$1",symbols:["expr_add$macrocall$3"]},{name:"expr_add$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_add$macrocall$1$subexpression$2",symbols:["expr_add$macrocall$4"]},{name:"expr_add$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_add$macrocall$1",symbols:["expr_add$macrocall$1$subexpression$1","expr_add$macrocall$2","expr_add$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_add$macrocall$1",symbols:["expr_add$macrocall$4"],postprocess:c},{name:"expr_add",symbols:["expr_add$macrocall$1"]},{name:"expr_mult$macrocall$2$macrocall$2$subexpression$1",symbols:[a.lexerAny.has("star")?{type:"star"}:star]},{name:"expr_mult$macrocall$2$macrocall$2$subexpression$1",symbols:[a.lexerAny.has("op_div")?{type:"op_div"}:op_div]},{name:"expr_mult$macrocall$2$macrocall$2$subexpression$1",symbols:[a.lexerAny.has("op_mod")?{type:"op_mod"}:op_mod]},{name:"expr_mult$macrocall$2$macrocall$2",symbols:["expr_mult$macrocall$2$macrocall$2$subexpression$1"]},{name:"expr_mult$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_mult$macrocall$2$macrocall$2"]},{name:"expr_mult$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_mult$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"").toUpperCase()})},{name:"expr_mult$macrocall$2$macrocall$1",symbols:["expr_mult$macrocall$2$macrocall$1$macrocall$1"],postprocess:c},{name:"expr_mult$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_mult$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(d(e[4]," ")||"").toUpperCase(),opSchema:d(e[2])})},{name:"expr_mult$macrocall$2",symbols:["expr_mult$macrocall$2$macrocall$1"]},{name:"expr_mult$macrocall$3",symbols:["expr_mult"]},{name:"expr_mult$macrocall$4",symbols:["expr_exp"]},{name:"expr_mult$macrocall$1$subexpression$1",symbols:["expr_mult$macrocall$3"]},{name:"expr_mult$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_mult$macrocall$1$subexpression$2",symbols:["expr_mult$macrocall$4"]},{name:"expr_mult$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_mult$macrocall$1",symbols:["expr_mult$macrocall$1$subexpression$1","expr_mult$macrocall$2","expr_mult$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_mult$macrocall$1",symbols:["expr_mult$macrocall$4"],postprocess:c},{name:"expr_mult",symbols:["expr_mult$macrocall$1"]},{name:"expr_exp$macrocall$2$macrocall$2",symbols:[a.lexerAny.has("op_exp")?{type:"op_exp"}:op_exp]},{name:"expr_exp$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_exp$macrocall$2$macrocall$2"]},{name:"expr_exp$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_exp$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"").toUpperCase()})},{name:"expr_exp$macrocall$2$macrocall$1",symbols:["expr_exp$macrocall$2$macrocall$1$macrocall$1"],postprocess:c},{name:"expr_exp$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_exp$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(d(e[4]," ")||"").toUpperCase(),opSchema:d(e[2])})},{name:"expr_exp$macrocall$2",symbols:["expr_exp$macrocall$2$macrocall$1"]},{name:"expr_exp$macrocall$3",symbols:["expr_exp"]},{name:"expr_exp$macrocall$4",symbols:["expr_unary_add"]},{name:"expr_exp$macrocall$1$subexpression$1",symbols:["expr_exp$macrocall$3"]},{name:"expr_exp$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_exp$macrocall$1$subexpression$2",symbols:["expr_exp$macrocall$4"]},{name:"expr_exp$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_exp$macrocall$1",symbols:["expr_exp$macrocall$1$subexpression$1","expr_exp$macrocall$2","expr_exp$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_exp$macrocall$1",symbols:["expr_exp$macrocall$4"],postprocess:c},{name:"expr_exp",symbols:["expr_exp$macrocall$1"]},{name:"expr_unary_add$macrocall$2$macrocall$2$subexpression$1",symbols:[a.lexerAny.has("op_plus")?{type:"op_plus"}:op_plus]},{name:"expr_unary_add$macrocall$2$macrocall$2$subexpression$1",symbols:[a.lexerAny.has("op_minus")?{type:"op_minus"}:op_minus]},{name:"expr_unary_add$macrocall$2$macrocall$2",symbols:["expr_unary_add$macrocall$2$macrocall$2$subexpression$1"]},{name:"expr_unary_add$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_unary_add$macrocall$2$macrocall$2"]},{name:"expr_unary_add$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_unary_add$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"").toUpperCase()})},{name:"expr_unary_add$macrocall$2$macrocall$1",symbols:["expr_unary_add$macrocall$2$macrocall$1$macrocall$1"],postprocess:c},{name:"expr_unary_add$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_unary_add$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,n.track)(e,{op:(d(e[4]," ")||"").toUpperCase(),opSchema:d(e[2])})},{name:"expr_unary_add$macrocall$2",symbols:["expr_unary_add$macrocall$2$macrocall$1"]},{name:"expr_unary_add$macrocall$3",symbols:["expr_unary_add"]},{name:"expr_unary_add$macrocall$4",symbols:["expr_various_constructs"]},{name:"expr_unary_add$macrocall$1$subexpression$1",symbols:["expr_unary_add$macrocall$3"]},{name:"expr_unary_add$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_unary_add$macrocall$1",symbols:["expr_unary_add$macrocall$2","expr_unary_add$macrocall$1$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"unary",...c(e[0]),operand:c(e[1])})},{name:"expr_unary_add$macrocall$1",symbols:["expr_unary_add$macrocall$4"],postprocess:c},{name:"expr_unary_add",symbols:["expr_unary_add$macrocall$1"]},{name:"expr_various_constructs$macrocall$2$macrocall$2",symbols:["various_binaries"]},{name:"expr_various_constructs$macrocall$2$macrocall$1",symbols:["expr_various_constructs$macrocall$2$macrocall$2"],postprocess:e=>(0,n.track)(e,{op:(d(e," ")||"").toUpperCase()})},{name:"expr_various_constructs$macrocall$2",symbols:["expr_various_constructs$macrocall$2$macrocall$1"]},{name:"expr_various_constructs$macrocall$3",symbols:["expr_various_constructs"]},{name:"expr_various_constructs$macrocall$4",symbols:["expr_array_index"]},{name:"expr_various_constructs$macrocall$1$subexpression$1",symbols:["expr_various_constructs$macrocall$3"]},{name:"expr_various_constructs$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_various_constructs$macrocall$1$subexpression$2",symbols:["expr_various_constructs$macrocall$4"]},{name:"expr_various_constructs$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_various_constructs$macrocall$1",symbols:["expr_various_constructs$macrocall$1$subexpression$1","expr_various_constructs$macrocall$2","expr_various_constructs$macrocall$1$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"binary",left:c(e[0]),right:c(e[2]),...c(e[1])})},{name:"expr_various_constructs$macrocall$1",symbols:["expr_various_constructs$macrocall$4"],postprocess:c},{name:"expr_various_constructs",symbols:["expr_various_constructs$macrocall$1"]},{name:"expr_array_index$subexpression$1",symbols:["expr_array_index"]},{name:"expr_array_index$subexpression$1",symbols:["expr_paren"]},{name:"expr_array_index",symbols:["expr_array_index$subexpression$1",a.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,"expr_nostar",a.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:e=>(0,n.track)(e,{type:"arrayIndex",array:c(e[0]),index:c(e[2])})},{name:"expr_array_index",symbols:["expr_member"],postprocess:c},{name:"expr_member$subexpression$1",symbols:["expr_member"]},{name:"expr_member$subexpression$1",symbols:["expr_paren"]},{name:"expr_member$subexpression$2",symbols:["string"]},{name:"expr_member$subexpression$2",symbols:["int"]},{name:"expr_member",symbols:["expr_member$subexpression$1","ops_member","expr_member$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"member",operand:c(e[0]),op:e[1],member:c(e[2])})},{name:"expr_member$subexpression$3",symbols:["expr_member"]},{name:"expr_member$subexpression$3",symbols:["expr_paren"]},{name:"expr_member",symbols:["expr_member$subexpression$3",a.lexerAny.has("op_cast")?{type:"op_cast"}:op_cast,"data_type"],postprocess:e=>(0,n.track)(e,{type:"cast",operand:c(e[0]),to:e[2]})},{name:"expr_member",symbols:[a.lexerAny.has("kw_cast")?{type:"kw_cast"}:kw_cast,"lparen","expr_nostar",a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"data_type","rparen"],postprocess:e=>(0,n.track)(e,{type:"cast",operand:c(e[2]),to:e[4]})},{name:"expr_member",symbols:["data_type","string"],postprocess:e=>(0,n.track)(e,{type:"cast",operand:(0,n.track)(e[1],{type:"string",value:(0,n.unbox)(e[1])}),to:(0,n.unbox)(e[0])})},{name:"expr_member",symbols:["expr_dot"],postprocess:c},{name:"expr_dot$subexpression$1",symbols:["word"]},{name:"expr_dot$subexpression$1",symbols:["star"]},{name:"expr_dot",symbols:["qname",a.lexerAny.has("dot")?{type:"dot"}:dot,"expr_dot$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"ref",table:c(e[0]),name:d(e[2])})},{name:"expr_dot",symbols:["expr_final"],postprocess:c},{name:"expr_final",symbols:["expr_basic"]},{name:"expr_final",symbols:["expr_primary"]},{name:"expr_basic",symbols:["expr_special_calls"]},{name:"expr_basic",symbols:["expr_call"]},{name:"expr_basic",symbols:["expr_array"]},{name:"expr_basic",symbols:["expr_case"]},{name:"expr_basic",symbols:["expr_extract"]},{name:"expr_basic",symbols:["word"],postprocess:e=>(0,n.track)(e,{type:"ref",name:c(e[0])})},{name:"expr_array$ebnf$1",symbols:["expr_subarray_items"],postprocess:r},{name:"expr_array$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_array",symbols:[a.lexerAny.has("kw_array")?{type:"kw_array"}:kw_array,a.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,"expr_array$ebnf$1",a.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:e=>(0,n.track)(e,{type:"array",expressions:e[2]||[]})},{name:"expr_array",symbols:[a.lexerAny.has("kw_array")?{type:"kw_array"}:kw_array,"lparen","selection","rparen"],postprocess:e=>(0,n.track)(e,{type:"array select",select:c(e[2])})},{name:"expr_subarray$ebnf$1",symbols:["expr_subarray_items"],postprocess:r},{name:"expr_subarray$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_subarray",symbols:[a.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,"expr_subarray$ebnf$1",a.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:p(1)},{name:"expr_subarray_items$macrocall$2",symbols:["expr_list_item"]},{name:"expr_subarray_items$macrocall$1$ebnf$1",symbols:[]},{name:"expr_subarray_items$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"expr_subarray_items$macrocall$2"],postprocess:m},{name:"expr_subarray_items$macrocall$1$ebnf$1",symbols:["expr_subarray_items$macrocall$1$ebnf$1","expr_subarray_items$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_subarray_items$macrocall$1",symbols:["expr_subarray_items$macrocall$2","expr_subarray_items$macrocall$1$ebnf$1"],postprocess:([e,t])=>[e,...t||[]]},{name:"expr_subarray_items",symbols:["expr_subarray_items$macrocall$1"],postprocess:e=>e[0].map(c)},{name:"expr_subarray_items$macrocall$4",symbols:["expr_subarray"]},{name:"expr_subarray_items$macrocall$3$ebnf$1",symbols:[]},{name:"expr_subarray_items$macrocall$3$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"expr_subarray_items$macrocall$4"],postprocess:m},{name:"expr_subarray_items$macrocall$3$ebnf$1",symbols:["expr_subarray_items$macrocall$3$ebnf$1","expr_subarray_items$macrocall$3$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_subarray_items$macrocall$3",symbols:["expr_subarray_items$macrocall$4","expr_subarray_items$macrocall$3$ebnf$1"],postprocess:([e,t])=>[e,...t||[]]},{name:"expr_subarray_items",symbols:["expr_subarray_items$macrocall$3"],postprocess:e=>e[0].map((e=>(0,n.track)(e,{type:"array",expressions:e[0].map(c)})))},{name:"expr_function_call$ebnf$1",symbols:["expr_list_raw"],postprocess:r},{name:"expr_function_call$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_function_call",symbols:["expr_fn_name","lparen","expr_function_call$ebnf$1","rparen"],postprocess:e=>(0,n.track)(e,{type:"call",function:c(e[0]),args:e[2]||[]})},{name:"expr_call$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all]},{name:"expr_call$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_distinct")?{type:"kw_distinct"}:kw_distinct]},{name:"expr_call$ebnf$1",symbols:["expr_call$ebnf$1$subexpression$1"],postprocess:r},{name:"expr_call$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$2",symbols:["expr_list_raw"],postprocess:r},{name:"expr_call$ebnf$2",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$3",symbols:["select_order_by"],postprocess:r},{name:"expr_call$ebnf$3",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$4$subexpression$1",symbols:["kw_filter","lparen",a.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where,"expr","rparen"],postprocess:p(3)},{name:"expr_call$ebnf$4",symbols:["expr_call$ebnf$4$subexpression$1"],postprocess:r},{name:"expr_call$ebnf$4",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$5",symbols:["expr_call_over"],postprocess:r},{name:"expr_call$ebnf$5",symbols:[],postprocess:()=>null},{name:"expr_call",symbols:["expr_fn_name","lparen","expr_call$ebnf$1","expr_call$ebnf$2","expr_call$ebnf$3","rparen","expr_call$ebnf$4","expr_call$ebnf$5"],postprocess:e=>(0,n.track)(e,{type:"call",function:c(e[0]),...e[2]&&{distinct:d(e[2])},args:e[3]||[],...e[4]&&{orderBy:e[4]},...e[6]&&{filter:c(e[6])},...e[7]&&{over:c(e[7])}})},{name:"expr_call_over$ebnf$1$subexpression$1",symbols:["kw_partition","kw_by","expr_list_raw"],postprocess:m},{name:"expr_call_over$ebnf$1",symbols:["expr_call_over$ebnf$1$subexpression$1"],postprocess:r},{name:"expr_call_over$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_call_over$ebnf$2",symbols:["select_order_by"],postprocess:r},{name:"expr_call_over$ebnf$2",symbols:[],postprocess:()=>null},{name:"expr_call_over",symbols:["kw_over","lparen","expr_call_over$ebnf$1","expr_call_over$ebnf$2","rparen"],postprocess:e=>(0,n.track)(e,{...e[2]&&{partitionBy:e[2]},...e[3]&&{orderBy:e[3]}})},{name:"expr_extract$subexpression$1",symbols:["word"],postprocess:f("extract")},{name:"expr_extract",symbols:["expr_extract$subexpression$1","lparen","word",a.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"expr","rparen"],postprocess:e=>(0,n.track)(e,{type:"extract",field:o(e[2]),from:e[4]})},{name:"expr_primary",symbols:["float"],postprocess:e=>(0,n.track)(e,{type:"numeric",value:(0,n.unbox)(e[0])})},{name:"expr_primary",symbols:["int"],postprocess:e=>(0,n.track)(e,{type:"integer",value:(0,n.unbox)(e[0])})},{name:"expr_primary",symbols:["string"],postprocess:e=>(0,n.track)(e,{type:"string",value:(0,n.unbox)(e[0])})},{name:"expr_primary",symbols:[a.lexerAny.has("kw_true")?{type:"kw_true"}:kw_true],postprocess:e=>(0,n.track)(e,{type:"boolean",value:!0})},{name:"expr_primary",symbols:[a.lexerAny.has("kw_false")?{type:"kw_false"}:kw_false],postprocess:e=>(0,n.track)(e,{type:"boolean",value:!1})},{name:"expr_primary",symbols:[a.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null],postprocess:e=>(0,n.track)(e,{type:"null"})},{name:"expr_primary",symbols:["value_keyword"],postprocess:e=>(0,n.track)(e,{type:"keyword",keyword:d(e)})},{name:"expr_primary",symbols:[a.lexerAny.has("qparam")?{type:"qparam"}:qparam],postprocess:e=>(0,n.track)(e,{type:"parameter",name:d(e[0])})},{name:"expr_primary",symbols:[a.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default],postprocess:e=>(0,n.track)(e,{type:"default"})},{name:"ops_like",symbols:["ops_like_keywors"]},{name:"ops_like",symbols:["ops_like_operators"]},{name:"ops_like_keywors$ebnf$1",symbols:[a.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:r},{name:"ops_like_keywors$ebnf$1",symbols:[],postprocess:()=>null},{name:"ops_like_keywors$subexpression$1",symbols:[a.lexerAny.has("kw_like")?{type:"kw_like"}:kw_like]},{name:"ops_like_keywors$subexpression$1",symbols:[a.lexerAny.has("kw_ilike")?{type:"kw_ilike"}:kw_ilike]},{name:"ops_like_keywors",symbols:["ops_like_keywors$ebnf$1","ops_like_keywors$subexpression$1"]},{name:"ops_like_operators$subexpression$1",symbols:[a.lexerAny.has("op_like")?{type:"op_like"}:op_like],postprocess:()=>"LIKE"},{name:"ops_like_operators",symbols:["ops_like_operators$subexpression$1"]},{name:"ops_like_operators$subexpression$2",symbols:[a.lexerAny.has("op_ilike")?{type:"op_ilike"}:op_ilike],postprocess:()=>"ILIKE"},{name:"ops_like_operators",symbols:["ops_like_operators$subexpression$2"]},{name:"ops_like_operators$subexpression$3",symbols:[a.lexerAny.has("op_not_like")?{type:"op_not_like"}:op_not_like],postprocess:()=>"NOT LIKE"},{name:"ops_like_operators",symbols:["ops_like_operators$subexpression$3"]},{name:"ops_like_operators$subexpression$4",symbols:[a.lexerAny.has("op_not_ilike")?{type:"op_not_ilike"}:op_not_ilike],postprocess:()=>"NOT ILIKE"},{name:"ops_like_operators",symbols:["ops_like_operators$subexpression$4"]},{name:"ops_in$ebnf$1",symbols:[a.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:r},{name:"ops_in$ebnf$1",symbols:[],postprocess:()=>null},{name:"ops_in",symbols:["ops_in$ebnf$1",a.lexerAny.has("kw_in")?{type:"kw_in"}:kw_in]},{name:"ops_between$ebnf$1",symbols:[a.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:r},{name:"ops_between$ebnf$1",symbols:[],postprocess:()=>null},{name:"ops_between",symbols:["ops_between$ebnf$1","kw_between"]},{name:"ops_member$subexpression$1",symbols:[a.lexerAny.has("op_member")?{type:"op_member"}:op_member]},{name:"ops_member$subexpression$1",symbols:[a.lexerAny.has("op_membertext")?{type:"op_membertext"}:op_membertext]},{name:"ops_member",symbols:["ops_member$subexpression$1"],postprocess:e=>{var t;return null===(t=c(e))||void 0===t?void 0:t.value}},{name:"expr_list_item",symbols:["expr_or_select"],postprocess:c},{name:"expr_list_item",symbols:["expr_star"],postprocess:c},{name:"expr_list_raw$macrocall$2",symbols:["expr_list_item"]},{name:"expr_list_raw$macrocall$1$ebnf$1",symbols:[]},{name:"expr_list_raw$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"expr_list_raw$macrocall$2"],postprocess:m},{name:"expr_list_raw$macrocall$1$ebnf$1",symbols:["expr_list_raw$macrocall$1$ebnf$1","expr_list_raw$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_list_raw$macrocall$1",symbols:["expr_list_raw$macrocall$2","expr_list_raw$macrocall$1$ebnf$1"],postprocess:([e,t])=>[e,...t||[]]},{name:"expr_list_raw",symbols:["expr_list_raw$macrocall$1"],postprocess:([e])=>e.map(c)},{name:"expr_list_raw_many$macrocall$2",symbols:["expr_list_item"]},{name:"expr_list_raw_many$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"expr_list_raw_many$macrocall$2"],postprocess:m},{name:"expr_list_raw_many$macrocall$1$ebnf$1",symbols:["expr_list_raw_many$macrocall$1$ebnf$1$subexpression$1"]},{name:"expr_list_raw_many$macrocall$1$ebnf$1$subexpression$2",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"expr_list_raw_many$macrocall$2"],postprocess:m},{name:"expr_list_raw_many$macrocall$1$ebnf$1",symbols:["expr_list_raw_many$macrocall$1$ebnf$1","expr_list_raw_many$macrocall$1$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_list_raw_many$macrocall$1",symbols:["expr_list_raw_many$macrocall$2","expr_list_raw_many$macrocall$1$ebnf$1"],postprocess:([e,t])=>[e,...t||[]]},{name:"expr_list_raw_many",symbols:["expr_list_raw_many$macrocall$1"],postprocess:([e])=>e.map(c)},{name:"expr_or_select",symbols:["expr_nostar"],postprocess:c},{name:"expr_or_select",symbols:["selection"],postprocess:c},{name:"expr_list_many",symbols:["expr_list_raw_many"],postprocess:e=>(0,n.track)(e,{type:"list",expressions:e[0]})},{name:"expr_case$ebnf$1",symbols:["expr_nostar"],postprocess:r},{name:"expr_case$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_case$ebnf$2",symbols:[]},{name:"expr_case$ebnf$2",symbols:["expr_case$ebnf$2","expr_case_whens"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_case$ebnf$3",symbols:["expr_case_else"],postprocess:r},{name:"expr_case$ebnf$3",symbols:[],postprocess:()=>null},{name:"expr_case",symbols:[a.lexerAny.has("kw_case")?{type:"kw_case"}:kw_case,"expr_case$ebnf$1","expr_case$ebnf$2","expr_case$ebnf$3",a.lexerAny.has("kw_end")?{type:"kw_end"}:kw_end],postprocess:e=>(0,n.track)(e,{type:"case",value:e[1],whens:e[2],else:e[3]})},{name:"expr_case_whens",symbols:[a.lexerAny.has("kw_when")?{type:"kw_when"}:kw_when,"expr_nostar",a.lexerAny.has("kw_then")?{type:"kw_then"}:kw_then,"expr_nostar"],postprocess:e=>(0,n.track)(e,{when:e[1],value:e[3]})},{name:"expr_case_else",symbols:[a.lexerAny.has("kw_else")?{type:"kw_else"}:kw_else,"expr_nostar"],postprocess:m},{name:"expr_fn_name$subexpression$1$ebnf$1$subexpression$1",symbols:["word",a.lexerAny.has("dot")?{type:"dot"}:dot]},{name:"expr_fn_name$subexpression$1$ebnf$1",symbols:["expr_fn_name$subexpression$1$ebnf$1$subexpression$1"],postprocess:r},{name:"expr_fn_name$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_fn_name$subexpression$1",symbols:["expr_fn_name$subexpression$1$ebnf$1","word_or_keyword"],postprocess:e=>(0,n.track)(e,{name:(0,n.unbox)(c(e[1])),...e[0]&&{schema:d(e[0][0])}})},{name:"expr_fn_name",symbols:["expr_fn_name$subexpression$1"]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[a.lexerAny.has("kw_any")?{type:"kw_any"}:kw_any]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[a.lexerAny.has("kw_some")?{type:"kw_some"}:kw_some]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[a.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all]},{name:"expr_fn_name$subexpression$2",symbols:["expr_fn_name$subexpression$2$subexpression$1"],postprocess:e=>(0,n.track)(e,{name:d(c(e))})},{name:"expr_fn_name",symbols:["expr_fn_name$subexpression$2"]},{name:"word_or_keyword",symbols:["word"]},{name:"word_or_keyword",symbols:["value_keyword"],postprocess:e=>(0,n.box)(e,d(e))},{name:"value_keyword",symbols:[a.lexerAny.has("kw_current_catalog")?{type:"kw_current_catalog"}:kw_current_catalog]},{name:"value_keyword",symbols:[a.lexerAny.has("kw_current_date")?{type:"kw_current_date"}:kw_current_date]},{name:"value_keyword",symbols:[a.lexerAny.has("kw_current_role")?{type:"kw_current_role"}:kw_current_role]},{name:"value_keyword",symbols:[a.lexerAny.has("kw_current_schema")?{type:"kw_current_schema"}:kw_current_schema]},{name:"value_keyword",symbols:[a.lexerAny.has("kw_current_timestamp")?{type:"kw_current_timestamp"}:kw_current_timestamp]},{name:"value_keyword",symbols:[a.lexerAny.has("kw_current_time")?{type:"kw_current_time"}:kw_current_time]},{name:"value_keyword",symbols:[a.lexerAny.has("kw_localtimestamp")?{type:"kw_localtimestamp"}:kw_localtimestamp]},{name:"value_keyword",symbols:[a.lexerAny.has("kw_localtime")?{type:"kw_localtime"}:kw_localtime]},{name:"value_keyword",symbols:[a.lexerAny.has("kw_session_user")?{type:"kw_session_user"}:kw_session_user]},{name:"value_keyword",symbols:[a.lexerAny.has("kw_user")?{type:"kw_user"}:kw_user]},{name:"value_keyword",symbols:[a.lexerAny.has("kw_current_user")?{type:"kw_current_user"}:kw_current_user]},{name:"expr_special_calls",symbols:["spe_overlay"]},{name:"expr_special_calls",symbols:["spe_substring"]},{name:"spe_overlay$subexpression$1",symbols:["word"],postprocess:f("overlay")},{name:"spe_overlay$subexpression$2",symbols:[a.lexerAny.has("lparen")?{type:"lparen"}:lparen,"expr_nostar"]},{name:"spe_overlay$subexpression$3",symbols:[a.lexerAny.has("kw_placing")?{type:"kw_placing"}:kw_placing,"expr_nostar"]},{name:"spe_overlay$subexpression$4",symbols:[a.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"expr_nostar"]},{name:"spe_overlay$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_for")?{type:"kw_for"}:kw_for,"expr_nostar"]},{name:"spe_overlay$ebnf$1",symbols:["spe_overlay$ebnf$1$subexpression$1"],postprocess:r},{name:"spe_overlay$ebnf$1",symbols:[],postprocess:()=>null},{name:"spe_overlay",symbols:["spe_overlay$subexpression$1","spe_overlay$subexpression$2","spe_overlay$subexpression$3","spe_overlay$subexpression$4","spe_overlay$ebnf$1",a.lexerAny.has("rparen")?{type:"rparen"}:rparen],postprocess:e=>(0,n.track)(e,{type:"overlay",value:e[1][1],placing:e[2][1],from:e[3][1],...e[4]&&{for:e[4][1]}})},{name:"spe_substring$subexpression$1",symbols:["word"],postprocess:f("substring")},{name:"spe_substring$subexpression$2",symbols:[a.lexerAny.has("lparen")?{type:"lparen"}:lparen,"expr_nostar"]},{name:"spe_substring$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"expr_nostar"]},{name:"spe_substring$ebnf$1",symbols:["spe_substring$ebnf$1$subexpression$1"],postprocess:r},{name:"spe_substring$ebnf$1",symbols:[],postprocess:()=>null},{name:"spe_substring$ebnf$2$subexpression$1",symbols:[a.lexerAny.has("kw_for")?{type:"kw_for"}:kw_for,"expr_nostar"]},{name:"spe_substring$ebnf$2",symbols:["spe_substring$ebnf$2$subexpression$1"],postprocess:r},{name:"spe_substring$ebnf$2",symbols:[],postprocess:()=>null},{name:"spe_substring",symbols:["spe_substring$subexpression$1","spe_substring$subexpression$2","spe_substring$ebnf$1","spe_substring$ebnf$2",a.lexerAny.has("rparen")?{type:"rparen"}:rparen],postprocess:e=>(0,n.track)(e,{type:"substring",value:e[1][1],...e[2]&&{from:e[2][1]},...e[3]&&{for:e[3][1]}})},{name:"various_binaries",symbols:["kw_at","kw_time","kw_zone"],postprocess:()=>"AT TIME ZONE"},{name:"createtable_statement$ebnf$1",symbols:["createtable_modifiers"],postprocess:r},{name:"createtable_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtable_statement$ebnf$2",symbols:["kw_ifnotexists"],postprocess:r},{name:"createtable_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"createtable_statement$ebnf$3",symbols:["createtable_opts"],postprocess:r},{name:"createtable_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"createtable_statement",symbols:[a.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"createtable_statement$ebnf$1",a.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table,"createtable_statement$ebnf$2","qname","lparen","createtable_declarationlist","rparen","createtable_statement$ebnf$3"],postprocess:e=>{const t=e[6].filter((e=>"kind"in e)),s=e[6].filter((e=>!("kind"in e)));return(0,n.track)(e,{type:"create table",...e[3]?{ifNotExists:!0}:{},name:e[4],columns:t,...c(e[1]),...s.length?{constraints:s}:{},...m(e)})}},{name:"createtable_modifiers",symbols:["kw_unlogged"],postprocess:e=>e[0]?{unlogged:!0}:{}},{name:"createtable_modifiers",symbols:["m_locglob"]},{name:"createtable_modifiers",symbols:["m_tmp"]},{name:"createtable_modifiers",symbols:["m_locglob","m_tmp"],postprocess:([e,t])=>({...e,...t})},{name:"m_locglob$subexpression$1",symbols:["kw_local"]},{name:"m_locglob$subexpression$1",symbols:["kw_global"]},{name:"m_locglob",symbols:["m_locglob$subexpression$1"],postprocess:e=>({locality:d(e)})},{name:"m_tmp$subexpression$1",symbols:["kw_temp"]},{name:"m_tmp$subexpression$1",symbols:["kw_temporary"]},{name:"m_tmp",symbols:["m_tmp$subexpression$1"],postprocess:e=>({temporary:!0})},{name:"createtable_declarationlist$ebnf$1",symbols:[]},{name:"createtable_declarationlist$ebnf$1$subexpression$1",symbols:["comma","createtable_declaration"],postprocess:m},{name:"createtable_declarationlist$ebnf$1",symbols:["createtable_declarationlist$ebnf$1","createtable_declarationlist$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_declarationlist",symbols:["createtable_declaration","createtable_declarationlist$ebnf$1"],postprocess:([e,t])=>[e,...t||[]]},{name:"createtable_declaration$subexpression$1",symbols:["createtable_constraint"]},{name:"createtable_declaration$subexpression$1",symbols:["createtable_column"]},{name:"createtable_declaration$subexpression$1",symbols:["createtable_like"]},{name:"createtable_declaration",symbols:["createtable_declaration$subexpression$1"],postprocess:c},{name:"createtable_constraint$macrocall$2",symbols:["createtable_constraint_def"]},{name:"createtable_constraint$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"word"]},{name:"createtable_constraint$macrocall$1$ebnf$1",symbols:["createtable_constraint$macrocall$1$ebnf$1$subexpression$1"],postprocess:r},{name:"createtable_constraint$macrocall$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtable_constraint$macrocall$1",symbols:["createtable_constraint$macrocall$1$ebnf$1","createtable_constraint$macrocall$2"],postprocess:e=>{const t=e[0]&&o(e[0][1]);return t?(0,n.track)(e,{constraintName:t,...c(e[1])}):(0,n.track)(e,c(e[1]))}},{name:"createtable_constraint",symbols:["createtable_constraint$macrocall$1"],postprocess:c},{name:"createtable_constraint_def",symbols:["createtable_constraint_def_unique"]},{name:"createtable_constraint_def",symbols:["createtable_constraint_def_check"]},{name:"createtable_constraint_def",symbols:["createtable_constraint_foreignkey"]},{name:"createtable_constraint_def_unique$subexpression$1",symbols:[a.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique]},{name:"createtable_constraint_def_unique$subexpression$1",symbols:["kw_primary_key"]},{name:"createtable_constraint_def_unique",symbols:["createtable_constraint_def_unique$subexpression$1","lparen","createtable_collist","rparen"],postprocess:e=>(0,n.track)(e,{type:d(e[0]," "),columns:e[2].map(o)})},{name:"createtable_constraint_def_check",symbols:[a.lexerAny.has("kw_check")?{type:"kw_check"}:kw_check,"expr_paren"],postprocess:e=>(0,n.track)(e,{type:"check",expr:c(e[1])})},{name:"createtable_constraint_foreignkey",symbols:[a.lexerAny.has("kw_foreign")?{type:"kw_foreign"}:kw_foreign,"kw_key","collist_paren","createtable_references"],postprocess:e=>(0,n.track)(e,{type:"foreign key",localColumns:e[2].map(o),...e[3]})},{name:"createtable_references$ebnf$1",symbols:[]},{name:"createtable_references$ebnf$1",symbols:["createtable_references$ebnf$1","createtable_constraint_foreignkey_onsometing"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_references",symbols:[a.lexerAny.has("kw_references")?{type:"kw_references"}:kw_references,"table_ref","collist_paren","createtable_references$ebnf$1"],postprocess:e=>(0,n.track)(e,{foreignTable:c(e[1]),foreignColumns:e[2].map(o),...e[3].reduce(((e,t)=>({...e,...t})),{})})},{name:"createtable_constraint_foreignkey_onsometing",symbols:[a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"kw_delete","createtable_constraint_on_action"],postprocess:e=>(0,n.track)(e,{onDelete:m(e)})},{name:"createtable_constraint_foreignkey_onsometing",symbols:[a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"kw_update","createtable_constraint_on_action"],postprocess:e=>(0,n.track)(e,{onUpdate:m(e)})},{name:"createtable_constraint_foreignkey_onsometing$subexpression$1",symbols:[a.lexerAny.has("kw_full")?{type:"kw_full"}:kw_full]},{name:"createtable_constraint_foreignkey_onsometing$subexpression$1",symbols:["kw_partial"]},{name:"createtable_constraint_foreignkey_onsometing$subexpression$1",symbols:["kw_simple"]},{name:"createtable_constraint_foreignkey_onsometing",symbols:["kw_match","createtable_constraint_foreignkey_onsometing$subexpression$1"],postprocess:e=>(0,n.track)(e,{match:d(m(e))})},{name:"createtable_constraint_on_action$subexpression$1",symbols:["kw_cascade"]},{name:"createtable_constraint_on_action$subexpression$1$subexpression$1",symbols:["kw_no","kw_action"]},{name:"createtable_constraint_on_action$subexpression$1",symbols:["createtable_constraint_on_action$subexpression$1$subexpression$1"]},{name:"createtable_constraint_on_action$subexpression$1",symbols:["kw_restrict"]},{name:"createtable_constraint_on_action$subexpression$1$subexpression$2",symbols:[a.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null]},{name:"createtable_constraint_on_action$subexpression$1$subexpression$2",symbols:[a.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default]},{name:"createtable_constraint_on_action$subexpression$1",symbols:["kw_set","createtable_constraint_on_action$subexpression$1$subexpression$2"]},{name:"createtable_constraint_on_action",symbols:["createtable_constraint_on_action$subexpression$1"],postprocess:e=>d(e," ")},{name:"createtable_collist$ebnf$1",symbols:[]},{name:"createtable_collist$ebnf$1$subexpression$1",symbols:["comma","ident"],postprocess:m},{name:"createtable_collist$ebnf$1",symbols:["createtable_collist$ebnf$1","createtable_collist$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_collist",symbols:["ident","createtable_collist$ebnf$1"],postprocess:([e,t])=>[e,...t||[]]},{name:"createtable_column$ebnf$1",symbols:["createtable_collate"],postprocess:r},{name:"createtable_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtable_column$ebnf$2",symbols:[]},{name:"createtable_column$ebnf$2",symbols:["createtable_column$ebnf$2","createtable_column_constraint"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_column",symbols:["word","data_type","createtable_column$ebnf$1","createtable_column$ebnf$2"],postprocess:e=>(0,n.track)(e,{kind:"column",name:o(e[0]),dataType:e[1],...e[2]?{collate:e[2][1]}:{},...e[3]&&e[3].length?{constraints:e[3]}:{}})},{name:"createtable_like$ebnf$1",symbols:[]},{name:"createtable_like$ebnf$1",symbols:["createtable_like$ebnf$1","createtable_like_opt"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_like",symbols:[a.lexerAny.has("kw_like")?{type:"kw_like"}:kw_like,"qname","createtable_like$ebnf$1"],postprocess:e=>(0,n.track)(e,{kind:"like table",like:e[1],options:e[2]})},{name:"createtable_like_opt$subexpression$1",symbols:["kw_including"]},{name:"createtable_like_opt$subexpression$1",symbols:["kw_excluding"]},{name:"createtable_like_opt",symbols:["createtable_like_opt$subexpression$1","createtable_like_opt_val"],postprocess:e=>(0,n.track)(e,{verb:d(e[0]),option:d(e[1])})},{name:"createtable_like_opt_val",symbols:["word"],postprocess:w("defaults","constraints","indexes","storage","comments")},{name:"createtable_like_opt_val",symbols:[a.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all]},{name:"createtable_column_constraint$macrocall$2",symbols:["createtable_column_constraint_def"]},{name:"createtable_column_constraint$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"word"]},{name:"createtable_column_constraint$macrocall$1$ebnf$1",symbols:["createtable_column_constraint$macrocall$1$ebnf$1$subexpression$1"],postprocess:r},{name:"createtable_column_constraint$macrocall$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtable_column_constraint$macrocall$1",symbols:["createtable_column_constraint$macrocall$1$ebnf$1","createtable_column_constraint$macrocall$2"],postprocess:e=>{const t=e[0]&&o(e[0][1]);return t?(0,n.track)(e,{constraintName:t,...c(e[1])}):(0,n.track)(e,c(e[1]))}},{name:"createtable_column_constraint",symbols:["createtable_column_constraint$macrocall$1"],postprocess:c},{name:"createtable_column_constraint_def",symbols:[a.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique],postprocess:e=>(0,n.track)(e,{type:"unique"})},{name:"createtable_column_constraint_def",symbols:["kw_primary_key"],postprocess:e=>(0,n.track)(e,{type:"primary key"})},{name:"createtable_column_constraint_def",symbols:["kw_not_null"],postprocess:e=>(0,n.track)(e,{type:"not null"})},{name:"createtable_column_constraint_def",symbols:[a.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null],postprocess:e=>(0,n.track)(e,{type:"null"})},{name:"createtable_column_constraint_def",symbols:[a.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default,"expr"],postprocess:e=>(0,n.track)(e,{type:"default",default:c(e[1])})},{name:"createtable_column_constraint_def",symbols:[a.lexerAny.has("kw_check")?{type:"kw_check"}:kw_check,"expr_paren"],postprocess:e=>(0,n.track)(e,{type:"check",expr:c(e[1])})},{name:"createtable_column_constraint_def",symbols:["createtable_references"],postprocess:e=>(0,n.track)(e,{type:"reference",...c(e)})},{name:"createtable_column_constraint_def",symbols:["altercol_generated"]},{name:"createtable_collate",symbols:[a.lexerAny.has("kw_collate")?{type:"kw_collate"}:kw_collate,"qualified_name"]},{name:"createtable_opts$subexpression$1",symbols:["word"],postprocess:f("inherits")},{name:"createtable_opts$macrocall$2",symbols:["qname"]},{name:"createtable_opts$macrocall$1$ebnf$1",symbols:[]},{name:"createtable_opts$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"createtable_opts$macrocall$2"],postprocess:m},{name:"createtable_opts$macrocall$1$ebnf$1",symbols:["createtable_opts$macrocall$1$ebnf$1","createtable_opts$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_opts$macrocall$1",symbols:["createtable_opts$macrocall$2","createtable_opts$macrocall$1$ebnf$1"],postprocess:([e,t])=>[c(e),...t.map(c)||[]]},{name:"createtable_opts",symbols:["createtable_opts$subexpression$1","lparen","createtable_opts$macrocall$1","rparen"],postprocess:e=>(0,n.track)(e,{inherits:e[2]})},{name:"createindex_statement$ebnf$1",symbols:[a.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique],postprocess:r},{name:"createindex_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$2",symbols:["kw_ifnotexists"],postprocess:r},{name:"createindex_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$3",symbols:["word"],postprocess:r},{name:"createindex_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$4$subexpression$1",symbols:[a.lexerAny.has("kw_using")?{type:"kw_using"}:kw_using,"ident"],postprocess:m},{name:"createindex_statement$ebnf$4",symbols:["createindex_statement$ebnf$4$subexpression$1"],postprocess:r},{name:"createindex_statement$ebnf$4",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$5",symbols:["createindex_with"],postprocess:r},{name:"createindex_statement$ebnf$5",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$6",symbols:["createindex_tblspace"],postprocess:r},{name:"createindex_statement$ebnf$6",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$7",symbols:["createindex_predicate"],postprocess:r},{name:"createindex_statement$ebnf$7",symbols:[],postprocess:()=>null},{name:"createindex_statement",symbols:[a.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"createindex_statement$ebnf$1","kw_index","createindex_statement$ebnf$2","createindex_statement$ebnf$3",a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"table_ref","createindex_statement$ebnf$4","lparen","createindex_expressions","rparen","createindex_statement$ebnf$5","createindex_statement$ebnf$6","createindex_statement$ebnf$7"],postprocess:e=>(0,n.track)(e,{type:"create index",...e[1]&&{unique:!0},...e[3]&&{ifNotExists:!0},...e[4]&&{indexName:o(e[4])},table:e[6],...e[7]&&{using:o(e[7])},expressions:e[9],...e[11]&&{with:e[11]},...e[12]&&{tablespace:c(e[12])},...e[13]&&{where:c(e[13])}})},{name:"createindex_expressions$ebnf$1",symbols:[]},{name:"createindex_expressions$ebnf$1$subexpression$1",symbols:["comma","createindex_expression"],postprocess:m},{name:"createindex_expressions$ebnf$1",symbols:["createindex_expressions$ebnf$1","createindex_expressions$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createindex_expressions",symbols:["createindex_expression","createindex_expressions$ebnf$1"],postprocess:([e,t])=>[e,...t||[]]},{name:"createindex_expression$subexpression$1",symbols:["expr_basic"]},{name:"createindex_expression$subexpression$1",symbols:["expr_paren"]},{name:"createindex_expression$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_collate")?{type:"kw_collate"}:kw_collate,"qualified_name"],postprocess:m},{name:"createindex_expression$ebnf$1",symbols:["createindex_expression$ebnf$1$subexpression$1"],postprocess:r},{name:"createindex_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"createindex_expression$ebnf$2",symbols:["qualified_name"],postprocess:r},{name:"createindex_expression$ebnf$2",symbols:[],postprocess:()=>null},{name:"createindex_expression$ebnf$3$subexpression$1",symbols:[a.lexerAny.has("kw_asc")?{type:"kw_asc"}:kw_asc]},{name:"createindex_expression$ebnf$3$subexpression$1",symbols:[a.lexerAny.has("kw_desc")?{type:"kw_desc"}:kw_desc]},{name:"createindex_expression$ebnf$3",symbols:["createindex_expression$ebnf$3$subexpression$1"],postprocess:r},{name:"createindex_expression$ebnf$3",symbols:[],postprocess:()=>null},{name:"createindex_expression$ebnf$4$subexpression$1$subexpression$1",symbols:["kw_first"]},{name:"createindex_expression$ebnf$4$subexpression$1$subexpression$1",symbols:["kw_last"]},{name:"createindex_expression$ebnf$4$subexpression$1",symbols:["kw_nulls","createindex_expression$ebnf$4$subexpression$1$subexpression$1"],postprocess:m},{name:"createindex_expression$ebnf$4",symbols:["createindex_expression$ebnf$4$subexpression$1"],postprocess:r},{name:"createindex_expression$ebnf$4",symbols:[],postprocess:()=>null},{name:"createindex_expression",symbols:["createindex_expression$subexpression$1","createindex_expression$ebnf$1","createindex_expression$ebnf$2","createindex_expression$ebnf$3","createindex_expression$ebnf$4"],postprocess:e=>(0,n.track)(e,{expression:c(e[0]),...e[1]&&{collate:c(e[1])},...e[2]&&{opclass:c(e[2])},...e[3]&&{order:c(e[3]).value},...e[4]&&{nulls:c(e[4])}})},{name:"createindex_predicate",symbols:[a.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where,"expr"],postprocess:m},{name:"createindex_with$macrocall$2",symbols:["createindex_with_item"]},{name:"createindex_with$macrocall$1$ebnf$1",symbols:[]},{name:"createindex_with$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"createindex_with$macrocall$2"],postprocess:m},{name:"createindex_with$macrocall$1$ebnf$1",symbols:["createindex_with$macrocall$1$ebnf$1","createindex_with$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createindex_with$macrocall$1",symbols:["createindex_with$macrocall$2","createindex_with$macrocall$1$ebnf$1"],postprocess:([e,t])=>[c(e),...t.map(c)||[]]},{name:"createindex_with",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"lparen","createindex_with$macrocall$1","rparen"],postprocess:p(2)},{name:"createindex_with_item$subexpression$1",symbols:["string"]},{name:"createindex_with_item$subexpression$1",symbols:["int"]},{name:"createindex_with_item",symbols:["ident",a.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"createindex_with_item$subexpression$1"],postprocess:e=>(0,n.track)(e,{parameter:d(e[0]),value:c(e[2]).toString()})},{name:"createindex_tblspace",symbols:["kw_tablespace","ident"],postprocess:m},{name:"createextension_statement$ebnf$1",symbols:["kw_ifnotexists"],postprocess:r},{name:"createextension_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"createextension_statement$ebnf$2",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with],postprocess:r},{name:"createextension_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"createextension_statement$ebnf$3$subexpression$1",symbols:["kw_schema","word"],postprocess:m},{name:"createextension_statement$ebnf$3",symbols:["createextension_statement$ebnf$3$subexpression$1"],postprocess:r},{name:"createextension_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"createextension_statement$ebnf$4$subexpression$1",symbols:["kw_version","string"],postprocess:m},{name:"createextension_statement$ebnf$4",symbols:["createextension_statement$ebnf$4$subexpression$1"],postprocess:r},{name:"createextension_statement$ebnf$4",symbols:[],postprocess:()=>null},{name:"createextension_statement$ebnf$5$subexpression$1",symbols:[a.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"string"],postprocess:m},{name:"createextension_statement$ebnf$5",symbols:["createextension_statement$ebnf$5$subexpression$1"],postprocess:r},{name:"createextension_statement$ebnf$5",symbols:[],postprocess:()=>null},{name:"createextension_statement",symbols:[a.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"kw_extension","createextension_statement$ebnf$1","word","createextension_statement$ebnf$2","createextension_statement$ebnf$3","createextension_statement$ebnf$4","createextension_statement$ebnf$5"],postprocess:e=>(0,n.track)(e,{type:"create extension",...e[2]?{ifNotExists:!0}:{},extension:o(e[3]),...e[5]?{schema:o(e[5])}:{},...e[6]?{version:i(e[6])}:{},...e[7]?{from:i(e[7])}:{}})},{name:"simplestatements_all",symbols:["simplestatements_start_transaction"]},{name:"simplestatements_all",symbols:["simplestatements_commit"]},{name:"simplestatements_all",symbols:["simplestatements_rollback"]},{name:"simplestatements_all",symbols:["simplestatements_tablespace"]},{name:"simplestatements_all",symbols:["simplestatements_set"]},{name:"simplestatements_all",symbols:["simplestatements_show"]},{name:"simplestatements_all",symbols:["simplestatements_begin"]},{name:"simplestatements_start_transaction$subexpression$1",symbols:["kw_start","kw_transaction"]},{name:"simplestatements_start_transaction",symbols:["simplestatements_start_transaction$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"start transaction"})},{name:"simplestatements_commit",symbols:["kw_commit"],postprocess:e=>(0,n.track)(e,{type:"commit"})},{name:"simplestatements_rollback",symbols:["kw_rollback"],postprocess:e=>(0,n.track)(e,{type:"rollback"})},{name:"simplestatements_tablespace",symbols:["kw_tablespace","word"],postprocess:e=>(0,n.track)(e,{type:"tablespace",tablespace:o(e[1])})},{name:"simplestatements_set$subexpression$1",symbols:["simplestatements_set_simple"]},{name:"simplestatements_set$subexpression$1",symbols:["simplestatements_set_timezone"]},{name:"simplestatements_set",symbols:["kw_set","simplestatements_set$subexpression$1"],postprocess:m},{name:"simplestatements_set_timezone",symbols:["kw_time","kw_zone","simplestatements_set_timezone_val"],postprocess:e=>(0,n.track)(e,{type:"set timezone",to:e[2]})},{name:"simplestatements_set_timezone_val$subexpression$1",symbols:["string"]},{name:"simplestatements_set_timezone_val$subexpression$1",symbols:["int"]},{name:"simplestatements_set_timezone_val",symbols:["simplestatements_set_timezone_val$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"value",value:c(e[0])})},{name:"simplestatements_set_timezone_val",symbols:["kw_local"],postprocess:e=>(0,n.track)(e,{type:"local"})},{name:"simplestatements_set_timezone_val",symbols:[a.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default],postprocess:e=>(0,n.track)(e,{type:"default"})},{name:"simplestatements_set_timezone_val",symbols:["kw_interval","string","kw_hour",a.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"kw_minute"],postprocess:e=>(0,n.track)(e,{type:"interval",value:(0,n.unbox)(e[1])})},{name:"simplestatements_set_simple$subexpression$1",symbols:[a.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq]},{name:"simplestatements_set_simple$subexpression$1",symbols:[a.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to]},{name:"simplestatements_set_simple",symbols:["ident","simplestatements_set_simple$subexpression$1","simplestatements_set_val"],postprocess:e=>(0,n.track)(e,{type:"set",variable:o(e[0]),set:(0,n.unbox)(e[2])})},{name:"simplestatements_set_val",symbols:["simplestatements_set_val_raw"],postprocess:c},{name:"simplestatements_set_val",symbols:[a.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default],postprocess:e=>(0,n.track)(e,{type:"default"})},{name:"simplestatements_set_val$ebnf$1$subexpression$1",symbols:["comma","simplestatements_set_val_raw"]},{name:"simplestatements_set_val$ebnf$1",symbols:["simplestatements_set_val$ebnf$1$subexpression$1"]},{name:"simplestatements_set_val$ebnf$1$subexpression$2",symbols:["comma","simplestatements_set_val_raw"]},{name:"simplestatements_set_val$ebnf$1",symbols:["simplestatements_set_val$ebnf$1","simplestatements_set_val$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"simplestatements_set_val",symbols:["simplestatements_set_val_raw","simplestatements_set_val$ebnf$1"],postprocess:e=>(0,n.track)(e,{type:"list",values:[e[0],...e[1]||[]]})},{name:"simplestatements_set_val_raw$subexpression$1",symbols:["string"]},{name:"simplestatements_set_val_raw$subexpression$1",symbols:["int"]},{name:"simplestatements_set_val_raw",symbols:["simplestatements_set_val_raw$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"value",value:c(e)})},{name:"simplestatements_set_val_raw$subexpression$2",symbols:[a.lexerAny.has("word")?{type:"word"}:word]},{name:"simplestatements_set_val_raw$subexpression$2",symbols:[a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on]},{name:"simplestatements_set_val_raw$subexpression$2",symbols:[a.lexerAny.has("kw_true")?{type:"kw_true"}:kw_true]},{name:"simplestatements_set_val_raw$subexpression$2",symbols:[a.lexerAny.has("kw_false")?{type:"kw_false"}:kw_false]},{name:"simplestatements_set_val_raw",symbols:["simplestatements_set_val_raw$subexpression$2"],postprocess:e=>(0,n.track)(e,{type:"identifier",name:c(e).value})},{name:"simplestatements_set_val_raw",symbols:[a.lexerAny.has("quoted_word")?{type:"quoted_word"}:quoted_word],postprocess:e=>(0,n.track)(e,{type:"identifier",doubleQuoted:!0,name:c(e).value})},{name:"simplestatements_show",symbols:["kw_show","ident"],postprocess:e=>(0,n.track)(e,{type:"show",variable:o(e[1])})},{name:"create_schema$subexpression$1",symbols:[a.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"kw_schema"]},{name:"create_schema$ebnf$1",symbols:["kw_ifnotexists"],postprocess:r},{name:"create_schema$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_schema",symbols:["create_schema$subexpression$1","create_schema$ebnf$1","ident"],postprocess:e=>(0,n.track)(e,{type:"create schema",name:o(e[2]),...e[1]?{ifNotExists:!0}:{}})},{name:"raise_statement$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:w("debug","log","info","notice","warning","exception")},{name:"raise_statement$ebnf$1",symbols:["raise_statement$ebnf$1$subexpression$1"],postprocess:r},{name:"raise_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"raise_statement$ebnf$2$subexpression$1",symbols:["comma","expr_list_raw"],postprocess:m},{name:"raise_statement$ebnf$2",symbols:["raise_statement$ebnf$2$subexpression$1"],postprocess:r},{name:"raise_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"raise_statement$ebnf$3",symbols:["raise_using"],postprocess:r},{name:"raise_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"raise_statement",symbols:["kw_raise","raise_statement$ebnf$1","string","raise_statement$ebnf$2","raise_statement$ebnf$3"],postprocess:e=>(0,n.track)(e,{type:"raise",format:d(e[2]),...e[1]&&{level:d(e[1])},...e[3]&&e[3].length&&{formatExprs:e[3]},...e[4]&&e[4].length&&{using:e[4]}})},{name:"raise_using$macrocall$2",symbols:["raise_using_one"]},{name:"raise_using$macrocall$1$ebnf$1",symbols:[]},{name:"raise_using$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"raise_using$macrocall$2"],postprocess:m},{name:"raise_using$macrocall$1$ebnf$1",symbols:["raise_using$macrocall$1$ebnf$1","raise_using$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"raise_using$macrocall$1",symbols:["raise_using$macrocall$2","raise_using$macrocall$1$ebnf$1"],postprocess:([e,t])=>[c(e),...t.map(c)||[]]},{name:"raise_using",symbols:[a.lexerAny.has("kw_using")?{type:"kw_using"}:kw_using,"raise_using$macrocall$1"],postprocess:m},{name:"raise_using_one",symbols:["raise_using_what",a.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"expr"],postprocess:e=>(0,n.track)(e,{type:d(e[0]),value:e[2]})},{name:"raise_using_what",symbols:[a.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table]},{name:"raise_using_what",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:w("message","detail","hint","errcode","column","constraint","datatype","schema")},{name:"comment_statement",symbols:["kw_comment",a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"comment_what",a.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is,"string"],postprocess:e=>(0,n.track)(e,{type:"comment",comment:(0,n.unbox)(m(e)),on:c(e[2])})},{name:"comment_what",symbols:["comment_what_col"]},{name:"comment_what",symbols:["comment_what_nm"]},{name:"comment_what_nm$subexpression$1",symbols:[a.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table]},{name:"comment_what_nm$subexpression$1",symbols:["kw_materialized","kw_view"]},{name:"comment_what_nm$subexpression$1",symbols:[a.lexerAny.has("word")?{type:"word"}:word],postprocess:w("database","index","trigger","type","view")},{name:"comment_what_nm",symbols:["comment_what_nm$subexpression$1","qualified_name"],postprocess:e=>(0,n.track)(e,{type:d(e[0]),name:e[1]})},{name:"comment_what_col",symbols:["kw_column","qcolumn"],postprocess:e=>(0,n.track)(e,{type:"column",column:m(e)})},{name:"simplestatements_begin$ebnf$1$subexpression$1",symbols:["kw_transaction"]},{name:"simplestatements_begin$ebnf$1$subexpression$1",symbols:["kw_work"]},{name:"simplestatements_begin$ebnf$1",symbols:["simplestatements_begin$ebnf$1$subexpression$1"],postprocess:r},{name:"simplestatements_begin$ebnf$1",symbols:[],postprocess:()=>null},{name:"simplestatements_begin$ebnf$2",symbols:[]},{name:"simplestatements_begin$ebnf$2$subexpression$1",symbols:["simplestatements_begin_isol"]},{name:"simplestatements_begin$ebnf$2$subexpression$1",symbols:["simplestatements_begin_writ"]},{name:"simplestatements_begin$ebnf$2$subexpression$1",symbols:["simplestatements_begin_def"]},{name:"simplestatements_begin$ebnf$2",symbols:["simplestatements_begin$ebnf$2","simplestatements_begin$ebnf$2$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"simplestatements_begin",symbols:["kw_begin","simplestatements_begin$ebnf$1","simplestatements_begin$ebnf$2"],postprocess:e=>(0,n.track)(e,{type:"begin",...e[2].reduce(((e,t)=>({...c(e),...c(t)})),{})})},{name:"simplestatements_begin_isol$subexpression$1",symbols:["kw_isolation","kw_level"]},{name:"simplestatements_begin_isol$subexpression$2",symbols:["kw_serializable"]},{name:"simplestatements_begin_isol$subexpression$2$subexpression$1",symbols:["word"],postprocess:f("repeatable")},{name:"simplestatements_begin_isol$subexpression$2",symbols:["simplestatements_begin_isol$subexpression$2$subexpression$1","kw_read"]},{name:"simplestatements_begin_isol$subexpression$2$subexpression$2",symbols:["word"],postprocess:f("committed")},{name:"simplestatements_begin_isol$subexpression$2",symbols:["kw_read","simplestatements_begin_isol$subexpression$2$subexpression$2"]},{name:"simplestatements_begin_isol$subexpression$2$subexpression$3",symbols:["word"],postprocess:f("uncommitted")},{name:"simplestatements_begin_isol$subexpression$2",symbols:["kw_read","simplestatements_begin_isol$subexpression$2$subexpression$3"]},{name:"simplestatements_begin_isol",symbols:["simplestatements_begin_isol$subexpression$1","simplestatements_begin_isol$subexpression$2"],postprocess:e=>(0,n.track)(e,{isolationLevel:d(e[1]," ")})},{name:"simplestatements_begin_writ$subexpression$1",symbols:["kw_read","kw_write"]},{name:"simplestatements_begin_writ$subexpression$1",symbols:["kw_read",a.lexerAny.has("kw_only")?{type:"kw_only"}:kw_only]},{name:"simplestatements_begin_writ",symbols:["simplestatements_begin_writ$subexpression$1"],postprocess:e=>(0,n.track)(e,{writeable:d(e," ")})},{name:"simplestatements_begin_def$ebnf$1",symbols:[a.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:r},{name:"simplestatements_begin_def$ebnf$1",symbols:[],postprocess:()=>null},{name:"simplestatements_begin_def",symbols:["simplestatements_begin_def$ebnf$1",a.lexerAny.has("kw_deferrable")?{type:"kw_deferrable"}:kw_deferrable],postprocess:e=>(0,n.track)(e,{deferrable:!e[0]})},{name:"insert_statement$subexpression$1",symbols:["kw_insert",a.lexerAny.has("kw_into")?{type:"kw_into"}:kw_into]},{name:"insert_statement$ebnf$1",symbols:["collist_paren"],postprocess:r},{name:"insert_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"insert_statement$ebnf$2$subexpression$1$subexpression$1",symbols:["kw_system"]},{name:"insert_statement$ebnf$2$subexpression$1$subexpression$1",symbols:[a.lexerAny.has("kw_user")?{type:"kw_user"}:kw_user]},{name:"insert_statement$ebnf$2$subexpression$1",symbols:["kw_overriding","insert_statement$ebnf$2$subexpression$1$subexpression$1","kw_value"],postprocess:p(1)},{name:"insert_statement$ebnf$2",symbols:["insert_statement$ebnf$2$subexpression$1"],postprocess:r},{name:"insert_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"insert_statement$ebnf$3$subexpression$1",symbols:["selection"]},{name:"insert_statement$ebnf$3$subexpression$1",symbols:["selection_paren"]},{name:"insert_statement$ebnf$3",symbols:["insert_statement$ebnf$3$subexpression$1"],postprocess:r},{name:"insert_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"insert_statement$ebnf$4$subexpression$1",symbols:[a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"kw_conflict","insert_on_conflict"],postprocess:m},{name:"insert_statement$ebnf$4",symbols:["insert_statement$ebnf$4$subexpression$1"],postprocess:r},{name:"insert_statement$ebnf$4",symbols:[],postprocess:()=>null},{name:"insert_statement$ebnf$5$subexpression$1",symbols:[a.lexerAny.has("kw_returning")?{type:"kw_returning"}:kw_returning,"select_expr_list_aliased"],postprocess:m},{name:"insert_statement$ebnf$5",symbols:["insert_statement$ebnf$5$subexpression$1"],postprocess:r},{name:"insert_statement$ebnf$5",symbols:[],postprocess:()=>null},{name:"insert_statement",symbols:["insert_statement$subexpression$1","table_ref_aliased","insert_statement$ebnf$1","insert_statement$ebnf$2","insert_statement$ebnf$3","insert_statement$ebnf$4","insert_statement$ebnf$5"],postprocess:e=>{const t=e[2]&&e[2].map(o),s=d(e[3]),r=c(e[4]),a=e[5],l=e[6];return(0,n.track)(e,{type:"insert",into:c(e[1]),insert:r,...s&&{overriding:s},...t&&{columns:t},...l&&{returning:l},...a&&{onConflict:a}})}},{name:"insert_values$ebnf$1",symbols:[]},{name:"insert_values$ebnf$1$subexpression$1",symbols:["comma","insert_value"],postprocess:m},{name:"insert_values$ebnf$1",symbols:["insert_values$ebnf$1","insert_values$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"insert_values",symbols:["insert_value","insert_values$ebnf$1"],postprocess:([e,t])=>[e,...t||[]]},{name:"insert_value",symbols:["lparen","insert_expr_list_raw","rparen"],postprocess:p(1)},{name:"insert_expr_list_raw$ebnf$1",symbols:[]},{name:"insert_expr_list_raw$ebnf$1$subexpression$1",symbols:["comma","expr_or_select"],postprocess:m},{name:"insert_expr_list_raw$ebnf$1",symbols:["insert_expr_list_raw$ebnf$1","insert_expr_list_raw$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"insert_expr_list_raw",symbols:["expr_or_select","insert_expr_list_raw$ebnf$1"],postprocess:([e,t])=>[e,...t||[]]},{name:"insert_on_conflict$ebnf$1",symbols:["insert_on_conflict_what"],postprocess:r},{name:"insert_on_conflict$ebnf$1",symbols:[],postprocess:()=>null},{name:"insert_on_conflict",symbols:["insert_on_conflict$ebnf$1","insert_on_conflict_do"],postprocess:e=>(0,n.track)(e,{...e[0]?{on:c(e[0])}:{},...e[1]})},{name:"insert_on_conflict_what",symbols:["lparen","expr_list_raw","rparen"],postprocess:e=>(0,n.track)(e,{type:"on expr",exprs:e[1]})},{name:"insert_on_conflict_what",symbols:[a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,a.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"qname"],postprocess:e=>(0,n.track)(e,{type:"on constraint",constraint:m(e)})},{name:"insert_on_conflict_do",symbols:[a.lexerAny.has("kw_do")?{type:"kw_do"}:kw_do,"kw_nothing"],postprocess:e=>({do:"do nothing"})},{name:"insert_on_conflict_do$subexpression$1",symbols:[a.lexerAny.has("kw_do")?{type:"kw_do"}:kw_do,"kw_update","kw_set"]},{name:"insert_on_conflict_do$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where,"expr"],postprocess:m},{name:"insert_on_conflict_do$ebnf$1",symbols:["insert_on_conflict_do$ebnf$1$subexpression$1"],postprocess:r},{name:"insert_on_conflict_do$ebnf$1",symbols:[],postprocess:()=>null},{name:"insert_on_conflict_do",symbols:["insert_on_conflict_do$subexpression$1","update_set_list","insert_on_conflict_do$ebnf$1"],postprocess:e=>({do:{sets:e[1]},...e[2]&&{where:e[2]}})},{name:"update_statement$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"select_from_subject"],postprocess:m},{name:"update_statement$ebnf$1",symbols:["update_statement$ebnf$1$subexpression$1"],postprocess:r},{name:"update_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"update_statement$ebnf$2",symbols:["select_where"],postprocess:r},{name:"update_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"update_statement$ebnf$3$subexpression$1",symbols:[a.lexerAny.has("kw_returning")?{type:"kw_returning"}:kw_returning,"select_expr_list_aliased"],postprocess:m},{name:"update_statement$ebnf$3",symbols:["update_statement$ebnf$3$subexpression$1"],postprocess:r},{name:"update_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"update_statement",symbols:["kw_update","table_ref_aliased","kw_set","update_set_list","update_statement$ebnf$1","update_statement$ebnf$2","update_statement$ebnf$3"],postprocess:e=>{const t=c(e[4]),s=c(e[5]),r=e[6];return(0,n.track)(e,{type:"update",table:c(e[1]),sets:e[3],...s?{where:s}:{},...t?{from:t}:{},...r?{returning:r}:{}})}},{name:"update_set_list$ebnf$1",symbols:[]},{name:"update_set_list$ebnf$1$subexpression$1",symbols:["comma","update_set"],postprocess:m},{name:"update_set_list$ebnf$1",symbols:["update_set_list$ebnf$1","update_set_list$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"update_set_list",symbols:["update_set","update_set_list$ebnf$1"],postprocess:([e,t])=>{const s=[];for(const r of[e,...t||[]]){const e=c(r);Array.isArray(e)?s.push(...e):s.push(e)}return s}},{name:"update_set",symbols:["update_set_one"]},{name:"update_set",symbols:["update_set_multiple"]},{name:"update_set_one",symbols:["ident",a.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"expr"],postprocess:e=>(0,n.box)(e,{column:o(e[0]),value:c(e[2])})},{name:"update_set_multiple$subexpression$1",symbols:["lparen","expr_list_raw","rparen"],postprocess:p(1)},{name:"update_set_multiple",symbols:["collist_paren",a.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"update_set_multiple$subexpression$1"],postprocess:e=>{const t=e[0],s=e[2];if(t.length!==s.length)throw new Error("number of columns does not match number of values");return(0,n.box)(e,t.map(((e,t)=>({column:o(e),value:c(s[t])}))))}},{name:"altertable_statement$ebnf$1",symbols:["kw_ifexists"],postprocess:r},{name:"altertable_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_statement$ebnf$2",symbols:[a.lexerAny.has("kw_only")?{type:"kw_only"}:kw_only],postprocess:r},{name:"altertable_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"altertable_statement",symbols:["kw_alter",a.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table,"altertable_statement$ebnf$1","altertable_statement$ebnf$2","table_ref","altertable_actions"],postprocess:e=>(0,n.track)(e,{type:"alter table",...e[2]?{ifExists:!0}:{},...e[3]?{only:!0}:{},table:c(e[4]),changes:(0,n.unbox)(e[5]).map(c)})},{name:"altertable_actions$ebnf$1",symbols:[]},{name:"altertable_actions$ebnf$1$subexpression$1",symbols:["comma","altertable_action"],postprocess:m},{name:"altertable_actions$ebnf$1",symbols:["altertable_actions$ebnf$1","altertable_actions$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"altertable_actions",symbols:["altertable_action","altertable_actions$ebnf$1"],postprocess:([e,t])=>[e,...t||[]]},{name:"altertable_action",symbols:["altertable_rename_table"]},{name:"altertable_action",symbols:["altertable_rename_column"]},{name:"altertable_action",symbols:["altertable_rename_constraint"]},{name:"altertable_action",symbols:["altertable_add_column"]},{name:"altertable_action",symbols:["altertable_drop_column"]},{name:"altertable_action",symbols:["altertable_alter_column"]},{name:"altertable_action",symbols:["altertable_add_constraint"]},{name:"altertable_action",symbols:["altertable_drop_constraint"]},{name:"altertable_action",symbols:["altertable_owner"]},{name:"altertable_rename_table",symbols:["kw_rename",a.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"word"],postprocess:e=>(0,n.track)(e,{type:"rename",to:o(m(e))})},{name:"altertable_rename_column$ebnf$1",symbols:["kw_column"],postprocess:r},{name:"altertable_rename_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_rename_column",symbols:["kw_rename","altertable_rename_column$ebnf$1","ident",a.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"ident"],postprocess:e=>(0,n.track)(e,{type:"rename column",column:o(e[2]),to:o(m(e))})},{name:"altertable_rename_constraint",symbols:["kw_rename",a.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"ident",a.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"ident"],postprocess:e=>(0,n.track)(e,{type:"rename constraint",constraint:o(e[2]),to:o(m(e))})},{name:"altertable_add_column$ebnf$1",symbols:["kw_column"],postprocess:r},{name:"altertable_add_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_add_column$ebnf$2",symbols:["kw_ifnotexists"],postprocess:r},{name:"altertable_add_column$ebnf$2",symbols:[],postprocess:()=>null},{name:"altertable_add_column",symbols:["kw_add","altertable_add_column$ebnf$1","altertable_add_column$ebnf$2","createtable_column"],postprocess:e=>(0,n.track)(e,{type:"add column",...e[2]?{ifNotExists:!0}:{},column:c(e[3])})},{name:"altertable_drop_column$ebnf$1",symbols:["kw_column"],postprocess:r},{name:"altertable_drop_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_drop_column$ebnf$2",symbols:["kw_ifexists"],postprocess:r},{name:"altertable_drop_column$ebnf$2",symbols:[],postprocess:()=>null},{name:"altertable_drop_column$ebnf$3$subexpression$1",symbols:["kw_restrict"]},{name:"altertable_drop_column$ebnf$3$subexpression$1",symbols:["kw_cascade"]},{name:"altertable_drop_column$ebnf$3",symbols:["altertable_drop_column$ebnf$3$subexpression$1"],postprocess:r},{name:"altertable_drop_column$ebnf$3",symbols:[],postprocess:()=>null},{name:"altertable_drop_column",symbols:["kw_drop","altertable_drop_column$ebnf$1","altertable_drop_column$ebnf$2","ident","altertable_drop_column$ebnf$3"],postprocess:e=>(0,n.track)(e,{type:"drop column",...e[2]?{ifExists:!0}:{},column:o(e[3]),...e[4]?{behaviour:d(e[4]," ")}:{}})},{name:"altertable_alter_column$ebnf$1",symbols:["kw_column"],postprocess:r},{name:"altertable_alter_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_alter_column",symbols:["kw_alter","altertable_alter_column$ebnf$1","ident","altercol"],postprocess:e=>(0,n.track)(e,{type:"alter column",column:o(e[2]),alter:c(e[3])})},{name:"altercol$ebnf$1$subexpression$1",symbols:["kw_set","kw_data"]},{name:"altercol$ebnf$1",symbols:["altercol$ebnf$1$subexpression$1"],postprocess:r},{name:"altercol$ebnf$1",symbols:[],postprocess:()=>null},{name:"altercol",symbols:["altercol$ebnf$1","kw_type","data_type"],postprocess:e=>(0,n.track)(e,{type:"set type",dataType:c(m(e))})},{name:"altercol",symbols:["kw_set",a.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default,"expr"],postprocess:e=>(0,n.track)(e,{type:"set default",default:c(m(e))})},{name:"altercol",symbols:["kw_drop",a.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default],postprocess:e=>(0,n.track)(e,{type:"drop default"})},{name:"altercol$subexpression$1",symbols:["kw_set"]},{name:"altercol$subexpression$1",symbols:["kw_drop"]},{name:"altercol",symbols:["altercol$subexpression$1","kw_not_null"],postprocess:e=>(0,n.track)(e,{type:d(e," ")})},{name:"altercol",symbols:["altercol_generated_add"],postprocess:c},{name:"altertable_add_constraint",symbols:["kw_add","createtable_constraint"],postprocess:e=>(0,n.track)(e,{type:"add constraint",constraint:c(m(e))})},{name:"altertable_drop_constraint$ebnf$1",symbols:["kw_ifexists"],postprocess:r},{name:"altertable_drop_constraint$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_drop_constraint$ebnf$2$subexpression$1",symbols:["kw_restrict"]},{name:"altertable_drop_constraint$ebnf$2$subexpression$1",symbols:["kw_cascade"]},{name:"altertable_drop_constraint$ebnf$2",symbols:["altertable_drop_constraint$ebnf$2$subexpression$1"],postprocess:r},{name:"altertable_drop_constraint$ebnf$2",symbols:[],postprocess:()=>null},{name:"altertable_drop_constraint",symbols:["kw_drop",a.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"altertable_drop_constraint$ebnf$1","ident","altertable_drop_constraint$ebnf$2"],postprocess:e=>(0,n.track)(e,{type:"drop constraint",...e[2]?{ifExists:!0}:{},constraint:o(e[3]),...e[4]?{behaviour:d(e[4]," ")}:{}})},{name:"altertable_owner",symbols:["kw_owner",a.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"ident"],postprocess:e=>(0,n.track)(e,{type:"owner",to:o(m(e))})},{name:"altercol_generated_add",symbols:["kw_add","altercol_generated"],postprocess:m},{name:"altercol_generated$ebnf$1$subexpression$1",symbols:["kw_always"]},{name:"altercol_generated$ebnf$1$subexpression$1",symbols:["kw_by",a.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default]},{name:"altercol_generated$ebnf$1",symbols:["altercol_generated$ebnf$1$subexpression$1"],postprocess:r},{name:"altercol_generated$ebnf$1",symbols:[],postprocess:()=>null},{name:"altercol_generated$subexpression$1",symbols:[a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"kw_identity"]},{name:"altercol_generated$ebnf$2$subexpression$1",symbols:["lparen","altercol_generated_seq","rparen"],postprocess:p(1)},{name:"altercol_generated$ebnf$2",symbols:["altercol_generated$ebnf$2$subexpression$1"],postprocess:r},{name:"altercol_generated$ebnf$2",symbols:[],postprocess:()=>null},{name:"altercol_generated",symbols:["kw_generated","altercol_generated$ebnf$1","altercol_generated$subexpression$1","altercol_generated$ebnf$2"],postprocess:e=>(0,n.track)(e,{type:"add generated",...e[1]&&{always:d(e[1]," ")},...e[3]&&{sequence:c(e[3])}})},{name:"altercol_generated_seq$ebnf$1$subexpression$1",symbols:["kw_sequence","kw_name","qualified_name"]},{name:"altercol_generated_seq$ebnf$1",symbols:["altercol_generated_seq$ebnf$1$subexpression$1"],postprocess:r},{name:"altercol_generated_seq$ebnf$1",symbols:[],postprocess:()=>null},{name:"altercol_generated_seq$ebnf$2",symbols:[]},{name:"altercol_generated_seq$ebnf$2",symbols:["altercol_generated_seq$ebnf$2","create_sequence_option"],postprocess:e=>e[0].concat([e[1]])},{name:"altercol_generated_seq",symbols:["altercol_generated_seq$ebnf$1","altercol_generated_seq$ebnf$2"],postprocess:e=>{const t={...e[0]&&{name:c(m(e[0]))}};return x(t,e[1]),(0,n.track)(e,t)}},{name:"alterindex_statement$ebnf$1",symbols:["kw_ifexists"],postprocess:r},{name:"alterindex_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"alterindex_statement",symbols:["kw_alter","kw_index","alterindex_statement$ebnf$1","table_ref","alterindex_action"],postprocess:e=>(0,n.track)(e,{type:"alter index",...e[2]?{ifExists:!0}:{},index:c(e[3]),change:c(e[4])})},{name:"alterindex_action",symbols:["alterindex_rename"]},{name:"alterindex_action",symbols:["alterindex_set_tablespace"]},{name:"alterindex_rename",symbols:["kw_rename",a.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"word"],postprocess:e=>(0,n.track)(e,{type:"rename",to:o(m(e))})},{name:"alterindex_set_tablespace",symbols:["kw_set","kw_tablespace","word"],postprocess:e=>(0,n.track)(e,{type:"set tablespace",tablespace:o(m(e))})},{name:"delete_statement",symbols:["delete_delete"]},{name:"delete_statement",symbols:["delete_truncate"]},{name:"delete_delete$subexpression$1",symbols:["kw_delete",a.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from]},{name:"delete_delete$ebnf$1",symbols:["select_where"],postprocess:r},{name:"delete_delete$ebnf$1",symbols:[],postprocess:()=>null},{name:"delete_delete$ebnf$2$subexpression$1",symbols:[a.lexerAny.has("kw_returning")?{type:"kw_returning"}:kw_returning,"select_expr_list_aliased"],postprocess:m},{name:"delete_delete$ebnf$2",symbols:["delete_delete$ebnf$2$subexpression$1"],postprocess:r},{name:"delete_delete$ebnf$2",symbols:[],postprocess:()=>null},{name:"delete_delete",symbols:["delete_delete$subexpression$1","table_ref_aliased","delete_delete$ebnf$1","delete_delete$ebnf$2"],postprocess:e=>{const t=e[2],s=e[3];return(0,n.track)(e,{type:"delete",from:c(e[1]),...t?{where:t}:{},...s?{returning:s}:{}})}},{name:"delete_truncate$subexpression$1$ebnf$1",symbols:[a.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table],postprocess:r},{name:"delete_truncate$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"delete_truncate$subexpression$1",symbols:["kw_truncate","delete_truncate$subexpression$1$ebnf$1"]},{name:"delete_truncate$macrocall$2",symbols:["table_ref"]},{name:"delete_truncate$macrocall$1$ebnf$1",symbols:[]},{name:"delete_truncate$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"delete_truncate$macrocall$2"],postprocess:m},{name:"delete_truncate$macrocall$1$ebnf$1",symbols:["delete_truncate$macrocall$1$ebnf$1","delete_truncate$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"delete_truncate$macrocall$1",symbols:["delete_truncate$macrocall$2","delete_truncate$macrocall$1$ebnf$1"],postprocess:([e,t])=>[c(e),...t.map(c)||[]]},{name:"delete_truncate$ebnf$1$subexpression$1$subexpression$1",symbols:["kw_restart"]},{name:"delete_truncate$ebnf$1$subexpression$1$subexpression$1",symbols:["kw_continue"]},{name:"delete_truncate$ebnf$1$subexpression$1",symbols:["delete_truncate$ebnf$1$subexpression$1$subexpression$1","kw_identity"]},{name:"delete_truncate$ebnf$1",symbols:["delete_truncate$ebnf$1$subexpression$1"],postprocess:r},{name:"delete_truncate$ebnf$1",symbols:[],postprocess:()=>null},{name:"delete_truncate$ebnf$2$subexpression$1",symbols:["kw_restrict"]},{name:"delete_truncate$ebnf$2$subexpression$1",symbols:["kw_cascade"]},{name:"delete_truncate$ebnf$2",symbols:["delete_truncate$ebnf$2$subexpression$1"],postprocess:r},{name:"delete_truncate$ebnf$2",symbols:[],postprocess:()=>null},{name:"delete_truncate",symbols:["delete_truncate$subexpression$1","delete_truncate$macrocall$1","delete_truncate$ebnf$1","delete_truncate$ebnf$2"],postprocess:e=>(0,n.track)(e,{type:"truncate table",tables:e[1],...e[2]&&{identity:d(e[2][0])},...e[3]&&{cascade:d(e[3])}})},{name:"create_sequence_statement$ebnf$1$subexpression$1",symbols:["kw_temp"]},{name:"create_sequence_statement$ebnf$1$subexpression$1",symbols:["kw_temporary"]},{name:"create_sequence_statement$ebnf$1",symbols:["create_sequence_statement$ebnf$1$subexpression$1"],postprocess:r},{name:"create_sequence_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_sequence_statement$ebnf$2",symbols:["kw_ifnotexists"],postprocess:r},{name:"create_sequence_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"create_sequence_statement$ebnf$3",symbols:[]},{name:"create_sequence_statement$ebnf$3",symbols:["create_sequence_statement$ebnf$3","create_sequence_option"],postprocess:e=>e[0].concat([e[1]])},{name:"create_sequence_statement",symbols:[a.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"create_sequence_statement$ebnf$1","kw_sequence","create_sequence_statement$ebnf$2","qualified_name","create_sequence_statement$ebnf$3"],postprocess:e=>{const t={type:"create sequence",...e[1]&&{temp:!0},...e[3]&&{ifNotExists:!0},name:c(e[4]),options:{}};return x(t.options,e[5]),(0,n.track)(e,t)}},{name:"create_sequence_option",symbols:[a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"data_type"],postprocess:e=>(0,n.box)(e,["as",e[1]])},{name:"create_sequence_option$ebnf$1",symbols:["kw_by"],postprocess:r},{name:"create_sequence_option$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_sequence_option",symbols:["kw_increment","create_sequence_option$ebnf$1","int"],postprocess:e=>(0,n.box)(e,["incrementBy",e[2]])},{name:"create_sequence_option",symbols:["create_sequence_minvalue"],postprocess:e=>(0,n.box)(e,["minValue",e[0]])},{name:"create_sequence_option",symbols:["create_sequence_maxvalue"],postprocess:e=>(0,n.box)(e,["maxValue",e[0]])},{name:"create_sequence_option$ebnf$2",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with],postprocess:r},{name:"create_sequence_option$ebnf$2",symbols:[],postprocess:()=>null},{name:"create_sequence_option",symbols:["kw_start","create_sequence_option$ebnf$2","int"],postprocess:e=>(0,n.box)(e,["startWith",e[2]])},{name:"create_sequence_option",symbols:["kw_cache","int"],postprocess:e=>(0,n.box)(e,["cache",e[1]])},{name:"create_sequence_option$ebnf$3",symbols:["kw_no"],postprocess:r},{name:"create_sequence_option$ebnf$3",symbols:[],postprocess:()=>null},{name:"create_sequence_option",symbols:["create_sequence_option$ebnf$3","kw_cycle"],postprocess:e=>(0,n.box)(e,["cycle",d(e," ")])},{name:"create_sequence_option",symbols:["create_sequence_owned_by"],postprocess:e=>(0,n.box)(e,["ownedBy",c(e)])},{name:"create_sequence_minvalue",symbols:["kw_minvalue","int"],postprocess:m},{name:"create_sequence_minvalue",symbols:["kw_no","kw_minvalue"],postprocess:e=>(0,n.box)(e,"no minvalue")},{name:"create_sequence_maxvalue",symbols:["kw_maxvalue","int"],postprocess:m},{name:"create_sequence_maxvalue",symbols:["kw_no","kw_maxvalue"],postprocess:e=>(0,n.box)(e,"no maxvalue")},{name:"create_sequence_owned_by$subexpression$1",symbols:["kw_none"]},{name:"create_sequence_owned_by$subexpression$1",symbols:["qcolumn"]},{name:"create_sequence_owned_by",symbols:["kw_owned","kw_by","create_sequence_owned_by$subexpression$1"],postprocess:e=>(0,n.box)(e,c(m(e)))},{name:"alter_sequence_statement$ebnf$1",symbols:["kw_ifexists"],postprocess:r},{name:"alter_sequence_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"alter_sequence_statement",symbols:["kw_alter","kw_sequence","alter_sequence_statement$ebnf$1","qualified_name","alter_sequence_statement_body"],postprocess:e=>{const t={type:"alter sequence",...e[2]&&{ifExists:!0},name:c(e[3]),change:e[4]};return(0,n.track)(e,t)}},{name:"alter_sequence_statement_body$ebnf$1",symbols:["alter_sequence_option"]},{name:"alter_sequence_statement_body$ebnf$1",symbols:["alter_sequence_statement_body$ebnf$1","alter_sequence_option"],postprocess:e=>e[0].concat([e[1]])},{name:"alter_sequence_statement_body",symbols:["alter_sequence_statement_body$ebnf$1"],postprocess:e=>{const t={type:"set options"};return x(t,e[0]),(0,n.track)(e,t)}},{name:"alter_sequence_statement_body$subexpression$1",symbols:["ident"]},{name:"alter_sequence_statement_body$subexpression$1",symbols:[a.lexerAny.has("kw_session_user")?{type:"kw_session_user"}:kw_session_user]},{name:"alter_sequence_statement_body$subexpression$1",symbols:[a.lexerAny.has("kw_current_user")?{type:"kw_current_user"}:kw_current_user]},{name:"alter_sequence_statement_body",symbols:["kw_owner",a.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"alter_sequence_statement_body$subexpression$1"],postprocess:e=>(0,n.track)(e,{type:"owner to",owner:o(m(e))})},{name:"alter_sequence_statement_body",symbols:["kw_rename",a.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"ident"],postprocess:e=>(0,n.track)(e,{type:"rename",newName:o(m(e))})},{name:"alter_sequence_statement_body",symbols:["kw_set","kw_schema","ident"],postprocess:e=>(0,n.track)(e,{type:"set schema",newSchema:o(m(e))})},{name:"alter_sequence_option",symbols:["create_sequence_option"],postprocess:c},{name:"alter_sequence_option$ebnf$1$subexpression$1$ebnf$1",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with],postprocess:r},{name:"alter_sequence_option$ebnf$1$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"alter_sequence_option$ebnf$1$subexpression$1",symbols:["alter_sequence_option$ebnf$1$subexpression$1$ebnf$1","int"],postprocess:m},{name:"alter_sequence_option$ebnf$1",symbols:["alter_sequence_option$ebnf$1$subexpression$1"],postprocess:r},{name:"alter_sequence_option$ebnf$1",symbols:[],postprocess:()=>null},{name:"alter_sequence_option",symbols:["kw_restart","alter_sequence_option$ebnf$1"],postprocess:e=>(0,n.box)(e,["restart","number"!=typeof(0,n.unbox)(e[1])||(0,n.unbox)(e[1])])},{name:"drop_statement$ebnf$1",symbols:["kw_ifexists"],postprocess:r},{name:"drop_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"drop_statement$macrocall$2",symbols:["qualified_name"]},{name:"drop_statement$macrocall$1$ebnf$1",symbols:[]},{name:"drop_statement$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"drop_statement$macrocall$2"],postprocess:m},{name:"drop_statement$macrocall$1$ebnf$1",symbols:["drop_statement$macrocall$1$ebnf$1","drop_statement$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"drop_statement$macrocall$1",symbols:["drop_statement$macrocall$2","drop_statement$macrocall$1$ebnf$1"],postprocess:([e,t])=>[c(e),...t.map(c)||[]]},{name:"drop_statement$ebnf$2$subexpression$1",symbols:["kw_cascade"]},{name:"drop_statement$ebnf$2$subexpression$1",symbols:["kw_restrict"]},{name:"drop_statement$ebnf$2",symbols:["drop_statement$ebnf$2$subexpression$1"],postprocess:r},{name:"drop_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"drop_statement",symbols:["kw_drop","drop_what","drop_statement$ebnf$1","drop_statement$macrocall$1","drop_statement$ebnf$2"],postprocess:(e,t)=>{const s=c(e[1]);return(0,n.track)(e,{...s,...e[2]&&{ifExists:!0},names:e[3],...e[4]&&{cascade:d(e[4])}})}},{name:"drop_what",symbols:[a.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table],postprocess:e=>(0,n.track)(e,{type:"drop table"})},{name:"drop_what",symbols:["kw_sequence"],postprocess:e=>(0,n.track)(e,{type:"drop sequence"})},{name:"drop_what",symbols:["kw_type"],postprocess:e=>(0,n.track)(e,{type:"drop type"})},{name:"drop_what",symbols:["kw_trigger"],postprocess:e=>(0,n.track)(e,{type:"drop trigger"})},{name:"drop_what$ebnf$1",symbols:[a.lexerAny.has("kw_concurrently")?{type:"kw_concurrently"}:kw_concurrently],postprocess:r},{name:"drop_what$ebnf$1",symbols:[],postprocess:()=>null},{name:"drop_what",symbols:["kw_index","drop_what$ebnf$1"],postprocess:e=>(0,n.track)(e,{type:"drop index",...e[1]&&{concurrently:!0}})},{name:"with_statement",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"with_statement_bindings","with_statement_statement"],postprocess:e=>(0,n.track)(e,{type:"with",bind:e[1],in:c(e[2])})},{name:"with_recursive_statement$subexpression$1",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"kw_recursive"]},{name:"with_recursive_statement",symbols:["with_recursive_statement$subexpression$1","ident","collist_paren",a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"lparen","union_statement","rparen","with_statement_statement"],postprocess:e=>(0,n.track)(e,{type:"with recursive",alias:o(e[1]),columnNames:e[2].map(o),bind:e[5],in:c(e[7])})},{name:"with_statement_bindings$ebnf$1",symbols:[]},{name:"with_statement_bindings$ebnf$1$subexpression$1",symbols:["comma","with_statement_binding"],postprocess:m},{name:"with_statement_bindings$ebnf$1",symbols:["with_statement_bindings$ebnf$1","with_statement_bindings$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"with_statement_bindings",symbols:["with_statement_binding","with_statement_bindings$ebnf$1"],postprocess:([e,t])=>[e,...t||[]]},{name:"with_statement_binding",symbols:["word",a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"lparen","with_statement_statement","rparen"],postprocess:e=>(0,n.track)(e,{alias:o(e[0]),statement:c(e[3])})},{name:"with_statement_statement",symbols:["selection"]},{name:"with_statement_statement",symbols:["insert_statement"]},{name:"with_statement_statement",symbols:["update_statement"]},{name:"with_statement_statement",symbols:["delete_statement"]},{name:"createtype_statement$subexpression$1",symbols:["createtype_enum"]},{name:"createtype_statement$subexpression$1",symbols:["createtype_composite"]},{name:"createtype_statement",symbols:[a.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"kw_type","qualified_name","createtype_statement$subexpression$1"],postprocess:e=>(0,n.track)(e,{name:e[2],...c(e[3])})},{name:"createtype_enum$macrocall$2",symbols:["enum_value"]},{name:"createtype_enum$macrocall$1$ebnf$1",symbols:[]},{name:"createtype_enum$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"createtype_enum$macrocall$2"],postprocess:m},{name:"createtype_enum$macrocall$1$ebnf$1",symbols:["createtype_enum$macrocall$1$ebnf$1","createtype_enum$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtype_enum$macrocall$1",symbols:["createtype_enum$macrocall$2","createtype_enum$macrocall$1$ebnf$1"],postprocess:([e,t])=>[c(e),...t.map(c)||[]]},{name:"createtype_enum",symbols:[a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"kw_enum","lparen","createtype_enum$macrocall$1","rparen"],postprocess:e=>(0,n.track)(e,{type:"create enum",values:e[3]})},{name:"enum_value",symbols:["string"],postprocess:e=>(0,n.track)(e,{value:d(e)})},{name:"createtype_composite$macrocall$2",symbols:["createtype_composite_attr"]},{name:"createtype_composite$macrocall$1$ebnf$1",symbols:[]},{name:"createtype_composite$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"createtype_composite$macrocall$2"],postprocess:m},{name:"createtype_composite$macrocall$1$ebnf$1",symbols:["createtype_composite$macrocall$1$ebnf$1","createtype_composite$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtype_composite$macrocall$1",symbols:["createtype_composite$macrocall$2","createtype_composite$macrocall$1$ebnf$1"],postprocess:([e,t])=>[c(e),...t.map(c)||[]]},{name:"createtype_composite",symbols:[a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"lparen","createtype_composite$macrocall$1","rparen"],postprocess:e=>(0,n.track)(e,{type:"create composite type",attributes:e[2]})},{name:"createtype_composite_attr$ebnf$1",symbols:["createtable_collate"],postprocess:r},{name:"createtype_composite_attr$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtype_composite_attr",symbols:["word","data_type","createtype_composite_attr$ebnf$1"],postprocess:e=>(0,n.track)(e,{name:o(e[0]),dataType:e[1],...e[2]?{collate:e[2][1]}:{}})},{name:"union_left",symbols:["select_statement"]},{name:"union_left",symbols:["select_values"]},{name:"union_left",symbols:["selection_paren"]},{name:"union_right",symbols:["selection"]},{name:"union_right",symbols:["selection_paren"]},{name:"union_statement$subexpression$1$ebnf$1",symbols:[a.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all],postprocess:r},{name:"union_statement$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"union_statement$subexpression$1",symbols:[a.lexerAny.has("kw_union")?{type:"kw_union"}:kw_union,"union_statement$subexpression$1$ebnf$1"]},{name:"union_statement",symbols:["union_left","union_statement$subexpression$1","union_right"],postprocess:e=>(0,n.track)(e,{type:d(e[1]," "),left:c(e[0]),right:c(e[2])})},{name:"prepare$ebnf$1$subexpression$1",symbols:["lparen","data_type_list","rparen"],postprocess:p(1)},{name:"prepare$ebnf$1",symbols:["prepare$ebnf$1$subexpression$1"],postprocess:r},{name:"prepare$ebnf$1",symbols:[],postprocess:()=>null},{name:"prepare",symbols:["kw_prepare","ident","prepare$ebnf$1",a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"statement_noprep"],postprocess:e=>(0,n.track)(e,{type:"prepare",name:o(e[1]),...e[2]&&{args:e[2]},statement:c(m(e))})},{name:"deallocate$ebnf$1",symbols:["kw_prepare"],postprocess:r},{name:"deallocate$ebnf$1",symbols:[],postprocess:()=>null},{name:"deallocate",symbols:["kw_deallocate","deallocate$ebnf$1","deallocate_target"],postprocess:e=>(0,n.track)(e,{type:"deallocate",target:e[2]})},{name:"deallocate_target",symbols:["deallocate_all"],postprocess:c},{name:"deallocate_target",symbols:["deallocate_name"],postprocess:c},{name:"deallocate_name",symbols:["ident"],postprocess:e=>(0,n.track)(e,o(e[0]))},{name:"deallocate_all",symbols:[a.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all],postprocess:e=>(0,n.track)(e,{option:"all"})},{name:"create_view_statements",symbols:["create_view"]},{name:"create_view_statements",symbols:["create_materialized_view"]},{name:"create_view$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_or")?{type:"kw_or"}:kw_or,"kw_replace"]},{name:"create_view$ebnf$1",symbols:["create_view$ebnf$1$subexpression$1"],postprocess:r},{name:"create_view$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$2$subexpression$1",symbols:["kw_temp"]},{name:"create_view$ebnf$2$subexpression$1",symbols:["kw_temporary"]},{name:"create_view$ebnf$2",symbols:["create_view$ebnf$2$subexpression$1"],postprocess:r},{name:"create_view$ebnf$2",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$3",symbols:["kw_recursive"],postprocess:r},{name:"create_view$ebnf$3",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$4$subexpression$1$macrocall$2",symbols:["ident"]},{name:"create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1",symbols:[]},{name:"create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"create_view$ebnf$4$subexpression$1$macrocall$2"],postprocess:m},{name:"create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1",symbols:["create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1","create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"create_view$ebnf$4$subexpression$1$macrocall$1",symbols:["create_view$ebnf$4$subexpression$1$macrocall$2","create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1"],postprocess:([e,t])=>[c(e),...t.map(c)||[]]},{name:"create_view$ebnf$4$subexpression$1",symbols:["lparen","create_view$ebnf$4$subexpression$1$macrocall$1","rparen"],postprocess:p(1)},{name:"create_view$ebnf$4",symbols:["create_view$ebnf$4$subexpression$1"],postprocess:r},{name:"create_view$ebnf$4",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$5",symbols:["create_view_opts"],postprocess:r},{name:"create_view$ebnf$5",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$6$subexpression$1$subexpression$1",symbols:["kw_local"]},{name:"create_view$ebnf$6$subexpression$1$subexpression$1",symbols:["kw_cascaded"]},{name:"create_view$ebnf$6$subexpression$1",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"create_view$ebnf$6$subexpression$1$subexpression$1",a.lexerAny.has("kw_check")?{type:"kw_check"}:kw_check,"kw_option"],postprocess:p(1)},{name:"create_view$ebnf$6",symbols:["create_view$ebnf$6$subexpression$1"],postprocess:r},{name:"create_view$ebnf$6",symbols:[],postprocess:()=>null},{name:"create_view",symbols:[a.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"create_view$ebnf$1","create_view$ebnf$2","create_view$ebnf$3","kw_view","qualified_name","create_view$ebnf$4","create_view$ebnf$5",a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"selection","create_view$ebnf$6"],postprocess:e=>(0,n.track)(e,{type:"create view",...e[1]&&{orReplace:!0},...e[2]&&{temp:!0},...e[3]&&{recursive:!0},name:e[5],...e[6]&&{columnNames:e[6].map(o)},...e[7]&&{parameters:$(e[7])},query:e[9],...e[10]&&{checkOption:d(e[10])}})},{name:"create_view_opt",symbols:["ident",a.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"ident"],postprocess:([e,t,s])=>[d(e),d(s)]},{name:"create_view_opts$macrocall$2",symbols:["create_view_opt"]},{name:"create_view_opts$macrocall$1$ebnf$1",symbols:[]},{name:"create_view_opts$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"create_view_opts$macrocall$2"],postprocess:m},{name:"create_view_opts$macrocall$1$ebnf$1",symbols:["create_view_opts$macrocall$1$ebnf$1","create_view_opts$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"create_view_opts$macrocall$1",symbols:["create_view_opts$macrocall$2","create_view_opts$macrocall$1$ebnf$1"],postprocess:([e,t])=>[c(e),...t.map(c)||[]]},{name:"create_view_opts",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"create_view_opts$macrocall$1"],postprocess:m},{name:"create_materialized_view$ebnf$1",symbols:["kw_ifnotexists"],postprocess:r},{name:"create_materialized_view$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$2",symbols:["ident"]},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1",symbols:[]},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"create_materialized_view$ebnf$2$subexpression$1$macrocall$2"],postprocess:m},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1",symbols:["create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1","create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$1",symbols:["create_materialized_view$ebnf$2$subexpression$1$macrocall$2","create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1"],postprocess:([e,t])=>[c(e),...t.map(c)||[]]},{name:"create_materialized_view$ebnf$2$subexpression$1",symbols:["lparen","create_materialized_view$ebnf$2$subexpression$1$macrocall$1","rparen"],postprocess:p(1)},{name:"create_materialized_view$ebnf$2",symbols:["create_materialized_view$ebnf$2$subexpression$1"],postprocess:r},{name:"create_materialized_view$ebnf$2",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$3",symbols:["create_view_opts"],postprocess:r},{name:"create_materialized_view$ebnf$3",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$4$subexpression$1",symbols:["kw_tablespace","ident"],postprocess:m},{name:"create_materialized_view$ebnf$4",symbols:["create_materialized_view$ebnf$4$subexpression$1"],postprocess:r},{name:"create_materialized_view$ebnf$4",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$5$subexpression$1$ebnf$1",symbols:["kw_no"],postprocess:r},{name:"create_materialized_view$ebnf$5$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$5$subexpression$1",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"create_materialized_view$ebnf$5$subexpression$1$ebnf$1","kw_data"]},{name:"create_materialized_view$ebnf$5",symbols:["create_materialized_view$ebnf$5$subexpression$1"],postprocess:r},{name:"create_materialized_view$ebnf$5",symbols:[],postprocess:()=>null},{name:"create_materialized_view",symbols:[a.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"kw_materialized","kw_view","create_materialized_view$ebnf$1","qualified_name","create_materialized_view$ebnf$2","create_materialized_view$ebnf$3","create_materialized_view$ebnf$4",a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"selection","create_materialized_view$ebnf$5"],postprocess:e=>(0,n.track)(e,{type:"create materialized view",...e[3]&&{ifNotExists:!0},name:e[4],...e[5]&&{columnNames:e[6].map(o)},...e[6]&&{parameters:$(e[6])},...e[7]&&{tablespace:o(e[7])},query:e[9],...e[10]&&{withData:"no"!==d(e[10][1])}})},{name:"refresh_view_statements$ebnf$1",symbols:[a.lexerAny.has("kw_concurrently")?{type:"kw_concurrently"}:kw_concurrently],postprocess:r},{name:"refresh_view_statements$ebnf$1",symbols:[],postprocess:()=>null},{name:"refresh_view_statements$ebnf$2$subexpression$1$ebnf$1",symbols:["kw_no"],postprocess:r},{name:"refresh_view_statements$ebnf$2$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"refresh_view_statements$ebnf$2$subexpression$1",symbols:[a.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"refresh_view_statements$ebnf$2$subexpression$1$ebnf$1","kw_data"]},{name:"refresh_view_statements$ebnf$2",symbols:["refresh_view_statements$ebnf$2$subexpression$1"],postprocess:r},{name:"refresh_view_statements$ebnf$2",symbols:[],postprocess:()=>null},{name:"refresh_view_statements",symbols:["kw_refresh","kw_materialized","kw_view","refresh_view_statements$ebnf$1","qname","refresh_view_statements$ebnf$2"],postprocess:e=>(0,n.track)(e,{type:"refresh materialized view",...e[3]?{concurrently:!0}:{},name:e[4],...e[5]?{withData:"no"!==d(e[5][1])}:{}})},{name:"functions_statements",symbols:["create_func"]},{name:"functions_statements",symbols:["do_stm"]},{name:"functions_statements",symbols:["drop_func"]},{name:"create_func$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("kw_or")?{type:"kw_or"}:kw_or,"kw_replace"]},{name:"create_func$ebnf$1",symbols:["create_func$ebnf$1$subexpression$1"],postprocess:r},{name:"create_func$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_func$subexpression$1$ebnf$1$macrocall$2",symbols:["func_argdef"]},{name:"create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1",symbols:[]},{name:"create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"create_func$subexpression$1$ebnf$1$macrocall$2"],postprocess:m},{name:"create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1",symbols:["create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1","create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"create_func$subexpression$1$ebnf$1$macrocall$1",symbols:["create_func$subexpression$1$ebnf$1$macrocall$2","create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1"],postprocess:([e,t])=>[c(e),...t.map(c)||[]]},{name:"create_func$subexpression$1$ebnf$1",symbols:["create_func$subexpression$1$ebnf$1$macrocall$1"],postprocess:r},{name:"create_func$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_func$subexpression$1",symbols:["lparen","create_func$subexpression$1$ebnf$1","rparen"],postprocess:p(1)},{name:"create_func$ebnf$2",symbols:["func_spec"]},{name:"create_func$ebnf$2",symbols:["create_func$ebnf$2","func_spec"],postprocess:e=>e[0].concat([e[1]])},{name:"create_func",symbols:[a.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"create_func$ebnf$1","kw_function","qname","create_func$subexpression$1","create_func$ebnf$2"],postprocess:(e,t)=>{var s;const r={};for(const t of e[5]){for(const e in t)if("_"!==e[0]&&e in r)throw new Error("conflicting or redundant options "+e);Object.assign(r,t)}return(0,n.track)(e,{type:"create function",...e[1]&&{orReplace:!0},name:e[3],arguments:null!==(s=e[4])&&void 0!==s?s:[],...r})}},{name:"func_argdef$ebnf$1",symbols:["func_argopts"],postprocess:r},{name:"func_argdef$ebnf$1",symbols:[],postprocess:()=>null},{name:"func_argdef$ebnf$2",symbols:["func_argdefault"],postprocess:r},{name:"func_argdef$ebnf$2",symbols:[],postprocess:()=>null},{name:"func_argdef",symbols:["func_argdef$ebnf$1","data_type","func_argdef$ebnf$2"],postprocess:e=>(0,n.track)(e,{default:e[2],type:e[1],...e[0]})},{name:"func_argdefault",symbols:[a.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default,"expr"],postprocess:e=>e[1]},{name:"func_argdefault",symbols:[a.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"expr"],postprocess:e=>e[1]},{name:"func_argopts$ebnf$1",symbols:["word"],postprocess:r},{name:"func_argopts$ebnf$1",symbols:[],postprocess:()=>null},{name:"func_argopts",symbols:["func_argmod","func_argopts$ebnf$1"],postprocess:e=>(0,n.track)(e,{mode:d(e[0]),...e[1]&&{name:o(e[1])}})},{name:"func_argopts",symbols:["word"],postprocess:(e,t)=>{const s=o(e);return"out"===s||"inout"===s||"variadic"===s?t:(0,n.track)(e,{name:s})}},{name:"func_argmod",symbols:[a.lexerAny.has("kw_in")?{type:"kw_in"}:kw_in]},{name:"func_argmod",symbols:["kw_out"]},{name:"func_argmod",symbols:["kw_inout"]},{name:"func_argmod",symbols:["kw_variadic"]},{name:"func_spec",symbols:["kw_language","word"],postprocess:e=>(0,n.track)(e,{language:o(m(e))})},{name:"func_spec",symbols:["func_purity"],postprocess:e=>(0,n.track)(e,{purity:d(e)})},{name:"func_spec$subexpression$1",symbols:[a.lexerAny.has("codeblock")?{type:"codeblock"}:codeblock]},{name:"func_spec$subexpression$1",symbols:["string"]},{name:"func_spec",symbols:[a.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"func_spec$subexpression$1"],postprocess:e=>({code:d(m(e))})},{name:"func_spec$ebnf$1",symbols:[a.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:r},{name:"func_spec$ebnf$1",symbols:[],postprocess:()=>null},{name:"func_spec$subexpression$2",symbols:["word"],postprocess:f("leakproof")},{name:"func_spec",symbols:["func_spec$ebnf$1","func_spec$subexpression$2"],postprocess:e=>(0,n.track)(e,{leakproof:!e[0]})},{name:"func_spec",symbols:["func_returns"],postprocess:e=>(0,n.track)(e,{returns:c(e)})},{name:"func_spec$subexpression$3",symbols:["word"],postprocess:f("called")},{name:"func_spec",symbols:["func_spec$subexpression$3","oninp"],postprocess:()=>({onNullInput:"call"})},{name:"func_spec$subexpression$4",symbols:["word"],postprocess:f("returns")},{name:"func_spec",symbols:["func_spec$subexpression$4",a.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null,"oninp"],postprocess:()=>({onNullInput:"null"})},{name:"func_spec$subexpression$5",symbols:["word"],postprocess:f("strict")},{name:"func_spec",symbols:["func_spec$subexpression$5"],postprocess:()=>({onNullInput:"strict"})},{name:"func_purity",symbols:["word"],postprocess:f("immutable")},{name:"func_purity",symbols:["word"],postprocess:f("stable")},{name:"func_purity",symbols:["word"],postprocess:f("volatile")},{name:"oninp$subexpression$1",symbols:["word"],postprocess:f("input")},{name:"oninp",symbols:[a.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,a.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null,"oninp$subexpression$1"]},{name:"func_returns",symbols:["kw_returns","data_type"],postprocess:m},{name:"func_returns$macrocall$2",symbols:["func_ret_table_col"]},{name:"func_returns$macrocall$1$ebnf$1",symbols:[]},{name:"func_returns$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"func_returns$macrocall$2"],postprocess:m},{name:"func_returns$macrocall$1$ebnf$1",symbols:["func_returns$macrocall$1$ebnf$1","func_returns$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"func_returns$macrocall$1",symbols:["func_returns$macrocall$2","func_returns$macrocall$1$ebnf$1"],postprocess:([e,t])=>[c(e),...t.map(c)||[]]},{name:"func_returns",symbols:["kw_returns",a.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table,"lparen","func_returns$macrocall$1","rparen"],postprocess:e=>(0,n.track)(e,{kind:"table",columns:e[3]})},{name:"func_ret_table_col",symbols:["word","data_type"],postprocess:e=>(0,n.track)(e,{name:o(e[0]),type:e[1]})},{name:"do_stm$ebnf$1$subexpression$1",symbols:["kw_language","word"],postprocess:m},{name:"do_stm$ebnf$1",symbols:["do_stm$ebnf$1$subexpression$1"],postprocess:r},{name:"do_stm$ebnf$1",symbols:[],postprocess:()=>null},{name:"do_stm",symbols:[a.lexerAny.has("kw_do")?{type:"kw_do"}:kw_do,"do_stm$ebnf$1",a.lexerAny.has("codeblock")?{type:"codeblock"}:codeblock],postprocess:e=>(0,n.track)(e,{type:"do",...e[1]&&{language:o(e[1])},code:e[2].value})},{name:"drop_func$ebnf$1$subexpression$1",symbols:["kw_if","kw_exists"]},{name:"drop_func$ebnf$1",symbols:["drop_func$ebnf$1$subexpression$1"],postprocess:r},{name:"drop_func$ebnf$1",symbols:[],postprocess:()=>null},{name:"drop_func$ebnf$2",symbols:["drop_func_overload"],postprocess:r},{name:"drop_func$ebnf$2",symbols:[],postprocess:()=>null},{name:"drop_func",symbols:["kw_drop","kw_function","drop_func$ebnf$1","qname","drop_func$ebnf$2"],postprocess:e=>(0,n.track)(e,{type:"drop function",...e[2]&&{ifExists:!0},name:e[3],...e[4]&&{arguments:e[4]}})},{name:"drop_func_overload$macrocall$2",symbols:["drop_func_overload_col"]},{name:"drop_func_overload$macrocall$1$ebnf$1",symbols:[]},{name:"drop_func_overload$macrocall$1$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("comma")?{type:"comma"}:comma,"drop_func_overload$macrocall$2"],postprocess:m},{name:"drop_func_overload$macrocall$1$ebnf$1",symbols:["drop_func_overload$macrocall$1$ebnf$1","drop_func_overload$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"drop_func_overload$macrocall$1",symbols:["drop_func_overload$macrocall$2","drop_func_overload$macrocall$1$ebnf$1"],postprocess:([e,t])=>[c(e),...t.map(c)||[]]},{name:"drop_func_overload",symbols:["lparen","drop_func_overload$macrocall$1","rparen"],postprocess:p(1)},{name:"drop_func_overload_col$ebnf$1",symbols:["word"],postprocess:r},{name:"drop_func_overload_col$ebnf$1",symbols:[],postprocess:()=>null},{name:"drop_func_overload_col",symbols:["drop_func_overload_col$ebnf$1","qname"],postprocess:e=>(0,n.track)(e,{type:e[1],...e[0]&&{name:o(e[0])}})},{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement_separator"],postprocess:e=>e[0].concat([e[1]])},{name:"main$ebnf$2",symbols:[]},{name:"main$ebnf$2$subexpression$1$ebnf$1",symbols:["statement_separator"]},{name:"main$ebnf$2$subexpression$1$ebnf$1",symbols:["main$ebnf$2$subexpression$1$ebnf$1","statement_separator"],postprocess:e=>e[0].concat([e[1]])},{name:"main$ebnf$2$subexpression$1",symbols:["main$ebnf$2$subexpression$1$ebnf$1","statement"]},{name:"main$ebnf$2",symbols:["main$ebnf$2","main$ebnf$2$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"main$ebnf$3",symbols:[]},{name:"main$ebnf$3",symbols:["main$ebnf$3","statement_separator"],postprocess:e=>e[0].concat([e[1]])},{name:"main",symbols:["main$ebnf$1","statement","main$ebnf$2","main$ebnf$3"],postprocess:([e,t,s])=>{const r=s,a=[c(t),...r.map((e=>c(e[1])))];return 1===a.length?a[0]:a}},{name:"statement_separator",symbols:[a.lexerAny.has("semicolon")?{type:"semicolon"}:semicolon]},{name:"statement",symbols:["statement_noprep"]},{name:"statement",symbols:["prepare"]},{name:"statement",symbols:["deallocate"]},{name:"statement_noprep",symbols:["selection"]},{name:"statement_noprep",symbols:["createtable_statement"]},{name:"statement_noprep",symbols:["createextension_statement"]},{name:"statement_noprep",symbols:["createindex_statement"]},{name:"statement_noprep",symbols:["simplestatements_all"]},{name:"statement_noprep",symbols:["insert_statement"]},{name:"statement_noprep",symbols:["update_statement"]},{name:"statement_noprep",symbols:["altertable_statement"]},{name:"statement_noprep",symbols:["alterindex_statement"]},{name:"statement_noprep",symbols:["delete_statement"]},{name:"statement_noprep",symbols:["create_sequence_statement"]},{name:"statement_noprep",symbols:["alter_sequence_statement"]},{name:"statement_noprep",symbols:["drop_statement"]},{name:"statement_noprep",symbols:["createtype_statement"]},{name:"statement_noprep",symbols:["create_view_statements"]},{name:"statement_noprep",symbols:["refresh_view_statements"]},{name:"statement_noprep",symbols:["create_schema"]},{name:"statement_noprep",symbols:["raise_statement"]},{name:"statement_noprep",symbols:["comment_statement"]},{name:"statement_noprep",symbols:["functions_statements"]},{name:"selection",symbols:["select_statement"],postprocess:c},{name:"selection",symbols:["select_values"],postprocess:c},{name:"selection",symbols:["with_statement"],postprocess:c},{name:"selection",symbols:["with_recursive_statement"],postprocess:c},{name:"selection",symbols:["union_statement"],postprocess:c},{name:"selection_paren",symbols:["lparen","selection","rparen"],postprocess:p(1)}],ParserStart:"main"};t.default=g},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=s(12),a={Lexer:r.lexerAny,ParserRules:[{name:"main$ebnf$1",symbols:["elements"],postprocess:function(e){return e[0]}},{name:"main$ebnf$1",symbols:[],postprocess:()=>null},{name:"main",symbols:[r.lexerAny.has("start_list")?{type:"start_list"}:start_list,"main$ebnf$1",r.lexerAny.has("end_list")?{type:"end_list"}:end_list],postprocess:e=>e[1]||[]},{name:"elements$ebnf$1",symbols:[]},{name:"elements$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"elt"],postprocess:e=>e&&e[e.length-1]},{name:"elements$ebnf$1",symbols:["elements$ebnf$1","elements$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"elements",symbols:["elt","elements$ebnf$1"],postprocess:([e,t])=>[e,...t||[]]},{name:"elt",symbols:[r.lexerAny.has("value")?{type:"value"}:value],postprocess:e=>e[0].value},{name:"elt",symbols:["main"],postprocess:e=>e[0]}],ParserStart:"main"};t.default=a},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.lexerAny=t.lexer=void 0;const r=s(0);var a;t.lexer=(0,r.compile)({valueString:{match:/"(?:\\["\\]|[^\n"\\])*"/,value:e=>JSON.parse(e),type:e=>"value"},valueRaw:{match:/[^\s,\{\}"](?:[^,\{\}"]*[^\s,\{\}"])?/,type:()=>"value"},comma:",",space:{match:/[\s\t\n\v\f\r]+/,lineBreaks:!0},start_list:"{",end_list:"}"}),t.lexer.next=(a=t.lexer.next,()=>{let e;for(;(e=a.call(t.lexer))&&"space"===e.type;);return e}),t.lexerAny=t.lexer},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=s(14),a=e=>t=>t[e],n=e=>e&&e[e.length-1];function o(e){return Array.isArray(e)&&1===e.length&&(e=o(e[0])),Array.isArray(e)&&!e.length?null:e}const l={Lexer:r.lexerAny,ParserRules:[{name:"number$subexpression$1",symbols:["float"]},{name:"number$subexpression$1",symbols:["int"]},{name:"number",symbols:["number$subexpression$1"],postprocess:o},{name:"float",symbols:[r.lexerAny.has("float")?{type:"float"}:float],postprocess:e=>parseFloat(o(e))},{name:"int",symbols:[r.lexerAny.has("int")?{type:"int"}:int],postprocess:e=>parseInt(o(e),10)},{name:"comma",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma],postprocess:function(e){return e[0]}},{name:"point$macrocall$2",symbols:["point_content"]},{name:"point$macrocall$1$subexpression$1",symbols:["point$macrocall$2"]},{name:"point$macrocall$1$subexpression$1",symbols:[r.lexerAny.has("lparen")?{type:"lparen"}:lparen,"point$macrocall$2",r.lexerAny.has("rparen")?{type:"rparen"}:rparen],postprocess:a(1)},{name:"point$macrocall$1",symbols:["point$macrocall$1$subexpression$1"],postprocess:o},{name:"point",symbols:["point$macrocall$1"],postprocess:o},{name:"point_content",symbols:["number","comma","number"],postprocess:e=>({x:e[0],y:e[2]})},{name:"line",symbols:[r.lexerAny.has("lcurl")?{type:"lcurl"}:lcurl,"number","comma","number","comma","number",r.lexerAny.has("rcurl")?{type:"rcurl"}:rcurl],postprocess:e=>({a:e[1],b:e[3],c:e[5]})},{name:"box",symbols:["closed_path"],postprocess:([e],t)=>2!==e.length?t:e},{name:"lseg",symbols:["path"],postprocess:([e],t)=>2!==e.path.length?t:e.path},{name:"path",symbols:["open_path"],postprocess:([e])=>({closed:!1,path:e})},{name:"path",symbols:["closed_path"],postprocess:([e])=>({closed:!0,path:e})},{name:"open_path$macrocall$2",symbols:[r.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket]},{name:"open_path$macrocall$3",symbols:[r.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket]},{name:"open_path$macrocall$1$macrocall$2",symbols:["point"]},{name:"open_path$macrocall$1$macrocall$1$ebnf$1",symbols:[]},{name:"open_path$macrocall$1$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"open_path$macrocall$1$macrocall$2"],postprocess:n},{name:"open_path$macrocall$1$macrocall$1$ebnf$1",symbols:["open_path$macrocall$1$macrocall$1$ebnf$1","open_path$macrocall$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"open_path$macrocall$1$macrocall$1",symbols:["open_path$macrocall$1$macrocall$2","open_path$macrocall$1$macrocall$1$ebnf$1"],postprocess:([e,t])=>[o(e),...t.map(o)||[]]},{name:"open_path$macrocall$1",symbols:["open_path$macrocall$2","open_path$macrocall$1$macrocall$1","open_path$macrocall$3"],postprocess:a(1)},{name:"open_path",symbols:["open_path$macrocall$1"],postprocess:n},{name:"closed_path$subexpression$1$macrocall$2",symbols:[r.lexerAny.has("lparen")?{type:"lparen"}:lparen]},{name:"closed_path$subexpression$1$macrocall$3",symbols:[r.lexerAny.has("rparen")?{type:"rparen"}:rparen]},{name:"closed_path$subexpression$1$macrocall$1$macrocall$2",symbols:["point"]},{name:"closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1",symbols:[]},{name:"closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"closed_path$subexpression$1$macrocall$1$macrocall$2"],postprocess:n},{name:"closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1",symbols:["closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1","closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"closed_path$subexpression$1$macrocall$1$macrocall$1",symbols:["closed_path$subexpression$1$macrocall$1$macrocall$2","closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1"],postprocess:([e,t])=>[o(e),...t.map(o)||[]]},{name:"closed_path$subexpression$1$macrocall$1",symbols:["closed_path$subexpression$1$macrocall$2","closed_path$subexpression$1$macrocall$1$macrocall$1","closed_path$subexpression$1$macrocall$3"],postprocess:a(1)},{name:"closed_path$subexpression$1",symbols:["closed_path$subexpression$1$macrocall$1"],postprocess:n},{name:"closed_path$subexpression$1$macrocall$5",symbols:["point"]},{name:"closed_path$subexpression$1$macrocall$4$ebnf$1",symbols:[]},{name:"closed_path$subexpression$1$macrocall$4$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"closed_path$subexpression$1$macrocall$5"],postprocess:n},{name:"closed_path$subexpression$1$macrocall$4$ebnf$1",symbols:["closed_path$subexpression$1$macrocall$4$ebnf$1","closed_path$subexpression$1$macrocall$4$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"closed_path$subexpression$1$macrocall$4",symbols:["closed_path$subexpression$1$macrocall$5","closed_path$subexpression$1$macrocall$4$ebnf$1"],postprocess:([e,t])=>[o(e),...t.map(o)||[]]},{name:"closed_path$subexpression$1",symbols:["closed_path$subexpression$1$macrocall$4"],postprocess:n},{name:"closed_path",symbols:["closed_path$subexpression$1"],postprocess:a(0)},{name:"polygon",symbols:["closed_path"],postprocess:a(0)},{name:"circle_body",symbols:["point","comma","number"],postprocess:e=>({c:e[0],r:e[2]})},{name:"circle$subexpression$1$macrocall$2",symbols:[r.lexerAny.has("lcomp")?{type:"lcomp"}:lcomp]},{name:"circle$subexpression$1$macrocall$3",symbols:[r.lexerAny.has("rcomp")?{type:"rcomp"}:rcomp]},{name:"circle$subexpression$1$macrocall$1",symbols:["circle$subexpression$1$macrocall$2","circle_body","circle$subexpression$1$macrocall$3"],postprocess:a(1)},{name:"circle$subexpression$1",symbols:["circle$subexpression$1$macrocall$1"]},{name:"circle$subexpression$1$macrocall$5",symbols:[r.lexerAny.has("lparen")?{type:"lparen"}:lparen]},{name:"circle$subexpression$1$macrocall$6",symbols:[r.lexerAny.has("rparen")?{type:"rparen"}:rparen]},{name:"circle$subexpression$1$macrocall$4",symbols:["circle$subexpression$1$macrocall$5","circle_body","circle$subexpression$1$macrocall$6"],postprocess:a(1)},{name:"circle$subexpression$1",symbols:["circle$subexpression$1$macrocall$4"]},{name:"circle$subexpression$1",symbols:["circle_body"]},{name:"circle",symbols:["circle$subexpression$1"],postprocess:o}],ParserStart:"number"};t.default=l},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.lexerAny=t.lexer=void 0;const r=s(0);var a;t.lexer=(0,r.compile)({comma:",",space:{match:/[\s\t\n\v\f\r]+/,lineBreaks:!0},int:/\-?\d+(?![\.\d])/,float:/\-?(?:(?:\d*\.\d+)|(?:\d+\.\d*))/,lcurl:"{",rcurl:"}",lparen:"(",rparen:")",lbracket:"[",rbracket:"]",lcomp:"<",rcomp:">"}),t.lexer.next=(a=t.lexer.next,()=>{let e;for(;(e=a.call(t.lexer))&&"space"===e.type;);return e}),t.lexerAny=t.lexer},function(e,t,s){"use strict";function r(e){return e[0]}Object.defineProperty(t,"__esModule",{value:!0});const a=s(16),n={Lexer:a.lexerAny,ParserRules:[{name:"main$ebnf$1",symbols:["elt"]},{name:"main$ebnf$1",symbols:["main$ebnf$1","elt"],postprocess:e=>e[0].concat([e[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([e])=>{const t=new Set;for(const s of e){const e="number"==typeof s[1]?s[0]:"time";if(t.has(e))return"invalid";t.add(e)}return e}},{name:"elt",symbols:["time"]},{name:"elt",symbols:["num","unit"],postprocess:([[e],t])=>[t=t[0].type,e]},{name:"unit",symbols:[a.lexerAny.has("years")?{type:"years"}:years]},{name:"unit",symbols:[a.lexerAny.has("months")?{type:"months"}:months]},{name:"unit",symbols:[a.lexerAny.has("days")?{type:"days"}:days]},{name:"unit",symbols:[a.lexerAny.has("hours")?{type:"hours"}:hours]},{name:"unit",symbols:[a.lexerAny.has("minutes")?{type:"minutes"}:minutes]},{name:"unit",symbols:[a.lexerAny.has("seconds")?{type:"seconds"}:seconds]},{name:"unit",symbols:[a.lexerAny.has("milliseconds")?{type:"milliseconds"}:milliseconds]},{name:"num",symbols:["int"]},{name:"num",symbols:["float"]},{name:"uint",symbols:[a.lexerAny.has("int")?{type:"int"}:int],postprocess:([e])=>parseInt(e,10)},{name:"int$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("neg")?{type:"neg"}:neg]},{name:"int$ebnf$1",symbols:["int$ebnf$1$subexpression$1"],postprocess:r},{name:"int$ebnf$1",symbols:[],postprocess:()=>null},{name:"int",symbols:["int$ebnf$1",a.lexerAny.has("int")?{type:"int"}:int],postprocess:([e,t])=>parseInt(t,10)*(e?-1:1)},{name:"float$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("neg")?{type:"neg"}:neg]},{name:"float$ebnf$1",symbols:["float$ebnf$1$subexpression$1"],postprocess:r},{name:"float$ebnf$1",symbols:[],postprocess:()=>null},{name:"float$ebnf$2",symbols:[a.lexerAny.has("int")?{type:"int"}:int],postprocess:r},{name:"float$ebnf$2",symbols:[],postprocess:()=>null},{name:"float",symbols:["float$ebnf$1","float$ebnf$2",a.lexerAny.has("dot")?{type:"dot"}:dot,a.lexerAny.has("int")?{type:"int"}:int],postprocess:([e,...t])=>parseFloat(t.map((e=>e?e.text:"0")).join(""))*(e?-1:1)},{name:"time$ebnf$1$subexpression$1",symbols:[a.lexerAny.has("colon")?{type:"colon"}:colon,"uint"]},{name:"time$ebnf$1",symbols:["time$ebnf$1$subexpression$1"],postprocess:r},{name:"time$ebnf$1",symbols:[],postprocess:()=>null},{name:"time$ebnf$2$subexpression$1",symbols:[a.lexerAny.has("dot")?{type:"dot"}:dot,a.lexerAny.has("int")?{type:"int"}:int]},{name:"time$ebnf$2",symbols:["time$ebnf$2$subexpression$1"],postprocess:r},{name:"time$ebnf$2",symbols:[],postprocess:()=>null},{name:"time",symbols:["uint",a.lexerAny.has("colon")?{type:"colon"}:colon,"uint","time$ebnf$1","time$ebnf$2"],postprocess:([e,t,s,r,a])=>{const n="number"==typeof(r=r&&r[1])?[["hours",e],["minutes",s],["seconds",r]]:[["minutes",e],["seconds",s]];return(a=a&&a[1])&&n.push(["milliseconds",1e3*parseFloat("0."+a)]),n}}],ParserStart:"main"};t.default=n},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.lexerAny=t.lexer=void 0;const r=s(0);var a;t.lexer=(0,r.compile)({int:/\d+/,neg:"-",dot:".",years:/(?:y|yrs?|years?)\b/,months:/(?:mon(?:th)?s?)\b/,days:/(?:d|days?)\b/,hours:/(?:h|hrs?|hours?)\b/,minutes:/(?:m|mins?|minutes?)\b/,seconds:/(?:s|secs?|seconds?)\b/,milliseconds:/(?:ms|milliseconds?)\b/,space:{match:/[\s\t\n\v\f\r]+/,lineBreaks:!0},colon:":"}),t.lexer.next=(a=t.lexer.next,()=>{let e;for(;(e=a.call(t.lexer))&&"space"===e.type;);return e}),t.lexerAny=t.lexer},function(e,t,s){"use strict";function r(e){return e[0]}Object.defineProperty(t,"__esModule",{value:!0});const a=s(18),n={Lexer:a.lexerAny,ParserRules:[{name:"num",symbols:[a.lexerAny.has("int")?{type:"int"}:int]},{name:"num",symbols:[a.lexerAny.has("float")?{type:"float"}:float]},{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","long"],postprocess:e=>e[0].concat([e[1]])},{name:"main$ebnf$2$subexpression$1$ebnf$1",symbols:["short"]},{name:"main$ebnf$2$subexpression$1$ebnf$1",symbols:["main$ebnf$2$subexpression$1$ebnf$1","short"],postprocess:e=>e[0].concat([e[1]])},{name:"main$ebnf$2$subexpression$1",symbols:[a.lexerAny.has("T")?{type:"T"}:T,"main$ebnf$2$subexpression$1$ebnf$1"]},{name:"main$ebnf$2",symbols:["main$ebnf$2$subexpression$1"],postprocess:r},{name:"main$ebnf$2",symbols:[],postprocess:()=>null},{name:"main",symbols:[a.lexerAny.has("P")?{type:"P"}:P,"main$ebnf$1","main$ebnf$2"],postprocess:([e,t,s],r)=>(s=s?s[1]:[],t.length||s.length?t.length?s.length?[...t,...s]:t:s:r)},{name:"long$subexpression$1",symbols:[a.lexerAny.has("Y")?{type:"Y"}:Y]},{name:"long$subexpression$1",symbols:[a.lexerAny.has("M")?{type:"M"}:M]},{name:"long$subexpression$1",symbols:[a.lexerAny.has("W")?{type:"W"}:W]},{name:"long$subexpression$1",symbols:[a.lexerAny.has("D")?{type:"D"}:D]},{name:"long",symbols:["num","long$subexpression$1"],postprocess:([e,t])=>{switch(e=parseFloat(e[0].value),t=t[0].type){case"Y":return["years",e];case"M":return["months",e];case"W":return["days",7*e];case"D":return["days",e];default:throw new Error("Unexpected unit "+t)}}},{name:"short$ebnf$1",symbols:[a.lexerAny.has("T")?{type:"T"}:T],postprocess:r},{name:"short$ebnf$1",symbols:[],postprocess:()=>null},{name:"short$subexpression$1",symbols:[a.lexerAny.has("H")?{type:"H"}:H]},{name:"short$subexpression$1",symbols:[a.lexerAny.has("M")?{type:"M"}:M]},{name:"short$subexpression$1",symbols:[a.lexerAny.has("S")?{type:"S"}:S]},{name:"short",symbols:["short$ebnf$1","num","short$subexpression$1"],postprocess:([e,t,s])=>{switch(t=parseFloat(t[0].value),s=s[0].type){case"H":return["hours",t];case"M":return["minutes",t];case"S":return["seconds",t];default:throw new Error("Unexpected unit "+s)}}}],ParserStart:"num"};t.default=n},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.lexerAny=t.lexer=void 0;const r=s(0);t.lexer=(0,r.compile)({int:/\-?\d+(?![\.\d])/,float:/\-?(?:(?:\d*\.\d+)|(?:\d+\.\d*))/,P:"P",Y:"Y",M:"M",W:"W",D:"D",H:"H",S:"S",T:"T"}),t.lexerAny=t.lexer},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toSql=void 0;const r=s(2),a=s(5),n=s(6),o=s(20),l=s(3),i=new Set(l.sqlKeywords.map((e=>e.toLowerCase())));let c=[];function p(e){return m(e.name)}function m(e,t){if(!t){const t=e.toLowerCase();if(t===e&&!i.has(t)&&/^[a-z][a-z0-9_]*$/.test(t))return e}return'"'+e+'"'}function u(e,t,s){s&&c.push("(");let r=!0;for(const s of e)r||c.push(", "),r=!1,t(s);s&&c.push(")")}function b(e,t){switch(e.type){case"foreign key":c.push(" foreign key (",...e.localColumns.map(p).join(", "),")");case"reference":c.push(" REFERENCES "),t.tableRef(e.foreignTable),c.push("(",...e.foreignColumns.map(p).join(", "),") "),e.match&&c.push(" MATCH ",e.match.toUpperCase()),e.onDelete&&c.push(" ON DELETE ",e.onDelete),e.onUpdate&&c.push(" ON UPDATE ",e.onUpdate);break;case"primary key":case"unique":c.push(" ",e.type," "),"columns"in e&&c.push("(",...e.columns.map(p).join(", "),") ");break;case"check":c.push(" check "),t.expr(e.expr);break;case"not null":case"null":c.push(" ",e.type," ");break;case"default":c.push(" default "),t.expr(e.default);break;case"add generated":c.push(" GENERATED "),h(t,e);break;default:throw n.NotSupported.never(e)}c.push(" ")}function y(e,t){e.schema&&c.push(m(e.schema),"."),c.push(m(e.name,t)," ")}function d(e){y(e),e.alias&&c.push(" AS ",m(e.alias)," ")}function $(e,t){c.push(" ORDER BY "),u(t,(t=>{e.expr(t.by),t.order&&c.push(" ",t.order," "),t.nulls&&c.push(" NULLS ",t.nulls," ")}),!1)}function _(e){switch(e.type){case"default":c.push("DEFAULT ");break;case"identifier":c.push(e.name);break;case"list":let t=!0;for(const s of e.values)t||c.push(", "),t=!1,_(s);break;case"value":c.push("number"==typeof e.value?e.value.toString():(0,o.literal)(e.value));break;default:throw n.NotSupported.never(e)}}function h(e,t){t.always&&c.push(t.always.toUpperCase()," "),c.push("AS IDENTITY "),t.sequence&&(c.push("("),t.sequence.name&&(c.push("SEQUENCE NAME "),y(t.sequence.name),c.push(" ")),f(e,t.sequence),c.push(") "))}function f(e,t){t.as&&(c.push("AS "),e.dataType(t.as),c.push(" ")),"number"==typeof t.incrementBy&&c.push("INCREMENT BY ",t.incrementBy.toString()," "),"no minvalue"===t.minValue&&c.push("NO MINVALUE "),"number"==typeof t.minValue&&c.push("MINVALUE ",t.minValue.toString()," "),"no maxvalue"===t.maxValue&&c.push("NO MAXVALUE "),"number"==typeof t.maxValue&&c.push("MAXVALUE ",t.maxValue.toString()," "),"number"==typeof t.startWith&&c.push("START WITH ",t.startWith.toString()," "),"number"==typeof t.cache&&c.push("CACHE ",t.cache.toString()," "),t.cycle&&c.push(t.cycle," "),"none"===t.ownedBy?c.push("OWNED BY NONE "):t.ownedBy&&(c.push("OWNED BY "),w(t.ownedBy)),"restart"in t&&(!0===t.restart?c.push("RESTART "):t.restart&&c.push("RESTART WITH ",t.restart.toString()," "))}function w(e){e.schema&&c.push(m(e.schema),"."),c.push(m(e.table),".",m(e.column)," ")}function x(e,t,s){t?(c.push(t.type," "),s(),t.on&&(c.push("ON "),e.expr(t.on)),t.using&&(c.push("USING ("),u(t.using,(e=>c.push(p(e))),!1),c.push(") ")),c.push(" ")):s()}function g(e){e.opSchema?c.push(" operator(",m(e.opSchema),".",e.op,") "):c.push(" ",e.op," ")}const v=(0,a.astVisitor)((e=>({addColumn:(...t)=>{c.push(" ADD COLUMN "),t[0].ifNotExists&&c.push("IF NOT EXISTS "),e.super().addColumn(...t)},createExtension:e=>{c.push("CREATE EXTENSION "),e.ifNotExists&&c.push(" IF NOT EXISTS "),c.push(p(e.extension)),(e.from||e.version||e.schema)&&(c.push(" WITH"),e.schema&&c.push(" SCHEMA ",p(e.schema)),e.version&&c.push(" VERSION ",(0,o.literal)(e.version.value)),e.from&&c.push(" FROM ",(0,o.literal)(e.from.value)))},tablespace:e=>{c.push("TABLESPACE ",p(e.tablespace))},addConstraint:t=>{c.push(" ADD ");const s=t.constraint.constraintName;s&&c.push(" CONSTRAINT ",p(s)," "),b(t.constraint,e)},alterColumn:(t,s)=>{c.push(" ALTER COLUMN ",p(t.column)," "),e.super().alterColumn(t,s)},setColumnDefault:(t,s,r)=>{if(c.push(" SET DEFAULT "),e.expr(t.default),t.updateExisting)throw new Error("Not implemented: updateExisting on set column default")},createEnum:e=>{c.push("CREATE TYPE "),y(e.name),c.push(" AS ENUM "),u(e.values,(e=>c.push((0,o.literal)(e.value))),!0),c.push(" ")},createCompositeType:t=>{c.push("CREATE TYPE "),y(t.name),c.push(" AS "),u(t.attributes,(t=>{c.push(p(t.name)," "),e.dataType(t.dataType),t.collate&&(c.push("COLLATE "),y(t.collate))}),!0),c.push(" ")},setTableOwner:e=>{c.push(" OWNER TO ",p(e.to))},alterColumnSimple:e=>c.push(e.type),alterColumnAddGenerated:t=>{c.push(" ADD GENERATED "),h(e,t)},setColumnType:t=>{c.push(" SET DATA TYPE "),e.dataType(t.dataType),c.push(" ")},alterTable:t=>{c.push("ALTER TABLE "),t.ifExists&&c.push(" IF EXISTS "),t.only&&c.push(" ONLY "),d(t.table),u(t.changes,(s=>e.tableAlteration(s,t.table)),!1)},alterIndex:e=>{switch(c.push("ALTER INDEX "),e.ifExists&&c.push(" IF EXISTS "),d(e.index),e.change.type){case"rename":c.push(" RENAME TO "),y(e.change.to),c.push(" ");break;case"set tablespace":c.push(" SET TABLESPACE "),y(e.change.tablespace),c.push(" ");break;default:throw n.NotSupported.never(e.change,"Alter index type not supported: ")}},tableAlteration:(t,s)=>{switch(t.type){case"add column":return e.addColumn(t,s);case"add constraint":return e.addConstraint(t,s);case"alter column":return e.alterColumn(t,s);case"rename":return e.renameTable(t,s);case"rename column":return e.renameColumn(t,s);case"rename constraint":return e.renameConstraint(t,s);case"drop column":return e.dropColumn(t,s);case"drop constraint":return e.dropConstraint(t,s);case"owner":return e.setTableOwner(t,s);default:throw n.NotSupported.never(t)}},array:t=>{c.push("array"===t.type?"ARRAY[":"("),u(t.expressions,(t=>e.expr(t)),!1),c.push("array"===t.type?"]":")")},arrayIndex:t=>{e.expr(t.array),c.push("["),e.expr(t.index),c.push("] ")},expr:t=>{"ref"!==t.type?"list"!==t.type?(c.push("("),e.super().expr(t),c.push(")")):e.super().expr(t):e.ref(t)},callOverlay:t=>{c.push("OVERLAY("),e.expr(t.value),c.push(" PLACING "),e.expr(t.placing),c.push(" FROM "),e.expr(t.from),t.for&&(c.push(" FOR "),e.expr(t.for)),c.push(")")},callSubstring:t=>{c.push("SUBSTRING("),e.expr(t.value),t.from&&(c.push(" FROM "),e.expr(t.from)),t.for&&(c.push(" FOR "),e.expr(t.for)),c.push(")")},binary:t=>{e.expr(t.left),g(t),e.expr(t.right)},call:t=>{y(t.function),c.push("("),t.distinct&&c.push(t.distinct," "),u(t.args,(t=>e.expr(t)),!1),t.orderBy&&$(e,t.orderBy),c.push(") "),t.filter&&(c.push("filter (where "),e.expr(t.filter),c.push(") ")),t.over&&(c.push("over ("),t.over.partitionBy&&(c.push("PARTITION BY "),u(t.over.partitionBy,(t=>e.expr(t)),!1),c.push(" ")),t.over.orderBy&&($(e,t.over.orderBy),c.push(" ")),c.push(") "))},case:t=>{c.push("CASE "),t.value&&e.expr(t.value);for(const s of t.whens)c.push(" WHEN "),e.expr(s.when),c.push(" THEN "),e.expr(s.value);t.else&&(c.push(" ELSE "),e.expr(t.else)),c.push(" END ")},cast:t=>{e.expr(t.operand),c.push("::"),e.dataType(t.to)},constant:e=>{switch(e.type){case"boolean":c.push(e.value?"true":"false");break;case"integer":c.push(e.value.toString(10));break;case"numeric":c.push(e.value.toString()),Number.isInteger(e.value)&&c.push(".");break;case"null":c.push("null");break;case"constant":break;case"string":c.push((0,o.literal)(e.value));break;default:throw n.NotSupported.never(e)}},valueKeyword:e=>{c.push(e.keyword," ")},comment:e=>{c.push("COMMENT ON ",e.on.type.toUpperCase()," "),"column"===e.on.type?w(e.on.column):y(e.on.name),c.push(" IS ",(0,o.literal)(e.comment)," ")},extract:t=>{c.push("EXTRACT (",t.field.name.toUpperCase()," FROM "),e.expr(t.from),c.push(") ")},createColumn:t=>{var s;c.push(p(t.name)," "),e.dataType(t.dataType),c.push(" "),t.collate&&(c.push("COLLATE "),y(t.collate));for(const r of null!==(s=t.constraints)&&void 0!==s?s:[])e.constraint(r)},begin:e=>{c.push("BEGIN "),e.isolationLevel&&c.push("ISOLATION LEVEL ",e.isolationLevel.toUpperCase()," "),e.writeable&&c.push(e.writeable.toUpperCase()," "),"boolean"==typeof e.deferrable&&(e.deferrable||c.push("NOT "),c.push("DEFERRABLE "))},alterSequence:t=>{switch(c.push("ALTER SEQUENCE "),t.ifExists&&c.push("IF EXISTS "),y(t.name),t.change.type){case"set options":f(e,t.change);break;case"rename":c.push("RENAME TO ",p(t.change.newName)," ");break;case"set schema":c.push("SET SCHEMA ",p(t.change.newSchema)," ");break;case"owner to":t.change.owner,c.push("OWNER TO ",p(t.change.owner)," ");break;default:throw n.NotSupported.never(t.change)}},createSequence:t=>{c.push("CREATE "),t.temp&&c.push("TEMPORARY "),c.push("SEQUENCE "),t.ifNotExists&&c.push("IF NOT EXISTS "),y(t.name),f(e,t.options)},drop:t=>{c.push(t.type.toUpperCase()," "),t.concurrently&&c.push("CONCURRENTLY "),t.ifExists&&c.push("IF EXISTS "),u(t.names,(t=>e.tableRef(t)),!1),t.cascade&&c.push(t.cascade.toUpperCase()," ")},constraint:t=>{t.constraintName&&c.push(" CONSTRAINT ",p(t.constraintName)," "),b(t,e)},do:e=>{c.push("DO"),e.language&&c.push(" LANGUAGE ",e.language.name),c.push(" $$",e.code,"$$")},createFunction:t=>{var s;if(c.push(t.orReplace?"CREATE OR REPLACE FUNCTION ":"CREATE FUNCTION "),y(t.name),u(t.arguments,(t=>{t.mode&&c.push(t.mode," "),t.name&&c.push(p(t.name)," "),e.dataType(t.type),t.default&&(c.push(" = "),e.expr(t.default))}),!0),t.returns)switch(t.returns.kind){case"table":c.push(" RETURNS TABLE "),u(t.returns.columns,(t=>{c.push(p(t.name)," "),e.dataType(t.type)}),!0);break;case void 0:case null:case"array":c.push(" RETURNS "),e.dataType(t.returns);break;default:throw n.NotSupported.never(t.returns)}switch(c.push(" AS $$",null!==(s=t.code)&&void 0!==s?s:"","$$"),t.language&&c.push("LANGUAGE ",t.language.name," "),t.purity&&c.push(t.purity.toUpperCase()," "),"boolean"==typeof t.leakproof&&c.push(t.leakproof?"LEAKPROOF ":"NOT LEAKPROOF "),t.onNullInput){case"call":c.push("CALLED ON NULL INPUT ");break;case"null":c.push("RETURNS NULL ON NULL INPUT ");break;case"strict":c.push("STRICT ");break;case null:case void 0:break;default:throw n.NotSupported.never(t.onNullInput)}},dropFunction:t=>{c.push("DROP FUNCTION "),t.ifExists&&c.push("IF EXISTS "),y(t.name),t.arguments&&u(t.arguments,(t=>{t.name&&(y(t.name),c.push(" ")),e.dataType(t.type)}),!0),c.push(" ")},with:t=>{c.push("WITH "),u(t.bind,(t=>{c.push(p(t.alias)," AS ("),e.statement(t.statement),c.push(") ")}),!1),e.statement(t.in)},withRecursive:t=>{c.push("WITH RECURSIVE ",p(t.alias),"(",...t.columnNames.map(p).join(", "),") AS ("),e.union(t.bind),c.push(") "),e.statement(t.in)},setGlobal:e=>{c.push("SET ",p(e.variable)," = "),_(e.set)},setTimezone:e=>{switch(c.push("SET TIME ZONE "),e.to.type){case"default":case"local":c.push(e.to.type.toUpperCase()," ");break;case"value":c.push("string"==typeof e.to.value?(0,o.literal)(e.to.value):e.to.value.toString(10));break;case"interval":c.push("INTERVAL ",(0,o.literal)(e.to.value)," HOUR TO MINUTE");break;default:throw n.NotSupported.never(e.to)}},dataType:t=>{var s,r;if("array"===(null==t?void 0:t.kind))return e.dataType(t.arrayOf),void c.push("[]");if(!(null==t?void 0:t.name))return void c.push("unkown");let a=!0;if(t.schema)y(t,t.doubleQuoted);else if(t.doubleQuoted)y(t,!0);else switch(t.name){case"double precision":case"character varying":case"bit varying":c.push(t.name," ");break;case"time without time zone":case"timestamp without time zone":case"time with time zone":case"timestamp with time zone":const e=t.name.split(" ");c.push(e.shift()),(null===(s=t.config)||void 0===s?void 0:s.length)&&u(t.config,(e=>c.push(e.toString(10))),!0),c.push(" "),c.push(e.join(" ")," "),a=!1;break;default:y(t)}a&&(null===(r=t.config)||void 0===r?void 0:r.length)&&u(t.config,(e=>c.push(e.toString(10))),!0)},createIndex:t=>{c.push(t.unique?"CREATE UNIQUE INDEX ":"CREATE INDEX "),t.ifNotExists&&c.push(" IF NOT EXISTS "),t.indexName&&c.push(p(t.indexName)," "),c.push("ON "),e.tableRef(t.table),t.using&&c.push("USING ",p(t.using)," "),u(t.expressions,(t=>{e.expr(t.expression),c.push(" "),t.collate&&(c.push("COLLATE "),y(t.collate)),t.opclass&&y(t.opclass),t.order&&c.push(t.order," "),t.nulls&&c.push("nulls ",t.nulls," ")}),!0),t.with&&(c.push("WITH "),u(t.with,(e=>{c.push(e.parameter," = ",(0,o.literal)(e.value))}),!0)),t.tablespace&&c.push("TABLESPACE ",m(t.tablespace)),t.where&&(c.push(" WHERE "),e.expr(t.where)),c.push(" ")},createTable:t=>{var s;c.push("CREATE "),t.locality&&c.push(t.locality.toUpperCase()," "),t.temporary&&c.push("TEMPORARY "),t.unlogged&&c.push("UNLOGGED "),c.push(t.ifNotExists?"TABLE IF NOT EXISTS ":"TABLE "),e.tableRef(t.name),c.push("("),u(t.columns,(t=>{switch(t.kind){case"column":return e.createColumn(t);case"like table":return e.likeTable(t);default:throw n.NotSupported.never(t)}}),!1),t.constraints&&(c.push(", "),u(t.constraints,(t=>{const s=t.constraintName;s&&c.push("CONSTRAINT ",p(s)," "),b(t,e)}),!1)),c.push(") "),(null===(s=t.inherits)||void 0===s?void 0:s.length)&&(c.push(" INHERITS "),u(t.inherits,(e=>y(e)),!0))},likeTable:t=>{c.push(" LIKE "),e.tableRef(t.like),c.push(" ");for(const{verb:e,option:s}of t.options)c.push(e.toUpperCase()," ",s.toUpperCase()," ")},createSchema:e=>{c.push(e.ifNotExists?"CREATE SCHEMA IF NOT EXISTS ":"CREATE SCHEMA "),c.push(p(e.name))},truncateTable:t=>{c.push("TRUNCATE TABLE ");let s=!0;for(const r of t.tables)s||c.push(", "),s=!1,e.tableRef(r);if(t.identity)switch(t.identity){case"restart":c.push(" RESTART IDENTITY ");break;case"continue":c.push(" CONTINUE IDENTITY ")}t.cascade&&c.push(" ",t.cascade," ")},delete:t=>{c.push("DELETE FROM "),e.tableRef(t.from),t.where&&(c.push(" WHERE "),e.expr(t.where)),t.returning&&(c.push(" RETURNING "),u(t.returning,(t=>e.selectionColumn(t)),!1)),c.push(" ")},dropColumn:e=>{c.push(" DROP COLUMN "),e.ifExists&&c.push(" IF EXISTS "),c.push(p(e.column)),e.behaviour&&c.push(" ",e.behaviour),c.push(" ")},dropConstraint:e=>{c.push(" DROP CONSTRAINT "),e.ifExists&&c.push(" IF EXISTS "),c.push(p(e.constraint)),e.behaviour&&c.push(" ",e.behaviour.toUpperCase()," ")},from:t=>e.super().from(t),fromCall:t=>{x(e,t.join,(()=>{var s,r;if(e.call(t),t.withOrdinality&&c.push(" WITH ORDINALITY"),t.alias){c.push(" AS ",p(t.alias)," ");const e=null!==(r=null===(s=t.alias.columns)||void 0===s?void 0:s.length)&&void 0!==r?r:0;if(e>0){c.push("(");for(let s=0;s{x(e,t.join,(()=>{c.push("("),e.select(t.statement),c.push(") "),t.alias&&(c.push(" AS ",m(t.alias)),t.columnNames&&u(t.columnNames,(e=>c.push(p(e))),!0),c.push(" "))})),c.push(" ")},values:t=>{c.push("VALUES "),u(t.values,(t=>{u(t,(t=>{e.expr(t)}),!0)}),!1)},fromTable:t=>{x(e,t.join,(()=>{if(e.tableRef(t.name),t.name.columnNames){if(!t.name.alias)throw new Error("Cannot specify aliased column names without an alias");u(t.name.columnNames,(e=>c.push(p(e))),!0)}}))},join:e=>{throw new Error("Should not happen 💀")},insert:t=>{if(c.push("INSERT INTO "),e.tableRef(t.into),t.columns&&c.push("(",t.columns.map(p).join(", "),")"),c.push(" "),t.overriding&&c.push("OVERRIDING ",t.overriding.toUpperCase()," VALUE "),e.select(t.insert),c.push(" "),t.onConflict){c.push("ON CONFLICT ");const s=t.onConflict.on;switch(null==s?void 0:s.type){case"on expr":u(s.exprs,(t=>e.expr(t)),!0);break;case"on constraint":c.push("ON CONSTRAINT "),y(s.constraint);case null:case void 0:break;default:throw n.NotSupported.never(s)}"do nothing"===t.onConflict.do?c.push(" DO NOTHING"):(c.push(" DO UPDATE SET "),u(t.onConflict.do.sets,(t=>e.set(t)),!1),t.onConflict.where&&(c.push(" WHERE "),e.expr(t.onConflict.where))),c.push(" ")}t.returning&&(c.push(" RETURNING "),u(t.returning,(t=>e.selectionColumn(t)),!1))},raise:t=>{var s,r;c.push("RAISE "),t.level&&c.push(t.level.toUpperCase()," "),c.push((0,o.literal)(t.format)," "),(null===(s=t.formatExprs)||void 0===s?void 0:s.length)&&(c.push(", "),u(t.formatExprs,(t=>e.expr(t)),!1)),(null===(r=t.using)||void 0===r?void 0:r.length)&&(c.push(" USING "),u(t.using,(({type:t,value:s})=>{c.push(t.toUpperCase(),"="),e.expr(s)}),!1)),c.push(" ")},default:()=>{c.push(" DEFAULT ")},member:t=>{e.expr(t.operand),c.push(t.op),c.push("number"==typeof t.member?t.member.toString(10):(0,o.literal)(t.member))},ref:e=>{e.table&&(y(e.table),c.push(".")),c.push("*"===e.name?"*":m(e.name))},parameter:e=>{c.push(e.name)},renameColumn:e=>{c.push(" RENAME COLUMN ",p(e.column)," TO ",p(e.to))},renameConstraint:e=>{c.push(" RENAME CONSTRAINT ",p(e.constraint)," TO ",p(e.to))},renameTable:e=>{c.push(" RENAME TO ",p(e.to))},createView:t=>{c.push("CREATE "),t.orReplace&&c.push("OR REPLACE "),t.temp&&c.push("TEMP "),t.recursive&&c.push("RECURSIVE "),c.push("VIEW "),e.tableRef(t.name),t.columnNames&&u(t.columnNames,(e=>c.push(p(e))),!0);const s=t.parameters&&Object.entries(t.parameters);(null==s?void 0:s.length)&&(c.push(" WITH "),u(s,(([e,t])=>c.push(e,"=",t)),!1)),c.push(" AS "),e.select(t.query),t.checkOption&&c.push(" WITH ",t.checkOption.toUpperCase()," CHECK OPTION")},createMaterializedView:t=>{c.push("CREATE MATERIALIZED VIEW "),t.ifNotExists&&c.push("IF NOT EXISTS "),e.tableRef(t.name),t.columnNames&&u(t.columnNames,(e=>c.push(p(e))),!0);const s=t.parameters&&Object.entries(t.parameters);(null==s?void 0:s.length)&&(c.push(" WITH "),u(s,(([e,t])=>c.push(e,"=",t)),!1)),t.tablespace&&c.push(" TABLESPACE ",p(t.tablespace)),c.push(" AS "),e.select(t.query),"boolean"==typeof t.withData&&c.push(t.withData?" WITH DATA":" WITH NO DATA")},refreshMaterializedView:t=>{c.push("REFRESH MATERIALIZED VIEW "),t.concurrently&&c.push("CONCURRENTLY "),e.tableRef(t.name),"boolean"==typeof t.withData&&c.push(t.withData?" WITH DATA":" WITH NO DATA")},select:t=>e.super().select(t),selection:t=>{if(c.push("SELECT "),t.distinct&&("string"==typeof t.distinct?c.push(t.distinct.toUpperCase()):(c.push(" DISTINCT ON "),u(t.distinct,(t=>e.expr(t)),!0)),c.push(" ")),t.columns&&u(t.columns,(t=>e.selectionColumn(t)),!1),c.push(" "),t.from){c.push("FROM ");const s=t.from.length;for(let r=0;r0&&!s.join&&c.push(","),e.from(s)}c.push(" ")}t.where&&(c.push("WHERE "),e.expr(t.where),c.push(" ")),t.groupBy&&(c.push("GROUP BY "),u(t.groupBy,(t=>e.expr(t)),!1),c.push(" "),t.having&&(c.push(" HAVING "),e.expr(t.having),c.push(" "))),t.orderBy&&($(e,t.orderBy),c.push(" ")),t.limit&&(t.limit.offset&&(c.push("OFFSET "),e.expr(t.limit.offset)),t.limit.limit&&(c.push("LIMIT "),e.expr(t.limit.limit))),t.for&&(c.push("FOR ",t.for.type.toUpperCase()),t.skip&&c.push(" ",t.skip.type.toUpperCase()))},show:e=>{c.push("SHOW ",p(e.variable))},prepare:t=>{var s;c.push("PREPARE ",p(t.name)),(null===(s=t.args)||void 0===s?void 0:s.length)&&u(t.args,(t=>e.dataType(t)),!0),c.push(" AS "),e.statement(t.statement)},deallocate:e=>{c.push("DEALLOCATE "),"name"in e.target?c.push(e.target.name):c.push("ALL")},arraySelect:t=>{c.push("array("),e.select(t.select),c.push(")")},union:t=>{c.push("("),e.statement(t.left),c.push(") ",t.type.toUpperCase()," "),"union"===t.right.type||"union all"===t.right.type?e.union(t.right):(c.push("("),e.statement(t.right),c.push(")"))},selectionColumn:t=>{e.expr(t.expr),t.alias&&c.push(" AS ",p(t.alias)),c.push(" ")},set:t=>{c.push(p(t.column)," = "),e.expr(t.value),c.push(" ")},statement:t=>e.super().statement(t),tableRef:e=>{y(e),e.alias&&c.push(" AS ",m(e.alias)),c.push(" ")},ternary:t=>{e.expr(t.value),c.push(" ",t.op," "),e.expr(t.lo),c.push(" AND "),e.expr(t.hi),c.push(" ")},transaction:e=>{c.push(e.type)},unary:t=>{switch(t.op){case"+":case"-":g(t),e.expr(t.operand);break;case"NOT":c.push(t.op),c.push(" "),e.expr(t.operand);break;default:e.expr(t.operand),c.push(" "),c.push(t.op)}},update:t=>{c.push("UPDATE "),e.tableRef(t.table),c.push(" SET "),u(t.sets,(t=>e.set(t)),!1),c.push(" "),t.from&&(c.push("FROM "),e.from(t.from),c.push(" ")),t.where&&(c.push("WHERE "),e.expr(t.where),c.push(" ")),t.returning&&(c.push(" RETURNING "),u(t.returning,(t=>e.selectionColumn(t)),!1),c.push(" "))}})));t.toSql={};const k=r.AstDefaultMapper.prototype;for(const e of Object.getOwnPropertyNames(k)){const s=k[e];"constructor"!==e&&"super"!==e&&"function"==typeof s&&(t.toSql[e]=function(...t){try{return v[e].apply(v,t),c.join("").trim()}finally{c=[]}})}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.literal=void 0,t.literal=function e(t){return null==t?"NULL":Array.isArray(t)?"("+t.map(e).join(", ")+")":(~t.indexOf("\\")?"E":"")+"'"+(t=(t=t.replace(/'/g,"''")).replace(/\\/g,"\\\\"))+"'"}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.locationOf=void 0,t.locationOf=function(e){const t=e._location;if(!t)throw new Error("This statement has not been parsed using location tracking (which has a small performance hit). ");return t}}]))},3134:(e,t,s)=>{const r=Symbol("SemVer ANY");class a{static get ANY(){return r}constructor(e,t){if(t=n(t),e instanceof a){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),c("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===r?this.value="":this.value=this.operator+this.semver.version,c("comp",this)}parse(e){const t=this.options.loose?o[l.COMPARATORLOOSE]:o[l.COMPARATOR],s=e.match(t);if(!s)throw new TypeError(`Invalid comparator: ${e}`);this.operator=void 0!==s[1]?s[1]:"","="===this.operator&&(this.operator=""),s[2]?this.semver=new p(s[2],this.options.loose):this.semver=r}toString(){return this.value}test(e){if(c("Comparator.test",e,this.options.loose),this.semver===r||e===r)return!0;if("string"==typeof e)try{e=new p(e,this.options)}catch(e){return!1}return i(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof a))throw new TypeError("a Comparator is required");return""===this.operator?""===this.value||new m(e.value,t).test(this.value):""===e.operator?""===e.value||new m(this.value,t).test(e.semver):!((t=n(t)).includePrerelease&&("<0.0.0-0"===this.value||"<0.0.0-0"===e.value)||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))||(!this.operator.startsWith(">")||!e.operator.startsWith(">"))&&(!this.operator.startsWith("<")||!e.operator.startsWith("<"))&&(this.semver.version!==e.semver.version||!this.operator.includes("=")||!e.operator.includes("="))&&!(i(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<"))&&!(i(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}}e.exports=a;const n=s(8716),{safeRe:o,t:l}=s(9022),i=s(5452),c=s(6830),p=s(9510),m=s(7374)},7374:(e,t,s)=>{class r{constructor(e,t){if(t=n(t),e instanceof r)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new r(e.raw,t);if(e instanceof o)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map((e=>this.parseRange(e.trim()))).filter((e=>e.length)),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const e=this.set[0];if(this.set=this.set.filter((e=>!$(e[0]))),0===this.set.length)this.set=[e];else if(this.set.length>1)for(const e of this.set)if(1===e.length&&_(e[0])){this.set=[e];break}}this.format()}format(){return this.range=this.set.map((e=>e.join(" ").trim())).join("||").trim(),this.range}toString(){return this.range}parseRange(e){const t=((this.options.includePrerelease&&y)|(this.options.loose&&d))+":"+e,s=a.get(t);if(s)return s;const r=this.options.loose,n=r?c[p.HYPHENRANGELOOSE]:c[p.HYPHENRANGE];e=e.replace(n,C(this.options.includePrerelease)),l("hyphen replace",e),e=e.replace(c[p.COMPARATORTRIM],m),l("comparator trim",e),e=e.replace(c[p.TILDETRIM],u),l("tilde trim",e),e=e.replace(c[p.CARETTRIM],b),l("caret trim",e);let i=e.split(" ").map((e=>f(e,this.options))).join(" ").split(/\s+/).map((e=>O(e,this.options)));r&&(i=i.filter((e=>(l("loose invalid filter",e,this.options),!!e.match(c[p.COMPARATORLOOSE]))))),l("range list",i);const _=new Map,h=i.map((e=>new o(e,this.options)));for(const e of h){if($(e))return[e];_.set(e.value,e)}_.size>1&&_.has("")&&_.delete("");const w=[..._.values()];return a.set(t,w),w}intersects(e,t){if(!(e instanceof r))throw new TypeError("a Range is required");return this.set.some((s=>h(s,t)&&e.set.some((e=>h(e,t)&&s.every((s=>e.every((e=>s.intersects(e,t)))))))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new i(e,this.options)}catch(e){return!1}for(let t=0;t"<0.0.0-0"===e.value,_=e=>""===e.value,h=(e,t)=>{let s=!0;const r=e.slice();let a=r.pop();for(;s&&r.length;)s=r.every((e=>a.intersects(e,t))),a=r.pop();return s},f=(e,t)=>(l("comp",e,t),e=v(e,t),l("caret",e),e=x(e,t),l("tildes",e),e=E(e,t),l("xrange",e),e=A(e,t),l("stars",e),e),w=e=>!e||"x"===e.toLowerCase()||"*"===e,x=(e,t)=>e.trim().split(/\s+/).map((e=>g(e,t))).join(" "),g=(e,t)=>{const s=t.loose?c[p.TILDELOOSE]:c[p.TILDE];return e.replace(s,((t,s,r,a,n)=>{let o;return l("tilde",e,t,s,r,a,n),w(s)?o="":w(r)?o=`>=${s}.0.0 <${+s+1}.0.0-0`:w(a)?o=`>=${s}.${r}.0 <${s}.${+r+1}.0-0`:n?(l("replaceTilde pr",n),o=`>=${s}.${r}.${a}-${n} <${s}.${+r+1}.0-0`):o=`>=${s}.${r}.${a} <${s}.${+r+1}.0-0`,l("tilde return",o),o}))},v=(e,t)=>e.trim().split(/\s+/).map((e=>k(e,t))).join(" "),k=(e,t)=>{l("caret",e,t);const s=t.loose?c[p.CARETLOOSE]:c[p.CARET],r=t.includePrerelease?"-0":"";return e.replace(s,((t,s,a,n,o)=>{let i;return l("caret",e,t,s,a,n,o),w(s)?i="":w(a)?i=`>=${s}.0.0${r} <${+s+1}.0.0-0`:w(n)?i="0"===s?`>=${s}.${a}.0${r} <${s}.${+a+1}.0-0`:`>=${s}.${a}.0${r} <${+s+1}.0.0-0`:o?(l("replaceCaret pr",o),i="0"===s?"0"===a?`>=${s}.${a}.${n}-${o} <${s}.${a}.${+n+1}-0`:`>=${s}.${a}.${n}-${o} <${s}.${+a+1}.0-0`:`>=${s}.${a}.${n}-${o} <${+s+1}.0.0-0`):(l("no pr"),i="0"===s?"0"===a?`>=${s}.${a}.${n}${r} <${s}.${a}.${+n+1}-0`:`>=${s}.${a}.${n}${r} <${s}.${+a+1}.0-0`:`>=${s}.${a}.${n} <${+s+1}.0.0-0`),l("caret return",i),i}))},E=(e,t)=>(l("replaceXRanges",e,t),e.split(/\s+/).map((e=>T(e,t))).join(" ")),T=(e,t)=>{e=e.trim();const s=t.loose?c[p.XRANGELOOSE]:c[p.XRANGE];return e.replace(s,((s,r,a,n,o,i)=>{l("xRange",e,s,r,a,n,o,i);const c=w(a),p=c||w(n),m=p||w(o),u=m;return"="===r&&u&&(r=""),i=t.includePrerelease?"-0":"",c?s=">"===r||"<"===r?"<0.0.0-0":"*":r&&u?(p&&(n=0),o=0,">"===r?(r=">=",p?(a=+a+1,n=0,o=0):(n=+n+1,o=0)):"<="===r&&(r="<",p?a=+a+1:n=+n+1),"<"===r&&(i="-0"),s=`${r+a}.${n}.${o}${i}`):p?s=`>=${a}.0.0${i} <${+a+1}.0.0-0`:m&&(s=`>=${a}.${n}.0${i} <${a}.${+n+1}.0-0`),l("xRange return",s),s}))},A=(e,t)=>(l("replaceStars",e,t),e.trim().replace(c[p.STAR],"")),O=(e,t)=>(l("replaceGTE0",e,t),e.trim().replace(c[t.includePrerelease?p.GTE0PRE:p.GTE0],"")),C=e=>(t,s,r,a,n,o,l,i,c,p,m,u,b)=>`${s=w(r)?"":w(a)?`>=${r}.0.0${e?"-0":""}`:w(n)?`>=${r}.${a}.0${e?"-0":""}`:o?`>=${s}`:`>=${s}${e?"-0":""}`} ${i=w(c)?"":w(p)?`<${+c+1}.0.0-0`:w(m)?`<${c}.${+p+1}.0-0`:u?`<=${c}.${p}.${m}-${u}`:e?`<${c}.${p}.${+m+1}-0`:`<=${i}`}`.trim(),S=(e,t,s)=>{for(let s=0;s0){const r=e[s].semver;if(r.major===t.major&&r.minor===t.minor&&r.patch===t.patch)return!0}return!1}return!0}},9510:(e,t,s)=>{const r=s(6830),{MAX_LENGTH:a,MAX_SAFE_INTEGER:n}=s(39),{safeRe:o,t:l}=s(9022),i=s(8716),{compareIdentifiers:c}=s(8822);class p{constructor(e,t){if(t=i(t),e instanceof p){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>a)throw new TypeError(`version is longer than ${a} characters`);r("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const s=e.trim().match(t.loose?o[l.LOOSE]:o[l.FULL]);if(!s)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+s[1],this.minor=+s[2],this.patch=+s[3],this.major>n||this.major<0)throw new TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw new TypeError("Invalid patch version");s[4]?this.prerelease=s[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);if(-1===r){if(t===this.prerelease.join(".")&&!1===s)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let r=[t,e];!1===s&&(r=[t]),0===c(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=r):this.prerelease=r}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}e.exports=p},6457:(e,t,s)=>{const r=s(5692);e.exports=(e,t)=>{const s=r(e.trim().replace(/^[=v]+/,""),t);return s?s.version:null}},5452:(e,t,s)=>{const r=s(8565),a=s(3328),n=s(2260),o=s(6579),l=s(290),i=s(5891);e.exports=(e,t,s,c)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof s&&(s=s.version),e===s;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof s&&(s=s.version),e!==s;case"":case"=":case"==":return r(e,s,c);case"!=":return a(e,s,c);case">":return n(e,s,c);case">=":return o(e,s,c);case"<":return l(e,s,c);case"<=":return i(e,s,c);default:throw new TypeError(`Invalid operator: ${t}`)}}},9469:(e,t,s)=>{const r=s(9510),a=s(5692),{safeRe:n,t:o}=s(9022);e.exports=(e,t)=>{if(e instanceof r)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let s=null;if((t=t||{}).rtl){let t;for(;(t=n[o.COERCERTL].exec(e))&&(!s||s.index+s[0].length!==e.length);)s&&t.index+t[0].length===s.index+s[0].length||(s=t),n[o.COERCERTL].lastIndex=t.index+t[1].length+t[2].length;n[o.COERCERTL].lastIndex=-1}else s=e.match(n[o.COERCE]);return null===s?null:a(`${s[2]}.${s[3]||"0"}.${s[4]||"0"}`,t)}},1868:(e,t,s)=>{const r=s(9510);e.exports=(e,t,s)=>{const a=new r(e,s),n=new r(t,s);return a.compare(n)||a.compareBuild(n)}},5919:(e,t,s)=>{const r=s(3992);e.exports=(e,t)=>r(e,t,!0)},3992:(e,t,s)=>{const r=s(9510);e.exports=(e,t,s)=>new r(e,s).compare(new r(t,s))},1007:(e,t,s)=>{const r=s(5692);e.exports=(e,t)=>{const s=r(e,null,!0),a=r(t,null,!0),n=s.compare(a);if(0===n)return null;const o=n>0,l=o?s:a,i=o?a:s,c=!!l.prerelease.length;if(i.prerelease.length&&!c)return i.patch||i.minor?l.patch?"patch":l.minor?"minor":"major":"major";const p=c?"pre":"";return s.major!==a.major?p+"major":s.minor!==a.minor?p+"minor":s.patch!==a.patch?p+"patch":"prerelease"}},8565:(e,t,s)=>{const r=s(3992);e.exports=(e,t,s)=>0===r(e,t,s)},2260:(e,t,s)=>{const r=s(3992);e.exports=(e,t,s)=>r(e,t,s)>0},6579:(e,t,s)=>{const r=s(3992);e.exports=(e,t,s)=>r(e,t,s)>=0},515:(e,t,s)=>{const r=s(9510);e.exports=(e,t,s,a,n)=>{"string"==typeof s&&(n=a,a=s,s=void 0);try{return new r(e instanceof r?e.version:e,s).inc(t,a,n).version}catch(e){return null}}},290:(e,t,s)=>{const r=s(3992);e.exports=(e,t,s)=>r(e,t,s)<0},5891:(e,t,s)=>{const r=s(3992);e.exports=(e,t,s)=>r(e,t,s)<=0},2611:(e,t,s)=>{const r=s(9510);e.exports=(e,t)=>new r(e,t).major},6319:(e,t,s)=>{const r=s(9510);e.exports=(e,t)=>new r(e,t).minor},3328:(e,t,s)=>{const r=s(3992);e.exports=(e,t,s)=>0!==r(e,t,s)},5692:(e,t,s)=>{const r=s(9510);e.exports=(e,t,s=!1)=>{if(e instanceof r)return e;try{return new r(e,t)}catch(e){if(!s)return null;throw e}}},7368:(e,t,s)=>{const r=s(9510);e.exports=(e,t)=>new r(e,t).patch},7794:(e,t,s)=>{const r=s(5692);e.exports=(e,t)=>{const s=r(e,t);return s&&s.prerelease.length?s.prerelease:null}},9114:(e,t,s)=>{const r=s(3992);e.exports=(e,t,s)=>r(t,e,s)},3843:(e,t,s)=>{const r=s(1868);e.exports=(e,t)=>e.sort(((e,s)=>r(s,e,t)))},9845:(e,t,s)=>{const r=s(7374);e.exports=(e,t,s)=>{try{t=new r(t,s)}catch(e){return!1}return t.test(e)}},8753:(e,t,s)=>{const r=s(1868);e.exports=(e,t)=>e.sort(((e,s)=>r(e,s,t)))},398:(e,t,s)=>{const r=s(5692);e.exports=(e,t)=>{const s=r(e,t);return s?s.version:null}},8873:(e,t,s)=>{const r=s(9022),a=s(39),n=s(9510),o=s(8822),l=s(5692),i=s(398),c=s(6457),p=s(515),m=s(1007),u=s(2611),b=s(6319),y=s(7368),d=s(7794),$=s(3992),_=s(9114),h=s(5919),f=s(1868),w=s(8753),x=s(3843),g=s(2260),v=s(290),k=s(8565),E=s(3328),T=s(6579),A=s(5891),O=s(5452),C=s(9469),S=s(3134),I=s(7374),N=s(9845),L=s(8384),R=s(6369),D=s(2663),q=s(75),j=s(9178),P=s(9434),B=s(8237),M=s(9860),F=s(8258),U=s(3607),H=s(2199);e.exports={parse:l,valid:i,clean:c,inc:p,diff:m,major:u,minor:b,patch:y,prerelease:d,compare:$,rcompare:_,compareLoose:h,compareBuild:f,sort:w,rsort:x,gt:g,lt:v,eq:k,neq:E,gte:T,lte:A,cmp:O,coerce:C,Comparator:S,Range:I,satisfies:N,toComparators:L,maxSatisfying:R,minSatisfying:D,minVersion:q,validRange:j,outside:P,gtr:B,ltr:M,intersects:F,simplifyRange:U,subset:H,SemVer:n,re:r.re,src:r.src,tokens:r.t,SEMVER_SPEC_VERSION:a.SEMVER_SPEC_VERSION,RELEASE_TYPES:a.RELEASE_TYPES,compareIdentifiers:o.compareIdentifiers,rcompareIdentifiers:o.rcompareIdentifiers}},39:e=>{const t=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:t,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}},6830:e=>{const t="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};e.exports=t},8822:e=>{const t=/^[0-9]+$/,s=(e,s)=>{const r=t.test(e),a=t.test(s);return r&&a&&(e=+e,s=+s),e===s?0:r&&!a?-1:a&&!r?1:es(t,e)}},8716:e=>{const t=Object.freeze({loose:!0}),s=Object.freeze({});e.exports=e=>e?"object"!=typeof e?t:e:s},9022:(e,t,s)=>{const{MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:a,MAX_LENGTH:n}=s(39),o=s(6830),l=(t=e.exports={}).re=[],i=t.safeRe=[],c=t.src=[],p=t.t={};let m=0;const u="[a-zA-Z0-9-]",b=[["\\s",1],["\\d",n],[u,a]],y=(e,t,s)=>{const r=(e=>{for(const[t,s]of b)e=e.split(`${t}*`).join(`${t}{0,${s}}`).split(`${t}+`).join(`${t}{1,${s}}`);return e})(t),a=m++;o(e,a,t),p[e]=a,c[a]=t,l[a]=new RegExp(t,s?"g":void 0),i[a]=new RegExp(r,s?"g":void 0)};y("NUMERICIDENTIFIER","0|[1-9]\\d*"),y("NUMERICIDENTIFIERLOOSE","\\d+"),y("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${u}*`),y("MAINVERSION",`(${c[p.NUMERICIDENTIFIER]})\\.(${c[p.NUMERICIDENTIFIER]})\\.(${c[p.NUMERICIDENTIFIER]})`),y("MAINVERSIONLOOSE",`(${c[p.NUMERICIDENTIFIERLOOSE]})\\.(${c[p.NUMERICIDENTIFIERLOOSE]})\\.(${c[p.NUMERICIDENTIFIERLOOSE]})`),y("PRERELEASEIDENTIFIER",`(?:${c[p.NUMERICIDENTIFIER]}|${c[p.NONNUMERICIDENTIFIER]})`),y("PRERELEASEIDENTIFIERLOOSE",`(?:${c[p.NUMERICIDENTIFIERLOOSE]}|${c[p.NONNUMERICIDENTIFIER]})`),y("PRERELEASE",`(?:-(${c[p.PRERELEASEIDENTIFIER]}(?:\\.${c[p.PRERELEASEIDENTIFIER]})*))`),y("PRERELEASELOOSE",`(?:-?(${c[p.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[p.PRERELEASEIDENTIFIERLOOSE]})*))`),y("BUILDIDENTIFIER",`${u}+`),y("BUILD",`(?:\\+(${c[p.BUILDIDENTIFIER]}(?:\\.${c[p.BUILDIDENTIFIER]})*))`),y("FULLPLAIN",`v?${c[p.MAINVERSION]}${c[p.PRERELEASE]}?${c[p.BUILD]}?`),y("FULL",`^${c[p.FULLPLAIN]}$`),y("LOOSEPLAIN",`[v=\\s]*${c[p.MAINVERSIONLOOSE]}${c[p.PRERELEASELOOSE]}?${c[p.BUILD]}?`),y("LOOSE",`^${c[p.LOOSEPLAIN]}$`),y("GTLT","((?:<|>)?=?)"),y("XRANGEIDENTIFIERLOOSE",`${c[p.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),y("XRANGEIDENTIFIER",`${c[p.NUMERICIDENTIFIER]}|x|X|\\*`),y("XRANGEPLAIN",`[v=\\s]*(${c[p.XRANGEIDENTIFIER]})(?:\\.(${c[p.XRANGEIDENTIFIER]})(?:\\.(${c[p.XRANGEIDENTIFIER]})(?:${c[p.PRERELEASE]})?${c[p.BUILD]}?)?)?`),y("XRANGEPLAINLOOSE",`[v=\\s]*(${c[p.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[p.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[p.XRANGEIDENTIFIERLOOSE]})(?:${c[p.PRERELEASELOOSE]})?${c[p.BUILD]}?)?)?`),y("XRANGE",`^${c[p.GTLT]}\\s*${c[p.XRANGEPLAIN]}$`),y("XRANGELOOSE",`^${c[p.GTLT]}\\s*${c[p.XRANGEPLAINLOOSE]}$`),y("COERCE",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?(?:$|[^\\d])`),y("COERCERTL",c[p.COERCE],!0),y("LONETILDE","(?:~>?)"),y("TILDETRIM",`(\\s*)${c[p.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",y("TILDE",`^${c[p.LONETILDE]}${c[p.XRANGEPLAIN]}$`),y("TILDELOOSE",`^${c[p.LONETILDE]}${c[p.XRANGEPLAINLOOSE]}$`),y("LONECARET","(?:\\^)"),y("CARETTRIM",`(\\s*)${c[p.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",y("CARET",`^${c[p.LONECARET]}${c[p.XRANGEPLAIN]}$`),y("CARETLOOSE",`^${c[p.LONECARET]}${c[p.XRANGEPLAINLOOSE]}$`),y("COMPARATORLOOSE",`^${c[p.GTLT]}\\s*(${c[p.LOOSEPLAIN]})$|^$`),y("COMPARATOR",`^${c[p.GTLT]}\\s*(${c[p.FULLPLAIN]})$|^$`),y("COMPARATORTRIM",`(\\s*)${c[p.GTLT]}\\s*(${c[p.LOOSEPLAIN]}|${c[p.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",y("HYPHENRANGE",`^\\s*(${c[p.XRANGEPLAIN]})\\s+-\\s+(${c[p.XRANGEPLAIN]})\\s*$`),y("HYPHENRANGELOOSE",`^\\s*(${c[p.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[p.XRANGEPLAINLOOSE]})\\s*$`),y("STAR","(<|>)?=?\\s*\\*"),y("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),y("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")},8237:(e,t,s)=>{const r=s(9434);e.exports=(e,t,s)=>r(e,t,">",s)},8258:(e,t,s)=>{const r=s(7374);e.exports=(e,t,s)=>(e=new r(e,s),t=new r(t,s),e.intersects(t,s))},9860:(e,t,s)=>{const r=s(9434);e.exports=(e,t,s)=>r(e,t,"<",s)},6369:(e,t,s)=>{const r=s(9510),a=s(7374);e.exports=(e,t,s)=>{let n=null,o=null,l=null;try{l=new a(t,s)}catch(e){return null}return e.forEach((e=>{l.test(e)&&(n&&-1!==o.compare(e)||(n=e,o=new r(n,s)))})),n}},2663:(e,t,s)=>{const r=s(9510),a=s(7374);e.exports=(e,t,s)=>{let n=null,o=null,l=null;try{l=new a(t,s)}catch(e){return null}return e.forEach((e=>{l.test(e)&&(n&&1!==o.compare(e)||(n=e,o=new r(n,s)))})),n}},75:(e,t,s)=>{const r=s(9510),a=s(7374),n=s(2260);e.exports=(e,t)=>{e=new a(e,t);let s=new r("0.0.0");if(e.test(s))return s;if(s=new r("0.0.0-0"),e.test(s))return s;s=null;for(let t=0;t{const t=new r(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":o&&!n(t,o)||(o=t);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}})),!o||s&&!n(s,o)||(s=o)}return s&&e.test(s)?s:null}},9434:(e,t,s)=>{const r=s(9510),a=s(3134),{ANY:n}=a,o=s(7374),l=s(9845),i=s(2260),c=s(290),p=s(5891),m=s(6579);e.exports=(e,t,s,u)=>{let b,y,d,$,_;switch(e=new r(e,u),t=new o(t,u),s){case">":b=i,y=p,d=c,$=">",_=">=";break;case"<":b=c,y=m,d=i,$="<",_="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(l(e,t,u))return!1;for(let s=0;s{e.semver===n&&(e=new a(">=0.0.0")),o=o||e,l=l||e,b(e.semver,o.semver,u)?o=e:d(e.semver,l.semver,u)&&(l=e)})),o.operator===$||o.operator===_)return!1;if((!l.operator||l.operator===$)&&y(e,l.semver))return!1;if(l.operator===_&&d(e,l.semver))return!1}return!0}},3607:(e,t,s)=>{const r=s(9845),a=s(3992);e.exports=(e,t,s)=>{const n=[];let o=null,l=null;const i=e.sort(((e,t)=>a(e,t,s)));for(const e of i)r(e,t,s)?(l=e,o||(o=e)):(l&&n.push([o,l]),l=null,o=null);o&&n.push([o,null]);const c=[];for(const[e,t]of n)e===t?c.push(e):t||e!==i[0]?t?e===i[0]?c.push(`<=${t}`):c.push(`${e} - ${t}`):c.push(`>=${e}`):c.push("*");const p=c.join(" || "),m="string"==typeof t.raw?t.raw:String(t);return p.length{const r=s(7374),a=s(3134),{ANY:n}=a,o=s(9845),l=s(3992),i=[new a(">=0.0.0-0")],c=[new a(">=0.0.0")],p=(e,t,s)=>{if(e===t)return!0;if(1===e.length&&e[0].semver===n){if(1===t.length&&t[0].semver===n)return!0;e=s.includePrerelease?i:c}if(1===t.length&&t[0].semver===n){if(s.includePrerelease)return!0;t=c}const r=new Set;let a,p,b,y,d,$,_;for(const t of e)">"===t.operator||">="===t.operator?a=m(a,t,s):"<"===t.operator||"<="===t.operator?p=u(p,t,s):r.add(t.semver);if(r.size>1)return null;if(a&&p){if(b=l(a.semver,p.semver,s),b>0)return null;if(0===b&&(">="!==a.operator||"<="!==p.operator))return null}for(const e of r){if(a&&!o(e,String(a),s))return null;if(p&&!o(e,String(p),s))return null;for(const r of t)if(!o(e,String(r),s))return!1;return!0}let h=!(!p||s.includePrerelease||!p.semver.prerelease.length)&&p.semver,f=!(!a||s.includePrerelease||!a.semver.prerelease.length)&&a.semver;h&&1===h.prerelease.length&&"<"===p.operator&&0===h.prerelease[0]&&(h=!1);for(const e of t){if(_=_||">"===e.operator||">="===e.operator,$=$||"<"===e.operator||"<="===e.operator,a)if(f&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===f.major&&e.semver.minor===f.minor&&e.semver.patch===f.patch&&(f=!1),">"===e.operator||">="===e.operator){if(y=m(a,e,s),y===e&&y!==a)return!1}else if(">="===a.operator&&!o(a.semver,String(e),s))return!1;if(p)if(h&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===h.major&&e.semver.minor===h.minor&&e.semver.patch===h.patch&&(h=!1),"<"===e.operator||"<="===e.operator){if(d=u(p,e,s),d===e&&d!==p)return!1}else if("<="===p.operator&&!o(p.semver,String(e),s))return!1;if(!e.operator&&(p||a)&&0!==b)return!1}return!(a&&$&&!p&&0!==b||p&&_&&!a&&0!==b||f||h)},m=(e,t,s)=>{if(!e)return t;const r=l(e.semver,t.semver,s);return r>0?e:r<0||">"===t.operator&&">="===e.operator?t:e},u=(e,t,s)=>{if(!e)return t;const r=l(e.semver,t.semver,s);return r<0?e:r>0||"<"===t.operator&&"<="===e.operator?t:e};e.exports=(e,t,s={})=>{if(e===t)return!0;e=new r(e,s),t=new r(t,s);let a=!1;e:for(const r of e.set){for(const e of t.set){const t=p(r,e,s);if(a=a||null!==t,t)continue e}if(a)return!1}return!0}},8384:(e,t,s)=>{const r=s(7374);e.exports=(e,t)=>new r(e,t).set.map((e=>e.map((e=>e.value)).join(" ").trim().split(" ")))},9178:(e,t,s)=>{const r=s(7374);e.exports=(e,t)=>{try{return new r(e,t).range||"*"}catch(e){return null}}},9976:e=>{"use strict";e.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}},7372:(e,t,s)=>{"use strict";function r(e){var t=this;if(t instanceof r||(t=new r),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach((function(e){t.push(e)}));else if(arguments.length>0)for(var s=0,a=arguments.length;s1)s=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");r=this.head.next,s=this.head.value}for(var a=0;null!==r;a++)s=e(s,r.value,a),r=r.next;return s},r.prototype.reduceReverse=function(e,t){var s,r=this.tail;if(arguments.length>1)s=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");r=this.tail.prev,s=this.tail.value}for(var a=this.length-1;null!==r;a--)s=e(s,r.value,a),r=r.prev;return s},r.prototype.toArray=function(){for(var e=new Array(this.length),t=0,s=this.head;null!==s;t++)e[t]=s.value,s=s.next;return e},r.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,s=this.tail;null!==s;t++)e[t]=s.value,s=s.prev;return e},r.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var s=new r;if(tthis.length&&(t=this.length);for(var a=0,n=this.head;null!==n&&athis.length&&(t=this.length);for(var a=this.length,n=this.tail;null!==n&&a>t;a--)n=n.prev;for(;null!==n&&a>e;a--,n=n.prev)s.push(n.value);return s},r.prototype.splice=function(e,t,...s){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var r=0,n=this.head;null!==n&&r{"use strict";e.exports=o},3305:t=>{"use strict";t.exports=e},3545:e=>{"use strict";e.exports=t},7388:e=>{"use strict";e.exports=a},5980:e=>{"use strict";e.exports=r},2650:e=>{"use strict";e.exports=n},1177:e=>{"use strict";e.exports=s}},i={};function c(e){var t=i[e];if(void 0!==t)return t.exports;var s=i[e]={exports:{}};return l[e].call(s.exports,s,s.exports,c),s.exports}c.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return c.d(t,{a:t}),t},c.d=(e,t)=>{for(var s in t)c.o(t,s)&&!c.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var p={};return(()=>{"use strict";c.r(p),c.d(p,{plugin:()=>ea});var e,t,s,r,a,n,o,l,i,m=c(3305),u=c(3545),b=c(1177);!function(e){e.List="list",e.Aggregate="aggregate",e.Trend="trend"}(e||(e={})),function(e){e.Table="table",e.Logs="logs",e.TimeSeries="timeseries",e.Traces="traces"}(t||(t={})),function(e){e.Sum="sum",e.Average="avg",e.Min="min",e.Max="max",e.Count="count",e.Any="any"}(s||(s={})),function(e){e.Time="time",e.LogLevel="log_level",e.LogMessage="log_message",e.TraceId="trace_id",e.TraceSpanId="trace_span_id",e.TraceParentSpanId="trace_parent_span_id",e.TraceServiceName="trace_service_name",e.TraceOperationName="trace_operation_name",e.TraceDurationTime="trace_duration_time",e.TraceTags="trace_tags",e.TraceServiceTags="trace_service_tags"}(r||(r={})),function(e){e.Seconds="seconds",e.Milliseconds="milliseconds",e.Microseconds="microseconds",e.Nanoseconds="nanoseconds"}(a||(a={})),function(e){e.ASC="ASC",e.DESC="DESC"}(n||(n={})),(i=o||(o={})).IsAnything="IS ANYTHING",i.IsEmpty="IS EMPTY",i.IsNotEmpty="IS NOT EMPTY",i.IsNull="IS NULL",i.IsNotNull="IS NOT NULL",i.Equals="=",i.NotEquals="!=",i.LessThan="<",i.LessThanOrEqual="<=",i.GreaterThan=">",i.GreaterThanOrEqual=">=",i.Like="LIKE",i.NotLike="NOT LIKE",i.In="IN",i.NotIn="NOT IN",i.WithInGrafanaTimeRange="WITH IN DASHBOARD TIME RANGE",i.OutsideGrafanaTimeRange="OUTSIDE DASHBOARD TIME RANGE",function(e){e.SQL="sql",e.Builder="builder"}(l||(l={})),l.Builder;const y={pluginVersion:"",editorType:l.Builder,rawSql:"",builderOptions:{database:"",table:"",queryType:t.Table,mode:e.List,columns:[],meta:{},limit:1e3}};l.SQL;var d=c(5884);function $(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function _(e){for(var t=1;t=0;s--){const r=t[s].startIndex,a="f"+(Math.random()+1).toString(36).substring(7);t[s].replacementName=a,e="settings"!==t[s].name.toLowerCase()?e.substring(0,r)+a+e.substring(r+t[s].name.length):e.substring(0,r)}try{a=(0,d.parseFirst)(e)}catch(e){return console.error(`Failed to parse SQL statement into an AST: ${e}`),{}}return(0,d.astMapper)((e=>({tableRef:s=>{const r=t.find((e=>e.replacementName===s.schema));var a;if(r)return h(_({},s),{schema:null===(a=s.schema)||void 0===a?void 0:a.replace(r.replacementName,r.name)});const n=t.find((e=>e.replacementName===s.name));return n?h(_({},s),{name:s.name.replace(n.replacementName,n.name)}):e.super().tableRef(s)},ref:s=>{const r=t.find((e=>s.name.startsWith(e.replacementName)));if(r){const e=s.name.replace(r.replacementName,r.name);return h(_({},s),{name:e})}return e.super().ref(s)},call:s=>{const r=t.find((e=>s.function.name.startsWith(e.replacementName)));return r?h(_({},s),{function:h(_({},s.function),{name:s.function.name.replace(r.replacementName,r.name)})}):e.super().call(s)}}))).statement(a)}function w(e){var t,s;const r=f(e);if("select"!==r.type||!(null===(t=r.from)||void 0===t?void 0:t.length)||(null===(s=r.from)||void 0===s?void 0:s.length)<=0)return"";switch(r.from[0].type){case"table":{const t=r.from[0],s=`${t.name.schema?`${t.name.schema}.`:""}${t.name.name}`,a=new RegExp(`\\b${s}\\b`,"gi").exec(e);return a?a[0]:s}case"statement":{const e=r.from[0];return w(d.toSql.statement(e.statement))}}return""}class x{setTargetTableFromQuery(e){if(this._targetTable=w(e),""===this._targetTable)throw new Error("Failed to get table from adhoc query.")}apply(e,t){if(""===e||!t||0===t.length)return e;if(""!==this._targetTable&&!e.replace(/"/g,"").match(new RegExp(`.*\\b${this._targetTable}\\b.*`,"gi")))return e;if(""===this._targetTable&&(this._targetTable=w(e)),""===this._targetTable)return e;const s=t.filter((e=>{const t=function(e){return void 0!==e.key&&void 0!==e.operator&&void 0!==e.value}(e);return t||console.warn("Invalid adhoc filter will be ignored:",e),t})).map(((e,s)=>{const r=e.key.includes(".")?e.key.split(".")[1]:e.key,a=`\\'${e.value}\\'`,n=s!==t.length-1?e.condition?e.condition:"AND":"";return` ${r} ${o=e.operator,"=~"===o?"ILIKE":"!~"===o?"NOT ILIKE":o} ${a} ${n}`;var o})).join("");return""===s?e:`${e=e.replace(";","")} settings additional_table_filters={'${this._targetTable}' : '${s}'}`}constructor(){var e,t;(t="_targetTable")in(e=this)?Object.defineProperty(e,t,{value:"",enumerable:!0,configurable:!0,writable:!0}):e[t]=""}}var g=c(5980),v=(e=>(e.Bars="bars",e.Line="line",e.Points="points",e))(v||{}),k=(e=>(e.None="none",e.Normal="normal",e.Percent="percent",e))(k||{}),E=(e=>(e[e.After=1]="After",e[e.Before=-1]="Before",e[e.Center=0]="Center",e))(E||{}),T=c(7388);const A=1e3,O=6e4,C=36e5,S={[m.LogLevel.critical]:T.colors[7],[m.LogLevel.warning]:T.colors[1],[m.LogLevel.error]:T.colors[4],[m.LogLevel.info]:T.colors[0],[m.LogLevel.debug]:T.colors[5],[m.LogLevel.trace]:T.colors[2],[m.LogLevel.unknown]:("#8e8e8e","#bdc4cd",u.config.bootData.user.lightTheme?"#bdc4cd":"#8e8e8e")};function I(e,t){const s=t&&e===m.LogLevel.unknown?"logs":e,r=S[e];return{displayNameFromDS:s,color:{mode:m.FieldColorModeId.Fixed,fixedColor:r},custom:{drawStyle:v.Bars,barAlignment:E.Center,lineColor:r,pointColor:r,fillColor:r,lineWidth:1,fillOpacity:100,stacking:{mode:k.Normal,group:"A"}}}}function N(e,t){let s="DAY";if(e.__interval_ms){let t=e.__interval_ms.value;s=t>C?"DAY":t>O?"HOUR":t>A?"MINUTE":"SECOND"}return`toStartOfInterval("${t}", INTERVAL 1 ${s})`}const L="time",R="logs",D=(()=>{const e={critical:["critical","fatal","crit","alert","emerg"],error:["error","err","eror"],warn:["warn","warning"],info:["info","information","informational"],debug:["debug","dbug"],trace:["trace"],unknown:["unknown"]};return Object.keys(e).reduce(((t,s)=>(t[s]=`IN (${[...e[s].map((e=>`'${e}'`)),...e[s].map((e=>`'${e.toUpperCase()}'`)),...e[s].map((e=>`'${e.charAt(0).toUpperCase()+e.slice(1)}'`))].join(",")})`,t)),{})})();function q(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function j(e){for(var t=1;t{var r,a;const n=(null===(r=s.meta)||void 0===r?void 0:r.isTraceIdMode)&&(null===(a=s.meta)||void 0===a?void 0:a.traceId);return s.queryType===t.Traces&&n?F(s):s.queryType===t.Traces?M(s):s.queryType===t.Logs?U(s):s.queryType===t.TimeSeries&&s.mode!==e.Trend?H(s):s.queryType===t.TimeSeries&&s.mode===e.Trend?G(s):s.queryType===t.Table?V(s):""},M=e=>{const{database:t,table:s}=e,a=[],n=[],o=z(e,r.TraceId);void 0!==o&&n.push(`${W(o.name)} as traceID`);const l=z(e,r.TraceServiceName);void 0!==l&&n.push(`${W(l.name)} as serviceName`);const i=z(e,r.TraceOperationName);void 0!==i&&n.push(`${W(i.name)} as operationName`);const c=z(e,r.Time);void 0!==c&&n.push(`${W(c.name)} as startTime`);const p=z(e,r.TraceDurationTime);if(void 0!==p){var m;const t=null===(m=e.meta)||void 0===m?void 0:m.traceDurationUnit;n.push(X(W(p.name),t))}const u=n.join(", ");a.push("SELECT"),a.push(u),a.push("FROM"),a.push(K(t,s));const b=te(e);b&&(a.push("WHERE"),a.push(b));const y=Z(e);y&&(a.push("ORDER BY"),a.push(y));const d=ee(e.limit);return""!==d&&a.push(d),J(a)},F=e=>{var t,s;const{database:a,table:n}=e,o=[],l=[],i=z(e,r.TraceId);void 0!==i&&l.push(`${W(i.name)} as traceID`);const c=z(e,r.TraceSpanId);void 0!==c&&l.push(`${W(c.name)} as spanID`);const p=z(e,r.TraceParentSpanId);void 0!==p&&l.push(`${W(p.name)} as parentSpanID`);const m=z(e,r.TraceServiceName);void 0!==m&&l.push(`${W(m.name)} as serviceName`);const u=z(e,r.TraceOperationName);void 0!==u&&l.push(`${W(u.name)} as operationName`);const b=z(e,r.Time);void 0!==b&&l.push(`${W(b.name)} as startTime`);const y=z(e,r.TraceDurationTime);if(void 0!==y){var d;const t=null===(d=e.meta)||void 0===d?void 0:d.traceDurationUnit;l.push(X(W(y.name),t))}const $=z(e,r.TraceTags);void 0!==$&&l.push(`arrayMap(key -> map('key', key, 'value',${W($.name)}[key]), mapKeys(${W($.name)})) as tags`);const _=z(e,r.TraceServiceTags);void 0!==_&&l.push(`arrayMap(key -> map('key', key, 'value',${W(_.name)}[key]), mapKeys(${W(_.name)})) as serviceTags`);const h=l.join(", ");o.push("SELECT"),o.push(h),o.push("FROM"),o.push(K(a,n));const f=(null===(t=e.meta)||void 0===t?void 0:t.isTraceIdMode)&&(null===(s=e.meta)||void 0===s?void 0:s.traceId),w=te(e);if((f||w)&&o.push("WHERE"),f){const t=e.meta.traceId;o.push(`traceID = '${t}'`)}w&&o.push(w);const x=Z(e);x&&(o.push("ORDER BY"),o.push(x));const g=ee(e.limit);return""!==g&&o.push(g),J(o)},U=e=>{var t,s,a;const n=P(j({},e),{columns:null===(t=e.columns)||void 0===t?void 0:t.map((e=>j({},e)))}),{database:o,table:l}=n,i=[],c=[],p=z(n,r.Time);void 0!==p&&(p.alias="timestamp",c.push(Q(p)));const m=z(n,r.LogMessage);void 0!==m&&(m.alias="body",c.push(Q(m)));const u=z(n,r.LogLevel);void 0!==u&&(u.alias="level",c.push(Q(u)));const b=z(n,r.TraceId);void 0!==b&&(b.alias="traceID",c.push(Q(b))),null===(s=n.columns)||void 0===s||s.filter((e=>void 0===e.hint)).forEach((e=>c.push(Q(e))));const y=c.join(", ");i.push("SELECT"),i.push(y),i.push("FROM"),i.push(K(o,l));const d=te(n),$=m&&(null===(a=n.meta)||void 0===a?void 0:a.logMessageLike);(d||$)&&i.push("WHERE"),d&&i.push(d),$&&(d&&i.push("AND"),i.push(`(${m.alias||m.name} LIKE '%${n.meta.logMessageLike}%')`));const _=Z(n);_&&(i.push("ORDER BY"),i.push(_));const h=ee(n.limit);return""!==h&&i.push(h),J(i)},H=e=>{var t,s,a,n,o,l,i,c;const p=P(j({},e),{columns:null===(t=e.columns)||void 0===t?void 0:t.map((e=>j({},e)))}),{database:m,table:u}=p,b=[],y=[],d=new Set,$=z(p,r.Time);void 0!==$&&($.alias="time",y.push(Q($)),d.add($.alias)),null===(a=null===(s=p.columns)||void 0===s?void 0:s.filter((e=>e.hint!==r.Time)))||void 0===a||a.forEach((e=>{y.push(Q(e)),d.add(e.alias||e.name)}));const _=[];null===(n=p.aggregates)||void 0===n||n.forEach((e=>{const t=e.alias?` as ${e.alias.replace(/ /g,"_")}`:"",s=`${e.aggregateType}(${e.column})`;_.push(`${s}${t}`),d.add(t?t.substring(4):s)})),null===(o=p.groupBy)||void 0===o||o.forEach((e=>{d.has(e)||y.push(e)})),_.forEach((e=>y.push(e)));const h=y.join(", ");b.push("SELECT"),b.push(h),b.push("FROM"),b.push(K(m,u));const f=te(p);f&&(b.push("WHERE"),b.push(f));const w=(null===(l=p.aggregates)||void 0===l?void 0:l.length)||!1,x=(null===(i=p.groupBy)||void 0===i?void 0:i.length)||!1;if((w||x)&&b.push("GROUP BY"),((null===(c=p.groupBy)||void 0===c?void 0:c.length)||0)>0){const e=void 0!==$?`, ${$.alias}`:"";b.push(`${p.groupBy.join(", ")}${e}`)}else w&&$&&b.push($.alias);const g=Z(p);g&&(b.push("ORDER BY"),b.push(g));const v=ee(p.limit);return""!==v&&b.push(v),J(b)},G=e=>{var t,s,a,n;const o=P(j({},e),{columns:null===(t=e.columns)||void 0===t?void 0:t.map((e=>j({},e)))}),{database:l,table:i}=o,c=[],p=[],m=z(o,r.Time);void 0!==m&&(m.name=`$__timeInterval(${m.name})`,m.alias="time",p.push(Q(m))),null===(s=o.groupBy)||void 0===s||s.forEach((e=>p.push(e))),null===(a=o.aggregates)||void 0===a||a.forEach((e=>{const t=e.alias?` as ${e.alias.replace(/ /g,"_")}`:"",s=`${e.aggregateType}(${e.column})`;p.push(`${s}${t}`)}));const u=p.join(", ");c.push("SELECT"),c.push(u),c.push("FROM"),c.push(K(l,i));const b=te(o);if(b&&(c.push("WHERE"),c.push(b)),c.push("GROUP BY"),((null===(n=o.groupBy)||void 0===n?void 0:n.length)||0)>0){const e=void 0!==m?`, ${m.alias}`:"";c.push(`${o.groupBy.join(", ")}${e}`)}else m&&c.push(m.alias);const y=Z(o);y&&(c.push("ORDER BY"),c.push(y));const d=ee(o.limit);return""!==d&&c.push(d),J(c)},V=t=>{var s,r;const{database:a,table:n}=t,o=t.mode===e.Aggregate,l=[],i=[],c=new Set;var p,m;null===(s=t.columns)||void 0===s||s.forEach((e=>{i.push(Q(e)),c.add(e.alias||e.name)})),o&&(null===(p=t.aggregates)||void 0===p||p.forEach((e=>{const t=e.alias?` as ${e.alias.replace(/ /g,"_")}`:"",s=`${e.aggregateType}(${e.column})`;i.push(`${s}${t}`),c.add(t?t.substring(4):s)})),null===(m=t.groupBy)||void 0===m||m.forEach((e=>{c.has(e)})));const u=i.join(", ");l.push("SELECT"),l.push(u),l.push("FROM"),l.push(K(a,n));const b=te(t);b&&(l.push("WHERE"),l.push(b)),o&&((null===(r=t.groupBy)||void 0===r?void 0:r.length)||0)>0&&(l.push("GROUP BY"),l.push(t.groupBy.join(", ")));const y=Z(t);y&&(l.push("ORDER BY"),l.push(y));const d=ee(t.limit);return""!==d&&l.push(d),J(l)},z=(e,t)=>{var s;return null===(s=e.columns)||void 0===s?void 0:s.find((e=>e.hint===t))},Q=e=>{let t=e.name;return t.includes("(")||t.includes(")")||t.includes('"')||t.includes('"')?t=e.name:t.includes(" ")&&(t=W(e.name)),e.alias?`${t} as ${e.alias}`:t},K=(e,t)=>{const s=""===e||""===t?"":".";return`${W(e)}${s}${W(t)}`},W=e=>""===e?"":`"${e}"`,Y=e=>e.includes("$")||e.includes("(")||e.includes(")")||e.includes("'")||e.includes('"')?e:`'${e}'`,X=(e,t)=>{const s="duration";switch(t){case a.Seconds:return`multiply(${e}, 1000) as ${s}`;case a.Milliseconds:return`${e} as ${s}`;case a.Microseconds:return`intDivOrZero(${e}, 1000) as ${s}`;case a.Nanoseconds:return`intDivOrZero(${e}, 1000000) as ${s}`;default:return`${e} as ${s}`}},J=e=>{let t="";for(let s=0;s{var t;const s=[];var r;return((null===(t=e.orderBy)||void 0===t?void 0:t.length)||0)>0&&(null===(r=e.orderBy)||void 0===r||r.forEach((t=>{let r=t.name;const a=t.hint&&z(e,t.hint);a&&(r=a.alias||a.name),r&&s.push(`${r} ${t.dir}`)}))),s.join(", ")},ee=e=>(e=Math.max(0,e||0))>0?"LIMIT "+e:"",te=e=>{const t=e.filters||[],s=[];for(const a of t){if(a.operator===o.IsAnything)continue;const t=[];let n=a.key,l=a.type;const i=a.hint&&z(e,a.hint);if(i&&(n=i.alias||i.name,l=i.type||l),!n)continue;a.mapKey&&(n+=`['${a.mapKey}']`),t.push(n);let c=a.operator,p=!1;if(a.operator===o.IsEmpty||a.operator===o.IsNotEmpty?c="":a.operator===o.NotLike?(c="LIKE",p=!0):a.operator===o.OutsideGrafanaTimeRange?(c="",p=!0):a.operator===o.WithInGrafanaTimeRange&&(c=""),c&&t.push(c),le(a.operator));else if(a.operator===o.IsEmpty)t.push("= ''");else if(a.operator===o.IsNotEmpty)t.push("!= ''");else if(ie(l))t.push(String(a.value));else if(ce(l))t.push(String(a.value||"0"));else if(me(l))if(pe(l,a.operator))ne(l)&&t.push(">=","$__fromTime","AND",n,"<=","$__toTime");else switch(a.value){case"GRAFANA_START_TIME":ne(l)&&t.push("$__fromTime");break;case"GRAFANA_END_TIME":ne(l)&&t.push("$__toTime");break;default:t.push(Y(String(a.value||"TODAY")))}else if(ue(l,a.operator))a.operator===o.Like||a.operator===o.NotLike?t.push(`'%${a.value||""}%'`):t.push(Y(a.value||""));else if(be(l,a.operator)){var r;t.push(`(${null===(r=a.value)||void 0===r?void 0:r.map((e=>Y(e))).join(", ")})`)}else t.push(Y(a.value||""));p&&(t.unshift("NOT","("),t.push(")")),t.unshift("("),s.length>0&&t.unshift(a.condition),t.push(")");const m=J(t);s.push(m)}return J(s)},se=e=>{var t;return null===(t=e)||void 0===t?void 0:t.toLowerCase().startsWith("boolean")},re=["int","float","decimal"],ae=e=>re.some((t=>{var s;return null===(s=e)||void 0===s?void 0:s.toLowerCase().includes(t)})),ne=e=>{var t,s;return(null===(t=e)||void 0===t?void 0:t.toLowerCase().startsWith("date"))||(null===(s=e)||void 0===s?void 0:s.toLowerCase().startsWith("nullable(date"))},oe=e=>"String"===e&&!(se(e)||ae(e)||ne(e)),le=e=>e===o.IsNull||e===o.IsNotNull,ie=e=>se(e),ce=e=>ae(e),pe=(e,t)=>ne(e)&&(t===o.WithInGrafanaTimeRange||t===o.OutsideGrafanaTimeRange),me=e=>ne(e),ue=(e,t)=>oe(e)&&!(t===o.In||t===o.NotIn),be=(e,t)=>oe(e)&&(t===o.In||t===o.NotIn),ye=new Map([["timestamp",r.Time],["body",r.LogMessage],["level",r.LogLevel],["traceID",r.TraceId]]);function de(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const $e={name:"1.2.9",version:"1.29.0",specUrl:"https://opentelemetry.io/docs/specs/otel",logsTable:"otel_logs",logColumnMap:new Map([[r.Time,"Timestamp"],[r.LogMessage,"Body"],[r.LogLevel,"SeverityText"],[r.TraceId,"TraceId"]]),logLevels:["TRACE","DEBUG","INFO","WARN","ERROR","FATAL"],traceTable:"otel_traces",traceColumnMap:new Map([[r.Time,"Timestamp"],[r.TraceId,"TraceId"],[r.TraceSpanId,"SpanId"],[r.TraceParentSpanId,"ParentSpanId"],[r.TraceServiceName,"ServiceName"],[r.TraceOperationName,"SpanName"],[r.TraceDurationTime,"Duration"],[r.TraceTags,"SpanAttributes"],[r.TraceServiceTags,"ResourceAttributes"]]),traceDurationUnit:a.Nanoseconds},_e=[(he=function(e){for(var t=1;tt.comparable[e])return!0;if(this.comparable[e]{var t,s,r,a,n;return((null===(t=e.columns)||void 0===t?void 0:t.length)||0)>0||((null===(s=e.filters)||void 0===s?void 0:s.length)||0)>0||((null===(r=e.orderBy)||void 0===r?void 0:r.length)||0)>0||((null===(a=e.aggregates)||void 0===a?void 0:a.length)||0)>0||((null===(n=e.groupBy)||void 0===n?void 0:n.length)||0)>0},Se=e=>{var s;switch(null===(s=e)||void 0===s?void 0:s.queryType){case t.Table:return 1;case t.Logs:return 2;case t.TimeSeries:return 0;case t.Traces:var r;return(null===(r=e.meta)||void 0===r?void 0:r.isTraceIdMode)?3:1;default:return 256}},Ie=e=>{switch(e){case t.Table:return 1;case t.Logs:return 2;case t.TimeSeries:return 0;case t.Traces:return 3;default:return 256}},Ne=e=>{switch(e){case 0:return t.TimeSeries;case 1:default:return t.Table;case 2:return t.Logs;case 3:return t.Traces}},Le=e=>e.toLowerCase().replace(/ /g,"_");function Re(e,t,s,r,a,n,o){try{var l=e[n](o),i=l.value}catch(e){return void s(e)}l.done?t(i):Promise.resolve(i).then(r,a)}function De(e){return function(){var t=this,s=arguments;return new Promise((function(r,a){var n=e.apply(t,s);function o(e){Re(n,r,a,o,l,"next",e)}function l(e){Re(n,r,a,o,l,"throw",e)}o(void 0)}))}}function qe(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function je(e){for(var t=1;tC?(s=864e5,t="1d"):s>O?(s=C,t="1h"):s>A?(s=O,t="1m"):(s=A,t="1s"),{interval:t,intervalMs:s}}return{interval:"$__interval"}}(e.scopedVars);e.interval=s.interval,e.scopedVars.__interval={value:s.interval,text:s.interval},e.hideFromInspector=!0,void 0!==s.intervalMs&&(e.intervalMs=s.intervalMs,e.scopedVars.__interval_ms={value:s.intervalMs,text:s.intervalMs});const r=[];if(e.targets.forEach((t=>{const s=this.getSupplementaryLogsVolumeQuery(e,t);void 0!==s&&r.push(s)})),!r.length)return;return function(e,t,s){return new b.Observable((r=>{let a=[];r.next({state:m.LoadingState.Loading,error:void 0,data:[]});const n=e.query(t),o=((0,b.isObservable)(n)?n:(0,b.from)(n)).subscribe({complete:()=>{const e=function(e){if(1!==e.length)return[];const[[t],s]=(0,g.partition)(e[0].fields,(e=>e.name===L));if(void 0===t)return[];const r=1===s.length&&s[0].name===R;r&&(s[0].name="logs");const a=t.values.length;return s.map((e=>{const s=m.LogLevel[e.name]||m.LogLevel.unknown,n=new m.MutableDataFrame;return n.addField({name:"Time",type:m.FieldType.time,values:t.values},a),n.addField({name:"Value",type:m.FieldType.number,config:I(s,r),values:e.values}),n}))}(a);e[0]&&(e[0].meta={custom:{targets:s.targets,absoluteRange:{from:s.range.from.valueOf(),to:s.range.to.valueOf()}}}),r.next({state:m.LoadingState.Done,error:void 0,data:e}),r.complete()},next:e=>{const{error:t}=e;void 0!==t?(r.next({state:m.LoadingState.Error,error:t,data:[]}),r.error(t)):a=a.concat(e.data.map(m.toDataFrame))},error:e=>{r.next({state:m.LoadingState.Error,error:e,data:[]}),r.error(e)}});return()=>{var e;null===(e=o)||void 0===e||e.unsubscribe()}}))}(this,Pe(je({},e),{targets:r}),{range:e.range,targets:e.targets})}}getSupportedSupplementaryQueryTypes(){return[m.SupplementaryQueryType.LogsVolume]}getSupplementaryLogsVolumeQuery(a,o){var i;if(o.editorType!==l.Builder||o.builderOptions.queryType!==t.Logs||o.builderOptions.mode!==e.List||""===o.builderOptions.database||""===o.builderOptions.table)return;const c=z(o.builderOptions,r.Time);if(void 0===c)return;const p=[],m=[];p.push({name:N(a.scopedVars,c.name),alias:L,hint:r.Time});const u=z(o.builderOptions,r.LogLevel);if(u){const e=`toString("${u.name}")`;let t;for(t in D)m.push({aggregateType:s.Sum,column:`${e} ${D[t]}`,alias:t})}else m.push({aggregateType:s.Count,column:"*",alias:R});const b=((null===(i=o.builderOptions.filters)||void 0===i?void 0:i.slice())||[]).map((e=>{if(e.hint&&!e.key){var t,s;const r=z(o.builderOptions,e.hint);e.key=(null===(t=r)||void 0===t?void 0:t.alias)||(null===(s=r)||void 0===s?void 0:s.name)||""}return e})),y={database:o.builderOptions.database,table:o.builderOptions.table,queryType:t.TimeSeries,filters:b,columns:p,aggregates:m,orderBy:[{name:"",hint:r.Time,dir:n.ASC}]},d=B(y);return{pluginVersion:ge,editorType:l.Builder,builderOptions:y,rawSql:d,refId:""}}getSupplementaryQuery(e,t){}metricFindQuery(e,t){var s=this;return De((function*(){var r,a,n,o,i,c,p;s.adHocFiltersStatus===Fe.none&&(s.adHocFiltersStatus=yield s.canUseAdhocFilters());const u=(0,g.isString)(e)?{rawSql:e,editorType:l.SQL}:e;if(u.editorType!==l.SQL&&u.editorType!==l.Builder&&u.editorType)return[];if(!u.rawSql)return[];const b=yield s.runQuery(u,t);if(0===(null===(r=b.fields)||void 0===r?void 0:r.length))return[];var y,d;if(1===(null===(n=b)||void 0===n||null===(a=n.fields)||void 0===a?void 0:a.length))return(0,m.vectorator)(null===(d=b)||void 0===d||null===(y=d.fields[0])||void 0===y?void 0:y.values).map((e=>({text:e,value:e})));const $=null===(i=b)||void 0===i||null===(o=i.fields[0])||void 0===o?void 0:o.values;return(0,m.vectorator)(null===(p=b)||void 0===p||null===(c=p.fields[1])||void 0===c?void 0:c.values).map(((e,t)=>({text:e,value:$.get(t)})))}))()}applyTemplateVariables(e,t){let s=e.rawSql||"";const r=(0,u.getTemplateSrv)();if(!this.skipAdHocFilter){var a,n;const e=null===(a=r)||void 0===a?void 0:a.getAdhocFilters(this.name);if(this.adHocFiltersStatus===Fe.disabled&&(null===(n=e)||void 0===n?void 0:n.length)>0)throw new Error(`Unable to apply ad hoc filters. Upgrade ClickHouse to >=${this.adHocCHVerReq.major}.${this.adHocCHVerReq.minor} or remove ad hoc filters for the dashboard.`);s=this.adHocFilter.apply(s,e)}return this.skipAdHocFilter=!1,s=this.applyConditionalAll(s,(0,u.getTemplateSrv)().getVariables()),Pe(je({},e),{rawSql:this.replace(s,t)||""})}applyConditionalAll(e,t){if(!e)return e;const s="$__conditionalAll(";let r=e.lastIndexOf(s);for(;-1!==r;){const n=this.getMacroArgs(e,r+18-1);if(2!==n.length)return e;const o=n[1].trim(),l=new RegExp(RegExp("(?<=\\$\\{)[\\w\\d]+(?=\\})|(?<=\\$)[\\w\\d]+")).exec(o);let i=n[0];if(l){var a;let e=null===(a=t.find((e=>e.name===l[0])))||void 0===a?void 0:a.current.value.toString();""!==e&&"$__all"!==e||(i="1=1")}r=(e=e.replace(`${s}${n[0]},${n[1]})`,i)).lastIndexOf(s)}return e}modifyQuery(e,t){var s,r,a;if(e.editorType!==l.Builder||!t.options||!t.options.key||!t.options.value)return e;const n=t.options.key,i=t.options.value,c=null===(s=e.builderOptions.columns)||void 0===s?void 0:s.find((e=>e.alias===n)),p=null===(r=e.builderOptions.columns)||void 0===r?void 0:r.find((e=>e.name===n)),m=ye.has(n)?z(e.builderOptions,ye.get(n)):void 0,u=c||p||m;let b=(null===(a=e.builderOptions.filters)||void 0===a?void 0:a.slice())||[];"ADD_FILTER"===t.type?(b=b.filter((e=>!("string"===e.type&&(u&&u.hint&&e.hint?e.hint===u.hint:e.key===n)&&(e.operator===o.IsAnything||e.operator===o.Equals||e.operator===o.NotEquals)))),b.push({condition:"AND",key:u&&u.hint?"":n,hint:u&&u.hint?u.hint:void 0,type:"string",filterType:"custom",operator:o.Equals,value:i})):"ADD_FILTER_OUT"===t.type&&(b=b.filter((e=>!("string"===e.type&&(u&&u.hint&&e.hint?e.hint===u.hint:e.key===n)&&"value"in e&&e.value===i&&(e.operator===o.IsAnything||e.operator===o.NotEquals)||"string"===e.type&&(u&&u.hint&&e.hint?e.hint===u.hint:e.key===n)&&(e.operator===o.IsAnything||e.operator===o.Equals)))),b.push({condition:"AND",key:u&&u.hint?"":n,hint:u&&u.hint?u.hint:void 0,type:"string",filterType:"custom",operator:o.NotEquals,value:i}));const y=Pe(je({},e.builderOptions),{filters:b});return Pe(je({},e),{rawSql:B(y),builderOptions:y})}getMacroArgs(e,t){const s=[],r=/\(|\)|,/g;let a,n=0,o=1;const l=e.substring(t,e.length);for(;null!==(a=r.exec(l));){const e=a[0];if("("===e?n++:")"===e&&n--,","===e&&1===n&&(s.push(l.substring(o,r.lastIndex-1)),o=r.lastIndex),0===n)return s.push(l.substring(o,r.lastIndex-1)),s}return[]}replace(e,t){return void 0!==e?(0,u.getTemplateSrv)().replace(e,t,this.format):e}format(e){return Array.isArray(e)?`'${e.join("','")}'`:e}getDefaultDatabase(){return this.settings.jsonData.defaultDatabase||"default"}getDefaultTable(){return this.settings.jsonData.defaultTable}getDefaultLogsDatabase(){var e;return null===(e=this.settings.jsonData.logs)||void 0===e?void 0:e.defaultDatabase}getDefaultLogsTable(){var e;return null===(e=this.settings.jsonData.logs)||void 0===e?void 0:e.defaultTable}getDefaultLogsColumns(){const e=new Map,t=this.settings.jsonData.logs;if(!t)return e;const s=t.otelEnabled,a=t.otelVersion,n=_e.find((e=>e.version===a));return s&&n?n.logColumnMap:(t.timeColumn&&e.set(r.Time,t.timeColumn),t.levelColumn&&e.set(r.LogLevel,t.levelColumn),t.messageColumn&&e.set(r.LogMessage,t.messageColumn),e)}getLogsOtelVersion(){var e;const t=this.settings.jsonData.logs;return(null===(e=t)||void 0===e?void 0:e.otelEnabled)&&t.otelVersion||void 0}getDefaultTraceDatabase(){var e;return null===(e=this.settings.jsonData.traces)||void 0===e?void 0:e.defaultDatabase}getDefaultTraceTable(){var e;return null===(e=this.settings.jsonData.traces)||void 0===e?void 0:e.defaultTable}getDefaultTraceColumns(){const e=new Map,t=this.settings.jsonData.traces;if(!t)return e;const s=t.otelEnabled,a=t.otelVersion,n=_e.find((e=>e.version===a));return s&&n?n.traceColumnMap:(t.traceIdColumn&&e.set(r.TraceId,t.traceIdColumn),t.spanIdColumn&&e.set(r.TraceSpanId,t.spanIdColumn),t.operationNameColumn&&e.set(r.TraceOperationName,t.operationNameColumn),t.parentSpanIdColumn&&e.set(r.TraceParentSpanId,t.parentSpanIdColumn),t.serviceNameColumn&&e.set(r.TraceServiceName,t.serviceNameColumn),t.durationColumn&&e.set(r.TraceDurationTime,t.durationColumn),t.startTimeColumn&&e.set(r.Time,t.startTimeColumn),t.tagsColumn&&e.set(r.TraceTags,t.tagsColumn),t.serviceTagsColumn&&e.set(r.TraceServiceTags,t.serviceTagsColumn),e)}getTraceOtelVersion(){var e;const t=this.settings.jsonData.traces;return(null===(e=t)||void 0===e?void 0:e.otelEnabled)&&t.otelVersion||void 0}getDefaultTraceDurationUnit(){var e;return(null===(e=this.settings.jsonData.traces)||void 0===e?void 0:e.durationUnit)||a.Nanoseconds}fetchDatabases(){var e=this;return De((function*(){return e.fetchData("SHOW DATABASES")}))()}fetchTables(e){var t=this;return De((function*(){const s=e?`SHOW TABLES FROM "${e}"`:"SHOW TABLES";return t.fetchData(s)}))()}fetchUniqueMapKeys(e,t,s){var r=this;return De((function*(){const a=`SELECT DISTINCT arrayJoin(${e}.keys) as keys FROM "${t}"."${s}" LIMIT 1000`;return r.fetchData(a)}))()}fetchEntities(){var e=this;return De((function*(){return e.fetchTables()}))()}fetchFields(e,t){var s=this;return De((function*(){return s.fetchData(`DESC TABLE "${e}"."${t}"`)}))()}fetchColumnsFull(e,t){var s=this;return De((function*(){var r;const a=`DESC TABLE ${Boolean(e)?`"${e}".`:""}"${t}"`,n=yield s.runQuery({rawSql:a});return 0===(null===(r=n.fields)||void 0===r?void 0:r.length)?[]:new m.DataFrameView(n).map((e=>({name:e[0],type:e[1],label:e[0],picklistValues:[]})))}))()}fetchData(e){var t=this;return De((function*(){const s=yield t.runQuery({rawSql:e});return t.values(s)}))()}getTimezone(e){var t;return e.timezone&&"browser"!==e.timezone?e.timezone:null===(t=(0,m.getTimeZoneInfo)((0,m.getTimeZone)(),Date.now()))||void 0===t?void 0:t.ianaName}query(e){const s=e.targets.filter((e=>!0!==e.hide)).map((t=>{var s;return Pe(je({},t),{meta:Pe(je({},null===(s=t)||void 0===s?void 0:s.meta),{timezone:this.getTimezone(e)})})}));return super.query(Pe(je({},e),{targets:s})).pipe((0,b.map)((s=>((e,s,a)=>(a.data.forEach((a=>{var i,c,p,u;const b=s.targets.find((e=>e.refId===a.refId));if(!b)return;const y=a.fields.find((e=>"traceid"===e.name.toLowerCase()||"trace_id"===e.name.toLowerCase()));if(!y)return;const d={editorType:l.Builder,rawSql:"",builderOptions:{},pluginVersion:ge,refId:"Trace ID"};if(b.editorType===l.Builder&&b.builderOptions.queryType===t.Traces)d.builderOptions=Oe(Ae({},b.builderOptions),{filters:[],orderBy:[],meta:Oe(Ae({},b.builderOptions.meta),{minimized:!0,isTraceIdMode:!0,traceId:"${__value.raw}"})});else{const s=e.getTraceOtelVersion(),r={database:e.getDefaultTraceDatabase()||d.builderOptions.database||e.getDefaultDatabase(),table:e.getDefaultTraceTable()||e.getDefaultTable()||d.builderOptions.table,queryType:t.Traces,columns:[],filters:[],orderBy:[],meta:{minimized:!0,isTraceIdMode:!0,traceId:"${__value.raw}",traceDurationUnit:e.getDefaultTraceDurationUnit(),otelEnabled:Boolean(s),otelVersion:s}},a=e.getDefaultTraceColumns();for(let[e,t]of a)r.columns.push({name:t,hint:e});d.builderOptions=r}const $={editorType:l.Builder,rawSql:"",builderOptions:{},pluginVersion:ge,refId:"Trace Logs"};if(b.editorType===l.Builder&&b.builderOptions.queryType===t.Logs)$.builderOptions=Oe(Ae({},b.builderOptions),{filters:[{type:"string",operator:o.Equals,filterType:"custom",key:"",hint:r.TraceId,condition:"AND",value:"${__value.raw}"}],orderBy:[{name:"",hint:r.Time,dir:n.ASC}],meta:Oe(Ae({},b.builderOptions.meta),{minimized:!0})});else{const s=e.getLogsOtelVersion(),a={database:e.getDefaultLogsDatabase()||$.builderOptions.database||e.getDefaultDatabase(),table:e.getDefaultLogsTable()||e.getDefaultTable()||$.builderOptions.table,queryType:t.Logs,columns:[],orderBy:[{name:"",hint:r.Time,dir:n.ASC}],filters:[{type:"string",operator:o.Equals,filterType:"custom",key:"",hint:r.TraceId,condition:"AND",value:"${__value.raw}"}],meta:{minimized:!0,otelEnabled:Boolean(s),otelVersion:s}},l=e.getDefaultLogsColumns();for(let[e,t]of l)a.columns.push({name:t,hint:e});$.builderOptions=a}const _=s.app!==m.CoreApp.Explore;y.config.links=[],y.config.links.push({title:"View trace",targetBlank:_,url:"",internal:{query:d,datasourceUid:null===(i=d.datasource)||void 0===i?void 0:i.uid,datasourceName:null===(c=d.datasource)||void 0===c?void 0:c.type,panelsState:{trace:{spanId:"${__value.raw}"}}}}),y.config.links.push({title:"View logs",targetBlank:_,url:"",internal:{query:$,datasourceUid:null===(p=$.datasource)||void 0===p?void 0:p.uid,datasourceName:null===(u=$.datasource)||void 0===u?void 0:u.type}})})),a))(this,e,s))))}runQuery(e,t){return new Promise((s=>{const r={targets:[Pe(je({},e),{refId:String(Math.random())})],range:t?t.range:(0,u.getTemplateSrv)().timeRange};this.query(r).subscribe((e=>{s(e.data[0]||{fields:[]})}))}))}values(e){var t,s,r;return 0===(null===(t=e.fields)||void 0===t?void 0:t.length)?[]:(0,m.vectorator)(null===(r=e)||void 0===r||null===(s=r.fields[0])||void 0===s?void 0:s.values).map((e=>e))}getTagKeys(){var e=this;return De((function*(){if((e.adHocFiltersStatus===Fe.disabled||e.adHocFiltersStatus===Fe.none)&&(e.adHocFiltersStatus=yield e.canUseAdhocFilters(),e.adHocFiltersStatus===Fe.disabled))return{};const{type:t,frame:s}=yield e.fetchTags();return t===Me.query?s.fields.map((e=>({text:e.name}))):new m.DataFrameView(s).map((e=>({text:`${e[2]}.${e[0]}`})))}))()}getTagValues({key:e}){var t=this;return De((function*(){const{type:s}=t.getTagSource();return t.skipAdHocFilter=!0,s===Me.query?t.fetchTagValuesFromQuery(e):t.fetchTagValuesFromSchema(e)}))()}fetchTagValuesFromSchema(e){var t=this;return De((function*(){var s,r;const{from:a}=t.getTagSource(),[n,o]=e.split("."),l=`select distinct ${o} from ${(null===(s=a)||void 0===s?void 0:s.includes("."))?`${a.split(".")[0]}.${n}`:n} limit 1000`,i=yield t.runQuery({rawSql:l});if(0===(null===(r=i.fields)||void 0===r?void 0:r.length))return[];const c=i.fields[0];return(0,m.vectorator)(c.values).filter((e=>null!==e)).map((e=>({text:String(e)})))}))()}fetchTagValuesFromQuery(e){var t=this;return De((function*(){const{frame:s}=yield t.fetchTags(),r=s.fields.find((t=>t.name===e));return r?(0,m.vectorator)(r.values).filter((e=>null!==e)).map((e=>({text:String(e)}))):[]}))()}fetchTags(){var e=this;return De((function*(){const t=e.getTagSource();if(e.skipAdHocFilter=!0,void 0===t.source){const t="SELECT name, type, table FROM system.columns",s=yield e.runQuery({rawSql:t});return{type:Me.schema,frame:s}}t.type===Me.query&&e.adHocFilter.setTargetTableFromQuery(t.source);const s=yield e.runQuery({rawSql:t.source});return{type:t.type,frame:s}}))()}getTagSource(){const e="$clickhouse_adhoc_query",t=this.getDefaultDatabase();let s=(0,u.getTemplateSrv)().replace(e);if(s===e&&(0,g.isEmpty)(t))return{type:Me.schema,source:void 0};if(s=s===e?t:s,s.toLowerCase().startsWith("select"))return{type:Me.query,source:s};if(!s.includes(".")){const e=`SELECT name, type, table FROM system.columns WHERE database IN ('${s}')`;return{type:Me.schema,source:e,from:s}}const[r,a]=s.split("."),n=`SELECT name, type, table FROM system.columns WHERE database IN ('${r}') AND table = '${a}'`;return{type:Me.schema,source:n,from:s}}canUseAdhocFilters(){var e=this;return De((function*(){e.skipAdHocFilter=!0;const t=yield e.fetchData("SELECT version()");try{const s=t[0].split("."),r={major:Number.parseInt(s[0],10),minor:Number.parseInt(s[1],10)};return r.major>e.adHocCHVerReq.major||r.major===e.adHocCHVerReq.major&&r.minor>=e.adHocCHVerReq.minor?Fe.enabled:Fe.disabled}catch(e){throw console.error(`Unable to parse ClickHouse version: ${e}`),e}}))()}getLogRowContext(e,t,s){return De((function*(){return{}}))()}showContextToggle(e){return!1}getLogRowContextUi(e,t){return!1}constructor(e){super(e),qe(this,"annotations",{}),qe(this,"settings",void 0),qe(this,"adHocFilter",void 0),qe(this,"skipAdHocFilter",!1),qe(this,"adHocFiltersStatus",Fe.none),qe(this,"adHocCHVerReq",{major:22,minor:7}),this.settings=e,this.adHocFilter=new x}}var Me,Fe;!function(e){e[e.query=0]="query",e[e.schema=1]="schema"}(Me||(Me={})),function(e){e[e.none=0]="none",e[e.enabled=1]="enabled",e[e.disabled=2]="disabled"}(Fe||(Fe={}));var Ue=c(2650),He=c.n(Ue);const Ge=({hasCert:e,label:t,onChange:s,onClick:r,placeholder:a})=>He().createElement(T.Field,{label:t},e?He().createElement(He().Fragment,null,He().createElement(T.Input,{type:"text",disabled:!0,value:"configured",width:24}),He().createElement(T.Button,{variant:"secondary",onClick:r,style:{marginLeft:4}},"Reset")):He().createElement(T.TextArea,{rows:7,onChange:s,placeholder:a,required:!0}));var Ve;!function(e){e.Native="native",e.Http="http"}(Ve||(Ve={}));var ze=c(8873),Qe=c(7644),Ke=Object.defineProperty,We=Object.defineProperties,Ye=Object.getOwnPropertyDescriptors,Xe=Object.getOwnPropertySymbols,Je=Object.prototype.hasOwnProperty,Ze=Object.prototype.propertyIsEnumerable,et=(e,t,s)=>t in e?Ke(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,tt=(e,t)=>{for(var s in t||(t={}))Je.call(t,s)&&et(e,s,t[s]);if(Xe)for(var s of Xe(t))Ze.call(t,s)&&et(e,s,t[s]);return e};const st=({dataSourceName:e,docsLink:t,hasRequiredFields:s=!0,className:r})=>{const a=(0,T.useTheme2)(),n={container:(0,Qe.css)({p:{margin:0},"p + p":{marginTop:a.spacing(2)}}),text:(0,Qe.css)((o=tt({},a.typography.body),l={color:a.colors.text.secondary,a:(0,Qe.css)({color:a.colors.text.link,textDecoration:"underline","&:hover":{textDecoration:"none"}})},We(o,Ye(l))))};var o,l;return He().createElement("div",{className:(0,Qe.cx)(n.container,r)},He().createElement("p",{className:n.text},"Before you can use the ",e," data source, you must configure it below or in the config file. For detailed instructions,"," ",He().createElement("a",{href:t,target:"_blank",rel:"noreferrer"},"view the documentation"),"."),s&&He().createElement("p",{className:n.text},He().createElement("i",null,"Fields marked with * are required")))};var rt=Object.defineProperty,at=Object.defineProperties,nt=Object.getOwnPropertyDescriptors,ot=Object.getOwnPropertySymbols,lt=Object.prototype.hasOwnProperty,it=Object.prototype.propertyIsEnumerable,ct=(e,t,s)=>t in e?rt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,pt=(e,t)=>{for(var s in t||(t={}))lt.call(t,s)&&ct(e,s,t[s]);if(ot)for(var s of ot(t))it.call(t,s)&&ct(e,s,t[s]);return e};const mt=({children:e,title:t,description:s,isCollapsible:r=!1,isInitiallyOpen:a=!0,kind:n="section",className:o})=>{const{colors:l,typography:i,spacing:c}=(0,T.useTheme2)(),[p,m]=(0,Ue.useState)(!r||a),u=p?"angle-up":"angle-down",b="sub-section"===n,y=`${p?"Collapse":"Expand"} section ${t}`,d={header:(0,Qe.css)({display:"flex",justifyContent:"space-between",alignItems:"center"}),title:(0,Qe.css)({margin:0}),subtitle:(0,Qe.css)({margin:0,fontWeight:i.fontWeightRegular}),descriptionText:(0,Qe.css)(($=pt({marginTop:c(b?.25:.5),marginBottom:0},i.bodySmall),_={color:l.text.secondary},at($,nt(_)))),content:(0,Qe.css)({marginTop:c(2)})};var $,_;return He().createElement("div",{className:o},He().createElement("div",{className:d.header},"section"===n?He().createElement("h3",{className:d.title},t):He().createElement("h6",{className:d.subtitle},t),r&&He().createElement(T.IconButton,{name:u,onClick:()=>m(!p),type:"button",size:"xl","aria-label":y})),s&&He().createElement("p",{className:d.descriptionText},s),p&&He().createElement("div",{className:d.content},e))};var ut=Object.defineProperty,bt=Object.defineProperties,yt=Object.getOwnPropertyDescriptors,dt=Object.getOwnPropertySymbols,$t=Object.prototype.hasOwnProperty,_t=Object.prototype.propertyIsEnumerable,ht=(e,t,s)=>t in e?ut(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;const ft=e=>{var t,s=e,{children:r}=s,a=((e,t)=>{var s={};for(var r in e)$t.call(e,r)&&t.indexOf(r)<0&&(s[r]=e[r]);if(null!=e&&dt)for(var r of dt(e))t.indexOf(r)<0&&_t.call(e,r)&&(s[r]=e[r]);return s})(s,["children"]);return He().createElement(mt,(t=((e,t)=>{for(var s in t||(t={}))$t.call(t,s)&&ht(e,s,t[s]);if(dt)for(var s of dt(t))_t.call(t,s)&&ht(e,s,t[s]);return e})({},a),bt(t,yt({kind:"section"}))),r)};var wt=Object.defineProperty,xt=Object.defineProperties,gt=Object.getOwnPropertyDescriptors,vt=Object.getOwnPropertySymbols,kt=Object.prototype.hasOwnProperty,Et=Object.prototype.propertyIsEnumerable,Tt=(e,t,s)=>t in e?wt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;const At=e=>{var t,s=e,{children:r}=s,a=((e,t)=>{var s={};for(var r in e)kt.call(e,r)&&t.indexOf(r)<0&&(s[r]=e[r]);if(null!=e&&vt)for(var r of vt(e))t.indexOf(r)<0&&Et.call(e,r)&&(s[r]=e[r]);return s})(s,["children"]);return He().createElement(mt,(t=((e,t)=>{for(var s in t||(t={}))kt.call(t,s)&&Tt(e,s,t[s]);if(vt)for(var s of vt(t))Et.call(t,s)&&Tt(e,s,t[s]);return e})({},a),xt(t,gt({kind:"sub-section"}))),r)};function Ot(){const e=(0,T.useTheme2)();return Ee(u.config.buildInfo.version,"10.1.0")?He().createElement(T.Divider,null):He().createElement("div",{style:{borderTop:`1px solid ${e.colors.border.weak}`,margin:e.spacing(2,0),width:"100%"}})}const Ct={components:{Config:{ConfigEditor:{serverAddress:{label:"Server address",placeholder:"Server address",tooltip:"ClickHouse host address",error:"Server address required"},serverPort:{label:"Server port",insecureNativePort:"9000",insecureHttpPort:"8123",secureNativePort:"9440",secureHttpPort:"8443",tooltip:"ClickHouse server port",error:"Port is required"},path:{label:"HTTP URL Path",tooltip:"Additional URL path for HTTP requests",placeholder:"additional-path"},protocol:{label:"Protocol",tooltip:"Native or HTTP for server protocol"},username:{label:"Username",placeholder:"default",tooltip:"ClickHouse username"},password:{label:"Password",placeholder:"password",tooltip:"ClickHouse password"},tlsSkipVerify:{label:"Skip TLS Verify",tooltip:"Skip TLS Verify"},tlsClientAuth:{label:"TLS Client Auth",tooltip:"TLS Client Auth"},tlsAuthWithCACert:{label:"With CA Cert",tooltip:"Needed for verifying self-signed TLS Certs"},tlsCACert:{label:"CA Cert",placeholder:"CA Cert. Begins with -----BEGIN CERTIFICATE-----"},tlsClientCert:{label:"Client Cert",placeholder:"Client Cert. Begins with -----BEGIN CERTIFICATE-----"},tlsClientKey:{label:"Client Key",placeholder:"Client Key. Begins with -----BEGIN RSA PRIVATE KEY-----"},secure:{label:"Secure Connection",tooltip:"Toggle on if the connection is secure"},secureSocksProxy:{label:"Enable Secure Socks Proxy",tooltip:"Enable proxying the datasource connection through the secure socks proxy to a different network."}},HttpHeadersConfig:{title:"HTTP Headers",description:"Add HTTP headers when querying the database",headerNameLabel:"Header Name",headerNamePlaceholder:"X-Custom-Header",insecureHeaderValueLabel:"Header Value",secureHeaderValueLabel:"Secure Header Value",secureLabel:"Secure",addHeaderLabel:"Add Header"},DefaultDatabaseTableConfig:{title:"Default DB and table",database:{label:"Default database",description:"the default database used by the query builder",name:"defaultDatabase",placeholder:"default"},table:{label:"Default table",description:"the default table used by the query builder",name:"defaultTable",placeholder:"table"}},QuerySettingsConfig:{title:"Query settings",dialTimeout:{label:"Dial Timeout (seconds)",tooltip:"Timeout in seconds for connection",name:"dialTimeout",placeholder:"10"},queryTimeout:{label:"Query Timeout (seconds)",tooltip:"Timeout in seconds for read queries",name:"queryTimeout",placeholder:"60"},validateSql:{label:"Validate SQL",tooltip:"Validate SQL in the editor."}},TracesConfig:{title:"Traces configuration",description:"(Optional) Default settings for trace queries",defaultDatabase:{label:"Default trace database",description:"the default database used by the trace query builder",name:"defaultDatabase",placeholder:"default"},defaultTable:{label:"Default trace table",description:"the default table used by the trace query builder",name:"defaultTable",placeholder:"otel_traces"},columns:{title:"Default columns",description:"Default columns for trace queries. Leave empty to disable.",traceId:{label:"Trace ID column",tooltip:"Column for the trace ID"},spanId:{label:"Span ID column",tooltip:"Column for the span ID"},parentSpanId:{label:"Parent Span ID column",tooltip:"Column for the parent span ID"},serviceName:{label:"Service Name column",tooltip:"Column for the service name"},operationName:{label:"Operation Name column",tooltip:"Column for the operation name"},startTime:{label:"Start Time column",tooltip:"Column for the start time"},durationTime:{label:"Duration Time column",tooltip:"Column for the duration time"},tags:{label:"Tags column",tooltip:"Column for the trace tags"},serviceTags:{label:"Service Tags column",tooltip:"Column for the service tags"}}},LogsConfig:{title:"Logs configuration",description:"(Optional) default settings for log queries",defaultDatabase:{label:"Default log database",description:"the default database used by the logs query builder",name:"defaultDatabase",placeholder:"default"},defaultTable:{label:"Default log table",description:"the default table used by the logs query builder",name:"defaultTable",placeholder:"otel_logs"},columns:{title:"Default columns",description:"Default columns for log queries. Leave empty to disable.",time:{label:"Time column",tooltip:"Column for the log timestamp"},level:{label:"Log Level column",tooltip:"Column for the log level"},message:{label:"Log Message column",tooltip:"Column for log message"}}}},EditorTypeSwitcher:{label:"Editor Type",tooltip:"Switches between the raw SQL Editor and the Query Builder.",switcher:{title:"Are you sure?",body:"Queries that are too complex for the Query Builder will be altered.",confirmText:"Continue",dismissText:"Cancel"},cannotConvert:{title:"Cannot convert",message:"Do you want to delete your current query and use the query builder?",confirmText:"Yes"}},expandBuilderButton:{label:"Show full query",tooltip:"Shows the full query builder"},QueryTypeSwitcher:{label:"Query Type",tooltip:"Sets the layout for the query builder",sqlTooltip:"Sets the panel type for explore view"},DatabaseSelect:{label:"Database",tooltip:"ClickHouse database to query from",empty:"