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+** +Grafana Dashboard Screenshot - Query Analysis + +Grafana Dashboard Screenshot - Data Analysis + +## 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:""},ColumnsEditor:{label:"Columns",tooltip:"A list of columns to include in the query"},OtelVersionSelect:{label:"Use OTel",tooltip:"Enables Open Telemetry schema versioning"},LimitEditor:{label:"Limit",tooltip:"Limits the number of rows returned by the query"},SqlPreview:{label:"SQL Preview",tooltip:"Preview of the generated SQL. You can safely switch to SQL Editor to customize the generated query"},AggregatesEditor:{label:"Aggregates",tooltip:"Aggregate functions to use",aliasLabel:"as",aliasTooltip:"alias for this aggregate function",addLabel:"Aggregate"},OrderByEditor:{label:"Order By",tooltip:"Order by column",addLabel:"Order By"},FilterEditor:{label:"Filters",tooltip:"List of filters",addLabel:"Filter",mapKeyPlaceholder:"map key"},GroupByEditor:{label:"Group By",tooltip:"Group the results by specific column"},LogsQueryBuilder:{logTimeColumn:{label:"Time",tooltip:"Column that contains the log timestamp"},logLevelColumn:{label:"Log Level",tooltip:"Column that contains the log level"},logMessageColumn:{label:"Message",tooltip:"Column that contains the log message"},liveView:{label:"Live View",tooltip:"Enable to update logs in real time"},logMessageFilter:{label:"Message Filter",tooltip:"Applies a LIKE filter to the log message body",clearButton:"Clear"},logLevelFilter:{label:"Level Filter",tooltip:"Applies a filter to the log level"}},TimeSeriesQueryBuilder:{simpleQueryModeLabel:"Simple",aggregateQueryModeLabel:"Aggregate",builderModeLabel:"Builder Mode",builderModeTooltip:"Switches the query builder between the simple and aggregate modes",timeColumn:{label:"Time",tooltip:"Column to use for the time series"}},TableQueryBuilder:{simpleQueryModeLabel:"Simple",aggregateQueryModeLabel:"Aggregate",builderModeLabel:"Builder Mode",builderModeTooltip:"Switches the query builder between the simple and aggregate modes"},TraceQueryBuilder:{traceIdModeLabel:"Trace ID",traceSearchModeLabel:"Trace Search",traceModeLabel:"Trace Mode",traceModeTooltip:"Switches between trace ID and trace search mode",columnsSection:"Columns",filtersSection:"Filters",columns:{traceId:{label:"Trace ID Column",tooltip:"Column that contains the trace ID"},spanId:{label:"Span ID Column",tooltip:"Column that contains the span ID"},parentSpanId:{label:"Parent Span ID Column",tooltip:"Column that contains the parent span ID"},serviceName:{label:"Service Name Column",tooltip:"Column that contains the service name"},operationName:{label:"Operation Name Column",tooltip:"Column that contains the operation name"},startTime:{label:"Start Time Column",tooltip:"Column that contains the start time"},durationTime:{label:"Duration Time Column",tooltip:"Column that contains the duration time"},durationUnit:{label:"Duration Unit",tooltip:"The unit of time used for the duration time"},tags:{label:"Tags Column",tooltip:"Column that contains the trace tags"},serviceTags:{label:"Service Tags Column",tooltip:"Column that contains the service tags"},traceIdFilter:{label:"Trace ID",tooltip:"filter by a specific trace ID"}}}},types:{EditorType:{sql:"SQL Editor",builder:"Query Builder"},QueryType:{table:"Table",logs:"Logs",timeseries:"Time Series",traces:"Traces"},ColumnHint:{[r.Time]:"Time",[r.LogLevel]:"Level",[r.LogMessage]:"Message",[r.TraceId]:"Trace ID",[r.TraceSpanId]:"Span ID",[r.TraceParentSpanId]:"Parent Span ID",[r.TraceServiceName]:"Service Name",[r.TraceOperationName]:"Operation Name",[r.TraceDurationTime]:"Duration Time",[r.TraceTags]:"Tags",[r.TraceServiceTags]:"Service Tags"}}},St=e=>{const{defaultDatabase:t,defaultTable:s,onDefaultDatabaseChange:r,onDefaultTableChange:a}=e,n=Ct.components.Config.DefaultDatabaseTableConfig;return He().createElement(ft,{title:n.title},He().createElement(T.Field,{label:n.database.label,description:n.database.description},He().createElement(T.Input,{name:n.database.name,width:40,value:t||"",onChange:r,label:n.database.label,"aria-label":n.database.label,placeholder:n.database.placeholder,type:"text"})),He().createElement(T.Field,{label:n.table.label,description:n.table.description},He().createElement(T.Input,{name:n.table.name,width:40,value:s||"",onChange:a,label:n.table.label,"aria-label":n.table.label,placeholder:n.table.placeholder,type:"text"})))},It=e=>{const{dialTimeout:t,queryTimeout:s,validateSql:r,onDialTimeoutChange:a,onQueryTimeoutChange:n,onValidateSqlChange:o}=e,l=Ct.components.Config.QuerySettingsConfig;return He().createElement(ft,{title:l.title},He().createElement(T.Field,{label:l.dialTimeout.label,description:l.dialTimeout.tooltip},He().createElement(T.Input,{name:l.dialTimeout.name,width:40,value:t||"",onChange:a,label:l.dialTimeout.label,"aria-label":l.dialTimeout.label,placeholder:l.dialTimeout.placeholder,type:"number"})),He().createElement(T.Field,{label:l.queryTimeout.label,description:l.queryTimeout.tooltip},He().createElement(T.Input,{name:l.queryTimeout.name,width:40,value:s||"",onChange:n,label:l.queryTimeout.label,"aria-label":l.queryTimeout.label,placeholder:l.queryTimeout.placeholder,type:"number"})),He().createElement(T.Field,{label:l.validateSql.label,description:l.validateSql.tooltip},He().createElement(T.Switch,{className:"gf-form",value:r||!1,onChange:o,role:"checkbox"})))},Nt=e=>{const{enabled:t,onEnabledChange:s,selectedVersion:r,onVersionChange:a,wide:n}=e,{label:o,tooltip:l}=Ct.components.OtelVersionSelect,i=_e.map((e=>({label:e.name,value:e.version})));(0,Ue.useEffect)((()=>{""!==r&&_e.find((e=>r===e.version))||a(_e[0].version)}),[r,a]);const c=(0,T.useTheme)(),p={padding:`0 ${c.spacing.sm}`,height:`${c.spacing.formInputHeight}px`,display:"flex",alignItems:"center"};return He().createElement("div",{className:"gf-form"},He().createElement(T.InlineFormLabel,{width:n?12:8,className:"query-keyword",tooltip:l},o),He().createElement("div",{style:p},He().createElement(T.Switch,{className:"gf-form",value:t,onChange:e=>s(e.currentTarget.checked),role:"checkbox"})),He().createElement(T.Select,{disabled:!t,options:i,width:20,onChange:e=>a(e.value),value:r,menuPlacement:"bottom"}))};function Lt(e){const{label:t,tooltip:s,placeholder:r,disabled:a,value:n,onChange:o}=e;return He().createElement("div",{className:"gf-form"},He().createElement(T.InlineFormLabel,{width:12,className:"query-keyword",tooltip:s||t},t),He().createElement(T.Input,{disabled:a,width:30,value:n,onChange:e=>o(e.currentTarget.value),placeholder:r}))}const Rt=e=>{const{onDefaultDatabaseChange:t,onDefaultTableChange:s,onOtelEnabledChange:a,onOtelVersionChange:n,onTimeColumnChange:o,onLevelColumnChange:l,onMessageColumnChange:i}=e;let{defaultDatabase:c,defaultTable:p,otelEnabled:m,otelVersion:u,timeColumn:b,levelColumn:y,messageColumn:d}=e.logsConfig||{};const $=Ct.components.Config.LogsConfig,_=_e.find((e=>e.version===u));return m&&_&&(b=_.logColumnMap.get(r.Time),y=_.logColumnMap.get(r.LogLevel),d=_.logColumnMap.get(r.LogMessage)),He().createElement(ft,{title:$.title,description:$.description},He().createElement("div",{id:"logs-config"}),He().createElement(T.Field,{label:$.defaultDatabase.label,description:$.defaultDatabase.description},He().createElement(T.Input,{name:$.defaultDatabase.name,width:40,value:c||"",onChange:e=>t(e.currentTarget.value),label:$.defaultDatabase.label,"aria-label":$.defaultDatabase.label,placeholder:$.defaultDatabase.placeholder})),He().createElement(T.Field,{label:$.defaultTable.label,description:$.defaultTable.description},He().createElement(T.Input,{name:$.defaultTable.name,width:40,value:p||"",onChange:e=>s(e.currentTarget.value),label:$.defaultTable.label,"aria-label":$.defaultTable.label,placeholder:$.defaultTable.placeholder})),He().createElement(At,{title:$.columns.title,description:$.columns.description},He().createElement(Nt,{enabled:m||!1,selectedVersion:u||"",onEnabledChange:a,onVersionChange:n,wide:!0}),He().createElement(Lt,{disabled:m,label:$.columns.time.label,placeholder:Le($.columns.time.label),tooltip:$.columns.time.tooltip,value:b||"",onChange:o}),He().createElement(Lt,{disabled:m,label:$.columns.level.label,placeholder:Le($.columns.level.label),tooltip:$.columns.level.tooltip,value:y||"",onChange:l}),He().createElement(Lt,{disabled:m,label:$.columns.message.label,placeholder:Le($.columns.message.label),tooltip:$.columns.message.tooltip,value:d||"",onChange:i})))},Dt={Common:{check:Qe.css` margin-top: 5px; - `,wrapper:Ce.css` + `,wrapper:Qe.css` position: relative; width: 100%; - `,smallBtn:Ce.css` + `,smallBtn:Qe.css` margin-top: 5px; margin-inline: 5px; - `,selectWrapper:Ce.css` + `,selectWrapper:Qe.css` width: 100%; - `,inlineSelect:Ce.css` + `,inlineSelect:Qe.css` margin-right: 5px; - `,firstLabel:Ce.css` + `,firstLabel:Qe.css` margin-right: 5px; - `,expand:Ce.css` + `,expand:Qe.css` position: absolute; top: 2px; left: 6px; z-index: 100; color: gray; - `},ConfigEditor:{container:Ce.css` + `},ConfigEditor:{container:Qe.css` justify-content: space-between; h5 { line-height: 34px; @@ -27,16 +27,18 @@ define(["@grafana/data","@grafana/runtime","lodash","rxjs","@grafana/ui","react" button { margin-right: 5px; } - `,wide:Ce.css` + `,wide:Qe.css` width: 75%; - `,subHeader:Ce.css` + `,subHeader:Qe.css` padding: 5px 0 5px 0; - `},QueryEditor:{queryType:Ce.css` + `},QueryEditor:{queryType:Qe.css` justify-content: space-between; span { display: flex; } - `},FormatSelector:{formatSelector:Ce.css` + `,inlineField:Qe.css` + margin-left: 7px; + `},FormatSelector:{formatSelector:Qe.css` display: flex; - `},VariablesEditor:{}};function Le(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 Ie(e){return function(){var s=this,t=arguments;return new Promise((function(r,a){var n=e.apply(s,t);function o(e){Le(n,r,a,o,l,"next",e)}function l(e){Le(n,r,a,o,l,"throw",e)}o(void 0)}))}}function Re(){return Re=Ie((function*(e,s,t){if(e.endsWith("$"))return function(e){const s=(0,m.getTemplateSrv)();return s?s.getVariables().map((t=>{const r=`\${${t.name}}`,a=s.replace(r);return{label:r,detail:`(Template Variable) ${a}`,kind:Se.VARIABLE,documentation:`(Template Variable) ${a}`,insertText:`{${t.name}}`,range:e}})):[]}(t);const r=["select","from","where"];let a=e.replace(/[\n\r]/g," ");for(const e of r)a=a.replace(e,e.toUpperCase());if(a.endsWith("SELECT ")||a.endsWith("FROM ")||a.endsWith(", "))return void 0!==s.defaultDatabase?je(s,t):function(e,s){return qe.apply(this,arguments)}(s,t);if(a.endsWith("WHERE ")){const e=a.split("FROM ");return e[e.length-1].split(" WHERE")[0].split(",").map((e=>e.trim())).map((e=>({label:e,kind:Se.TABLE,documentation:"Table",insertText:e,range:t})))}if(e.endsWith(".")){const r=e.split(" "),a=r[r.length-1].split(".");if(void 0!==s.defaultDatabase){const e=a[0];return Fe(s,t,"",e)}if(2===a.length){const e=a[0];return je(s,t,e)}const n=a[0],o=a[1];return Fe(s,t,n,o)}return[]})),Re.apply(this,arguments)}function qe(){return(qe=Ie((function*(e,s){return(yield e.databases()).map((e=>({label:e,kind:Se.DATABASE,documentation:"Database",insertText:e,range:s})))}))).apply(this,arguments)}function je(e,s,t){return Pe.apply(this,arguments)}function Pe(){return(Pe=Ie((function*(e,s,t){return(yield e.tables(t)).map((e=>({label:e,kind:Se.TABLE,documentation:"Table",insertText:e,range:s})))}))).apply(this,arguments)}function Fe(e,s,t,r){return De.apply(this,arguments)}function De(){return(De=Ie((function*(e,s,t,r){return(yield e.fields(t,r)).map((e=>({label:e,kind:Se.FIELD,documentation:"Field",insertText:e,range:s})))}))).apply(this,arguments)}const Be=(e,t)=>{if(t===s.AUTO){const t=function(e){var s,t;const r=d(e);return"select"!==r.type||!(null===(s=r.columns)||void 0===s?void 0:s.length)||(null===(t=r.columns)||void 0===t?void 0:t.length)<=0?[]:r.columns.map((e=>{var s;return`${e.expr} as ${null===(s=e.alias)||void 0===s?void 0:s.name}`}))}(e);if(t.length>2&&(0,w.isString)(t[0])){const e=t[0].trim().toLowerCase();if(e.endsWith("as time"))return s.TIMESERIES;if(e.endsWith("as log_time"))return s.LOGS}return s.TABLE}return t};var Ue=c(7799);const Me=["INTERVAL"];function He(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 Ge(e,s,t){return s in e?Object.defineProperty(e,s,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[s]=t,e}function ze(e){for(var s=1;s{const s="150px",{query:r,onRunQuery:a,onChange:n,datasource:o}=e,[l,i]=(0,xe.useState)(),[c,p]=(0,xe.useState)({height:s,icon:"plus",on:r.expand||!1}),m={databases:()=>o.fetchDatabases(),tables:e=>o.fetchTables(e),fields:(e,s)=>o.fetchFields(e,s),defaultDatabase:o.getDefaultDatabase()},u=(b=function*(e,s){const t=yield function(e,s,t){return Re.apply(this,arguments)}(e,m,s);return Promise.resolve({suggestions:t})},_=function(){var e=this,s=arguments;return new Promise((function(t,r){var a=b.apply(e,s);function n(e){He(a,t,r,n,o,"next",e)}function o(e){He(a,t,r,n,o,"throw",e)}n(void 0)}))},function(e,s){return _.apply(this,arguments)});var b,_;return we().createElement("div",{className:Ne.Common.wrapper},we().createElement("a",{onClick:()=>(()=>{const e=r,t=!c.on,a=t?"minus":"plus";if(n(We(ze({},e),{expand:t})),l)if(t){l.expanded=!0;const e=Qe(l);p({height:`${e}px`,on:t,icon:a})}else l.expanded=!1,p({height:s,icon:a,on:t})})(),className:Ne.Common.expand,"data-testid":ge.components.QueryEditor.CodeEditor.Expand},we().createElement("i",{className:`fa fa-${c.icon}`})),we().createElement(R.CodeEditor,{"aria-label":"SQL",height:c.height,language:"sql",value:r.rawSql||"",onSave:e=>{const s=Be(e,r.selectedFormat);n(We(ze({},r),{rawSql:e,format:s,queryType:t.SQL})),a()},showMiniMap:!1,showLineNumbers:!0,onBlur:e=>n(We(ze({},r),{rawSql:e})),onEditorDidMount:e=>(e=>{const s=function(e,s,t){return s.updateOptions({fixedOverflowWidgets:!0,scrollBeyondLastLine:!1}),void 0!==monaco.languages.getLanguages().find((s=>s.id===e))||(monaco.languages.register({id:e}),monaco.languages.registerCompletionItemProvider("sql",{triggerCharacters:[" ","$",".",","],provideCompletionItems:(r=function*(e,s){const r=e.getWordUntilPosition(s),a=e.getValueInRange({startLineNumber:1,startColumn:1,endLineNumber:s.lineNumber,endColumn:s.column}),n={startLineNumber:s.lineNumber,endLineNumber:s.lineNumber,startColumn:r.startColumn,endColumn:r.endColumn};return t(a,n)},a=function(){var e=this,s=arguments;return new Promise((function(t,a){var n=r.apply(e,s);function o(e){Te(n,t,a,o,l,"next",e)}function l(e){Te(n,t,a,o,l,"throw",e)}o(void 0)}))},function(e,s){return a.apply(this,arguments)})})),monaco.editor;var r,a}("chSql",e,u);e.expanded=r.expand,e.onDidChangeModelDecorations((s=>{if(e.expanded){const s=Qe(e);p({height:`${s}px`,on:!0,icon:"minus"})}})),e.onKeyUp((t=>{if(o.settings.jsonData.validate){((e,s,t)=>{const r=function(e){try{return Ue.parse(e),{valid:!0}}catch(s){const t=s,r=t.message.split("\n"),a=t.hash.loc,n=e.split("\n"),o=n[a.first_line-1],l=o.substring(a.first_column,a.last_column);if(Me.includes(l.toUpperCase()))return{valid:!0};if(o.trim()===l){const e=n[a.first_line];if(null==e?void 0:e.trim().startsWith("$"))return{valid:!0}}return o.substring(a.last_column+1).trim().startsWith("$")?{valid:!0}:{valid:!1,error:{startLine:a.first_line,endLine:a.last_line,startCol:a.first_column+1,endCol:a.last_column+1,message:s.message,expected:r[3]}}}}(e);if(r.valid)t.setModelMarkers(s,"clickhouse",[]);else{const e=r.error;t.setModelMarkers(s,"clickhouse",[{startLineNumber:e.startLine,startColumn:e.startCol,endLineNumber:e.endLine,endColumn:e.endCol,message:e.expected,severity:8}])}})(e.getValue(),e.getModel(),s)}})),i(e)})(e)}))},Qe=e=>{var s;if(!e.getDomNode())return;const t=(null===(s=e.getModel())||void 0===s?void 0:s.getLineCount())||1;return e.getTopForLineNumber(t+1)+40};var Ve=c(3533),Ye=c.n(Ve);function Je(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)}const Xe=e=>{const{datasource:s,onTableChange:t,database:r,table:a}=e,[n,o]=(0,xe.useState)([]),{label:l,tooltip:i}=ge.components.QueryEditor.QueryBuilder.FROM;return(0,xe.useEffect)((()=>{function e(){var t;return t=function*(){const e=yield s.fetchTables(r),t=e.map((e=>({label:e,value:e})));a&&!e.find((e=>e===a))&&t.push({label:a,value:a}),t.push({label:"-- Choose --",value:""}),o(t)},e=function(){var e=this,s=arguments;return new Promise((function(r,a){var n=t.apply(e,s);function o(e){Je(n,r,a,o,l,"next",e)}function l(e){Je(n,r,a,o,l,"throw",e)}o(void 0)}))},e.apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[s,r,a]),we().createElement(we().Fragment,null,we().createElement(R.InlineFormLabel,{width:8,className:"query-keyword",tooltip:i},l),we().createElement(R.Select,{className:`width-15 ${Ne.Common.inlineSelect}`,onChange:e=>(e=>{t(e)})(e.value?e.value:""),options:n,value:a,menuPlacement:"bottom",allowCustomValue:!0}))},Ze=e=>{const{options:s,label:t,tooltip:a}=ge.components.QueryEditor.QueryBuilder.TYPES,n=[{value:r.List,label:s.LIST},{value:r.Aggregate,label:s.AGGREGATE},{value:r.Trend,label:s.TREND}];return we().createElement(we().Fragment,null,we().createElement(R.InlineFormLabel,{width:6,className:"query-keyword",tooltip:a},t),we().createElement(R.RadioButtonGroup,{options:n,value:e.mode,onChange:s=>e.onModeChange(s)}))},es=e=>{const s=(e.fieldsList||[]).map((e=>({label:e.label,value:e.name}))),[t,r]=(0,xe.useState)([]),[a,n]=(0,xe.useState)(!1),o=[],[l,i]=(0,xe.useState)(e.fields||[]),{label:c,tooltipTable:p}=ge.components.QueryEditor.QueryBuilder.SELECT;(0,xe.useEffect)((()=>{if(0===e.fieldsList.length)return;i(e.fields);const s=ss(e.fields,e.fieldsList);r(s)}),[e.fieldsList,e.fields]);return we().createElement("div",{className:"gf-form"},we().createElement(R.InlineFormLabel,{width:8,className:"query-keyword",tooltip:p},c),we().createElement("div",{"data-testid":"query-builder-fields-multi-select-container",className:Ne.Common.selectWrapper},we().createElement(R.MultiSelect,{options:[...s,...o,...t],value:l&&l.length>0?l:[],isOpen:a,onOpenMenu:()=>n(!0),onCloseMenu:()=>n(!1),onChange:s=>{n(!1),(s=>{const t=(e=>o.map((e=>e.value)).includes(e[0])||o.map((e=>e.value)).includes(e[e.length-1])?[e[e.length-1]]:e)(s);i(t);const a=ss(s,e.fieldsList);r(a)})(s.map((e=>e.value)))},onBlur:()=>{e.onFieldsChange(l)},allowCustomValue:!0,menuPlacement:"bottom"})))};function ss(e,s){return e.filter((e=>-1===s.findIndex((s=>s.name===e)))).map((e=>({label:e,value:e})))}function ts(e,s,t){return s in e?Object.defineProperty(e,s,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[s]=t,e}function rs(e){for(var s=1;s{const s=(e.fieldsList||[]).map((e=>({label:e.label,value:e.name}))),[t,r]=(0,xe.useState)(!1),{metric:n,index:o,metrics:l,onMetricsChange:i}=e,[c,p]=(0,xe.useState)(n.alias||""),{ALIAS:m}=ge.components.QueryEditor.QueryBuilder.AGGREGATES,u=[{value:a.Count,label:"Count"},{value:a.Sum,label:"Sum"},{value:a.Min,label:"Min"},{value:a.Max,label:"Max"},{value:a.Average,label:"Average"},{value:a.Any,label:"Any"}];return we().createElement(we().Fragment,null,we().createElement(R.Select,{width:20,className:Ne.Common.inlineSelect,options:u,onChange:e=>(e=>{const s=[...l].map(((s,t)=>as(rs({},s),{aggregation:t===o?e:s.aggregation})));i(s)})(e.value),value:n.aggregation,menuPlacement:"bottom"}),we().createElement(R.Select,{width:28,className:Ne.Common.inlineSelect,options:s,isOpen:t,onOpenMenu:()=>r(!0),onCloseMenu:()=>r(!1),onChange:e=>{r(!1);const s=[...l].map(((s,t)=>as(rs({},s),{field:t===o?e.value:s.field})));i(s)},value:n.field,menuPlacement:"bottom"}),we().createElement(R.InlineFormLabel,{width:2,className:"query-keyword"},m.label),we().createElement(R.Input,{width:20,value:c,onChange:e=>p(e.currentTarget.value),onBlur:()=>{const e=[...l].map(((e,s)=>as(rs({},e),{alias:s===o?c:e.alias})));i(e)},placeholder:"alias"}))},os=e=>{const{metrics:s,onMetricsChange:t,fieldsList:r=[]}=e,{label:n,tooltipAggregate:o,AddLabel:l,RemoveLabel:i}=ge.components.QueryEditor.QueryBuilder.AGGREGATES;return we().createElement(we().Fragment,null,s.map(((e,a)=>we().createElement("div",{className:"gf-form",key:a},0===a?we().createElement(R.InlineFormLabel,{width:8,className:"query-keyword",tooltip:o},n):we().createElement("div",{className:`width-8 ${Ne.Common.firstLabel}`}),we().createElement(ns,{fieldsList:r,index:a,metric:e,metrics:s,onMetricsChange:t}),s.length>1&&we().createElement(R.Button,{icon:"trash-alt",size:"sm",variant:"destructive",className:Ne.Common.smallBtn,onClick:()=>(e=>{const r=[...s];r.splice(e,1),t(r)})(a)},i)))),we().createElement("div",{className:"gf-form"},we().createElement("div",{className:`width-8 ${Ne.Common.firstLabel}`}),we().createElement(R.Button,{icon:"plus-circle",size:"sm",variant:"secondary",className:Ne.Common.smallBtn,onClick:()=>{const e={field:"",aggregation:a.Count};t([...s,e])}},l)))},ls=e=>{const{label:s,tooltip:t}=e.labelAndTooltip,r=(e.fieldsList||[]).filter((s=>e.timeFieldTypeCheckFn(s.type))).map((e=>({label:e.label,value:e.name})));return we().createElement("div",{className:"gf-form"},we().createElement(R.InlineFormLabel,{width:8,className:"query-keyword",tooltip:t},s),we().createElement(R.Select,{options:r,width:20,onChange:s=>e.onTimeFieldChange(s.value,(s=>{const t=e.fieldsList.find((e=>e.name===s));return t?t.type:""})(s.value)),value:e.timeField,menuPlacement:"bottom"}))};function is(e,s,t){return s in e?Object.defineProperty(e,s,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[s]=t,e}function cs(e){for(var s=1;s"},{value:o.GreaterThanOrEqual,label:">="},{value:o.Like,label:"LIKE"},{value:o.NotLike,label:"NOT LIKE"},{value:o.In,label:"IN"},{value:o.NotIn,label:"NOT IN"},{value:o.IsNull,label:"IS NULL"},{value:o.IsNotNull,label:"IS NOT NULL"},{value:o.WithInGrafanaTimeRange,label:"WITHIN DASHBOARD TIME RANGE"},{value:o.OutsideGrafanaTimeRange,label:"OUTSIDE DASHBOARD TIME RANGE"}],_s=[{value:"today()",label:"TODAY"},{value:"yesterday()",label:"YESTERDAY"},{value:"now()",label:"NOW"},{value:"GRAFANA_START_TIME",label:"DASHBOARD START TIME"},{value:"GRAFANA_END_TIME",label:"DASHBOARD END TIME"}],ys={filterType:"custom",condition:"AND",key:"Id",type:"id",operator:o.IsNotNull},$s=e=>{const[s,t]=(0,xe.useState)(e.value||0);return we().createElement("div",{"data-testid":"query-builder-filters-number-value-container"},we().createElement(R.Input,{"data-testid":"query-builder-filters-number-value-input",type:"number",value:s,onChange:e=>t(e.currentTarget.valueAsNumber||0),onBlur:()=>e.onChange(s)}))},ds=e=>{const[s,t]=(0,xe.useState)(e.value||"");return we().createElement("div",{"data-testid":"query-builder-filters-single-string-value-container"},we().createElement(R.Input,{type:"text",value:s,onChange:e=>t(e.currentTarget.value),onBlur:()=>e.onChange(s)}))},fs=e=>{const[s,t]=(0,xe.useState)(e.value||[]);return we().createElement("div",{"data-testid":"query-builder-filters-multi-string-value-container"},we().createElement(R.Input,{type:"text",value:s.join(","),placeholder:"comma separated values",onChange:e=>t((e.currentTarget.value||"").split(",")),onBlur:()=>e.onChange(s)}))},hs=e=>{const{filter:s,onFilterChange:t,fieldsList:r}=e,a=()=>{const e=r.find((e=>e.name===s.key));return(null==e?void 0:e.picklistValues)||[]};if(J(s))return we().createElement(we().Fragment,null);if(X(s)){const e=e=>{t(ps(cs({},s),{value:e}))};return we().createElement("div",{"data-testid":"query-builder-filters-boolean-value-container"},we().createElement(R.RadioButtonGroup,{options:ms,value:s.value,onChange:s=>e(s)}))}if(Z(s))return we().createElement($s,{value:s.value,onChange:e=>t(ps(cs({},s),{value:e}))});if(se(s)){const e=e=>{t(ps(cs({},s),{value:e}))};return ee(s)?null:we().createElement("div",{"data-testid":"query-builder-filters-date-value-container"},we().createElement(R.Select,{value:s.value||"TODAY",onChange:s=>e(s.value),options:[..._s]}))}if(te(s)){const e=e=>{t(ps(cs({},s),{value:e}))};return"picklist"!==s.type||s.operator!==o.Equals&&s.operator!==o.NotEquals?we().createElement(ds,{value:s.value,onChange:e}):we().createElement("div",{"data-testid":"query-builder-filters-single-picklist-value-container"},we().createElement(R.Select,{value:s.value,onChange:s=>e(s.value),options:a()}))}if(re(s)){const e=e=>{t(ps(cs({},s),{value:e}))};return"picklist"===s.type?we().createElement("div",{"data-testid":"query-builder-filters-multi-picklist-value-container"},we().createElement(R.MultiSelect,{value:s.value,options:a(),onChange:s=>e(s.map((e=>e.value)))})):we().createElement(fs,{value:s.value,onChange:e})}return we().createElement(we().Fragment,null)},xs=e=>{const{index:s,filter:t,fieldsList:r,onFilterChange:a}=e,[n,l]=(0,xe.useState)(!1);return we().createElement(we().Fragment,null,0!==s&&we().createElement(R.RadioButtonGroup,{options:us,value:t.condition,onChange:e=>(e=>{let r=t;r.condition=e,a(s,r)})(e)}),we().createElement(R.Select,{value:t.key,width:40,className:Ne.Common.inlineSelect,options:(()=>{const e=(t.restrictToFields||r).map((e=>({label:e.label,value:e.name})));return(null==t?void 0:t.key)&&!e.find((e=>e.value===t.key))&&e.push({label:t.key,value:t.key}),e})(),isOpen:n,onOpenMenu:()=>l(!0),onCloseMenu:()=>l(!1),onChange:e=>(e=>{l(!1);const n=r.find((s=>s.name===e));let i,c=null;if(n)c={key:n.name,type:n.type};else{const s=r.find((s=>s.type.startsWith("Map")&&e.startsWith(s.name)&&new RegExp(`^${s.name}\\[['"].+['"]\\]$`).test(e)));if(s){var p;const t=null===(p=/^Map\(\w+, (\w+)\)$/.exec(s.type))||void 0===p?void 0:p[1];t&&(c={key:e,type:t})}}c&&(i=t.restrictToFields?{filterType:"custom",key:c.key,type:"datetime",condition:t.condition||"AND",operator:o.WithInGrafanaTimeRange,restrictToFields:t.restrictToFields}:W(c.type)?{filterType:"custom",key:c.key,type:"boolean",condition:t.condition||"AND",operator:o.Equals,value:!1}:Q(c.type)?{filterType:"custom",key:c.key,type:c.type,condition:t.condition||"AND",operator:o.Equals,value:"TODAY"}:{filterType:"custom",key:c.key,type:c.type,condition:t.condition||"AND",operator:o.IsNotNull},a(s,i))})(e.value),allowCustomValue:!0,menuPlacement:"bottom"}),we().createElement(R.Select,{value:t.operator,width:34,className:Ne.Common.inlineSelect,options:((e="string")=>W(e)?bs.filter((e=>[o.Equals,o.NotEquals].includes(e.value))):K(e)?bs.filter((e=>[o.IsNull,o.IsNotNull,o.Equals,o.NotEquals,o.LessThan,o.LessThanOrEqual,o.GreaterThan,o.GreaterThanOrEqual].includes(e.value))):Q(e)?bs.filter((e=>[o.IsNull,o.IsNotNull,o.Equals,o.NotEquals,o.LessThan,o.LessThanOrEqual,o.GreaterThan,o.GreaterThanOrEqual,o.WithInGrafanaTimeRange,o.OutsideGrafanaTimeRange].includes(e.value))):bs.filter((e=>[o.IsNull,o.IsNotNull,o.Equals,o.NotEquals,o.Like,o.NotLike,o.In,o.NotIn].includes(e.value))))(t.type),onChange:e=>(e=>{let r=t;r.operator=e,re(r)&&(Array.isArray(r.value)||(r.value=[r.value||""])),a(s,r)})(e.value),menuPlacement:"bottom"}),we().createElement(hs,{filter:t,onFilterChange:e=>{a(s,e)},fieldsList:r}))},ws=e=>{const{filters:s=[],onFiltersChange:t,fieldsList:r=[]}=e,{label:a,tooltip:n,AddLabel:o,RemoveLabel:l}=ge.components.QueryEditor.QueryBuilder.WHERE,i=()=>{t([...s,cs({},ys)])},c=(e,r)=>{const a=[...s];a[e]=r,t(a)};return we().createElement(we().Fragment,null,0===s.length&&we().createElement("div",{className:"gf-form"},we().createElement(R.InlineFormLabel,{width:8,className:"query-keyword",tooltip:n},a),we().createElement(R.Button,{"data-testid":"query-builder-filters-add-button",icon:"plus-circle",variant:"secondary",size:"sm",className:Ne.Common.smallBtn,onClick:i},o)),s.map(((e,o)=>we().createElement("div",{className:"gf-form",key:o},0===o?we().createElement(R.InlineFormLabel,{width:8,className:"query-keyword",tooltip:n},a):we().createElement("div",{className:`width-8 ${Ne.Common.firstLabel}`}),we().createElement(xs,{fieldsList:r,filter:e,onFilterChange:c,index:o}),we().createElement(R.Button,{"data-testid":"query-builder-filters-remove-button",icon:"trash-alt",variant:"destructive",size:"sm",className:Ne.Common.smallBtn,onClick:()=>(e=>{const r=[...s];r.splice(e,1),t(r)})(o)},l)))),0!==s.length&&we().createElement("div",{className:"gf-form"},we().createElement("div",{className:`width-8 ${Ne.Common.firstLabel}`}),we().createElement(R.Button,{"data-testid":"query-builder-filters-inline-add-button",icon:"plus-circle",variant:"secondary",size:"sm",className:Ne.Common.smallBtn,onClick:i},o)))},ks=e=>{const s=(e.fieldsList||[]).map((e=>({label:e.label,value:e.name}))),[t,r]=(0,xe.useState)(!1),[a,n]=(0,xe.useState)(e.groupBy||[]),{label:o,tooltip:l}=ge.components.QueryEditor.QueryBuilder.GROUP_BY;return a.filter((e=>!s.some((s=>s.value===e)))).forEach((e=>s.push({value:e,label:e}))),we().createElement("div",{className:"gf-form"},we().createElement(R.InlineFormLabel,{width:8,className:"query-keyword",tooltip:l},o),we().createElement("div",{"data-testid":"query-builder-group-by-multi-select-container",className:Ne.Common.selectWrapper},we().createElement(R.MultiSelect,{options:s,placeholder:"(Optional) Click here to choose",isOpen:t,onOpenMenu:()=>r(!0),onCloseMenu:()=>r(!1),onChange:e=>{r(!1),n(e.map((e=>e.value)))},onBlur:()=>e.onGroupByChange(a),value:a,allowCustomValue:!0,menuPlacement:"bottom"})))};function vs(e,s,t){return s in e?Object.defineProperty(e,s,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[s]=t,e}function gs(e){for(var s=1;s{const s=e.fieldsList||[],{index:t,orderByItem:r}=e,a=[{value:n.ASC,label:"ASC"},{value:n.DESC,label:"DESC"}];return we().createElement(we().Fragment,null,we().createElement(R.Select,{value:r.name,className:Ne.Common.inlineSelect,width:20,options:s,onChange:s=>(s=>{const r=[...e.orderBy].map(((e,r)=>As(gs({},e),{name:r===t?s:e.name})));e.onOrderByItemsChange(r)})(s.value),allowCustomValue:!0,menuPlacement:"bottom"}),we().createElement(R.Select,{value:r.dir,className:Ne.Common.inlineSelect,width:12,options:a,onChange:s=>(s=>{const r=[...e.orderBy].map(((e,r)=>As(gs({},e),{dir:r===t?s:e.dir})));e.onOrderByItemsChange(r)})(s.value),menuPlacement:"bottom"}))},Os=e=>{const s=e.fieldsList||[],{label:t,tooltip:r,AddLabel:a,RemoveLabel:o}=ge.components.QueryEditor.QueryBuilder.ORDER_BY,l=()=>{var t;const r=[...e.orderBy];r.push({name:(null===(t=s[0])||void 0===t?void 0:t.value)||"Name",dir:n.ASC}),e.onOrderByItemsChange(r)};return 0===s.length?null:we().createElement(we().Fragment,null,0===e.orderBy.length?we().createElement("div",{className:"gf-form"},we().createElement(R.InlineFormLabel,{width:8,className:"query-keyword",tooltip:r},t),we().createElement(R.Button,{"data-testid":"query-builder-orderby-add-button",icon:"plus-circle",variant:"secondary",size:"sm",onClick:l,className:Ne.Common.smallBtn},a)):we().createElement(we().Fragment,null,e.orderBy.map(((s,a)=>we().createElement("div",{className:"gf-form",key:a,"data-testid":"query-builder-orderby-item-wrapper"},0===a?we().createElement(R.InlineFormLabel,{width:8,className:"query-keyword","data-testid":"query-builder-orderby-item-label",tooltip:r},t):we().createElement("div",{className:`width-8 ${Ne.Common.firstLabel}`}),we().createElement(Es,{index:a,orderBy:e.orderBy,orderByItem:s,onOrderByItemsChange:e.onOrderByItemsChange,fieldsList:e.fieldsList}),we().createElement(R.Button,{"data-testid":"query-builder-orderby-remove-button",className:Ne.Common.smallBtn,variant:"destructive",size:"sm",icon:"trash-alt",onClick:()=>(s=>{const t=[...e.orderBy];t.splice(s,1),e.onOrderByItemsChange(t)})(a)},o)))),we().createElement("div",{className:"gf-form"},we().createElement("div",{className:`width-8 ${Ne.Common.firstLabel}`}),we().createElement(R.Button,{"data-testid":"query-builder-orderby-inline-add-button",icon:"plus-circle",variant:"secondary",size:"sm",onClick:l,className:Ne.Common.smallBtn},a))))},Ts=(e,s)=>{var t;let a=[];switch(e.mode){case r.Aggregate:a=[...(e.fields||[]).map((e=>({value:e,label:e}))),...(e.metrics||[]).map((e=>({value:`${e.aggregation}(${e.field})`,label:`${e.aggregation}(${e.field})`}))),...(e.groupBy||[]).map((e=>({value:e,label:e})))];break;case r.List:default:a=s.map((e=>({value:e.name,label:e.label})))}return null===(t=e.orderBy)||void 0===t||t.filter((e=>!a.some((s=>s.value===e.name)))).forEach((e=>a.push({value:e.name,label:e.name}))),a},Ss=e=>{const[s,t]=(0,xe.useState)(e.limit||10),{label:r,tooltip:a}=ge.components.QueryEditor.QueryBuilder.LIMIT;return we().createElement("div",{className:"gf-form"},we().createElement(R.InlineFormLabel,{width:8,className:"query-keyword",tooltip:a},r),we().createElement(R.Input,{width:10,value:s,type:"number",min:1,onChange:e=>t(e.currentTarget.valueAsNumber),onBlur:()=>e.onLimitChange(s)}))};function Cs(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)}const Ns=e=>{const{datasource:s,onChange:t,value:r}=e,[a,n]=(0,xe.useState)([]),{label:o,tooltip:l}=ge.components.QueryEditor.QueryBuilder.DATABASE;(0,xe.useEffect)((()=>{function e(){var t;return t=function*(){const e=yield s.fetchDatabases(),t=e.map((e=>({label:e,value:e})));r&&!e.find((e=>e===r))&&t.push({label:r,value:r}),n(t)},e=function(){var e=this,s=arguments;return new Promise((function(r,a){var n=t.apply(e,s);function o(e){Cs(n,r,a,o,l,"next",e)}function l(e){Cs(n,r,a,o,l,"throw",e)}o(void 0)}))},e.apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[s,r]);const i=s.settings.jsonData.defaultDatabase,c=null!=r?r:i;return we().createElement(we().Fragment,null,we().createElement(R.InlineFormLabel,{width:8,className:"query-keyword",tooltip:l},o),we().createElement(R.Select,{className:`width-15 ${Ne.Common.inlineSelect}`,onChange:e=>t(e.value),options:a,value:c,menuPlacement:"bottom",allowCustomValue:!0}))},Ls=e=>{const{label:s,tooltip:t}=ge.components.QueryEditor.QueryBuilder.LOG_LEVEL_FIELD,r=(e.fieldsList||[]).filter((e=>"*"!==e.name)).map((e=>({label:e.label,value:e.name})));return r.length&&r.push({label:"-",value:void 0}),we().createElement("div",{className:"gf-form"},we().createElement(R.InlineFormLabel,{width:8,className:"query-keyword",tooltip:t},s),we().createElement(R.Select,{options:r,width:20,onChange:s=>e.onLogLevelFieldChange(s.value),menuPlacement:"bottom"}))};function Is(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 Rs(e){return function(){var s=this,t=arguments;return new Promise((function(r,a){var n=e.apply(s,t);function o(e){Is(n,r,a,o,l,"next",e)}function l(e){Is(n,r,a,o,l,"throw",e)}o(void 0)}))}}function qs(e,s,t){return s in e?Object.defineProperty(e,s,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[s]=t,e}function js(e){for(var s=1;s{const[t,a]=(0,xe.useState)([]),n=Ye()(e.builderOptions,u.builderOptions);(0,xe.useEffect)((()=>{const s=(t=Rs((function*(s,t){e.datasource.fetchFieldsFull(s,t).then(function(){var s=Rs((function*(s){var t;s.push({name:"*",label:"ALL",type:"string",picklistValues:[]}),a(s);const i=s.filter((e=>V(e.type)));if(i.length>0){const e={operator:o.WithInGrafanaTimeRange,filterType:"custom",key:i[0].name,type:"datetime",condition:"AND",restrictToFields:i};l([e])}if((null===(t=n.fields)||void 0===t?void 0:t.length)>0){const t=n.fields[0],a=s.filter((e=>Q(e.type))).find((e=>e.name===t));if(a){const s=Ps(js({},n),{timeField:a.name,timeFieldType:a.type,mode:r.Trend,fields:n.fields.slice(1,n.fields.length)});e.onBuilderOptionsChange(s)}}}));return function(e){return s.apply(this,arguments)}}()).catch((e=>{throw console.error(e),e}))})),function(e,s){return t.apply(this,arguments)});var t;n.table&&s(n.database,n.table)}),[e.datasource,n.table]);const l=(s=[])=>{const t=Ps(js({},n),{filters:s});e.onBuilderOptionsChange(t)},c=(s="",t="")=>{const r=Ps(js({},n),{timeField:s,timeFieldType:t});e.onBuilderOptionsChange(r)},p=(()=>{const e=[];return t.forEach((s=>{e.push(s)})),e})();return n?we().createElement(we().Fragment,null,we().createElement("div",{className:"gf-form"},we().createElement(Ns,{datasource:e.datasource,value:n.database,onChange:(s="")=>{a([]);const t=Ps(js({},n),{database:s,table:"",fields:[],filters:[],orderBy:[],timeField:void 0,logLevelField:void 0});e.onBuilderOptionsChange(t)}}),we().createElement(Ze,{mode:n.mode,onModeChange:s=>{if(s===r.List){const t=Ps(js({},n),{mode:s,fields:n.fields||[],orderBy:[]});e.onBuilderOptionsChange(t)}else if(s===r.Aggregate){const t=Ps(js({},n),{mode:s,orderBy:[],metrics:n.metrics||[]});e.onBuilderOptionsChange(t)}else if(s===r.Trend){const s=Ps(js({},n),{mode:r.Trend,timeField:n.timeField||"",timeFieldType:n.timeFieldType||"datetime",metrics:n.metrics||[]});e.onBuilderOptionsChange(s)}}})),we().createElement("div",{className:"gf-form"},we().createElement(Xe,{datasource:e.datasource,database:n.database,table:n.table,onTableChange:(s="")=>{const t=Ps(js({},n),{table:s,fields:[],filters:[],orderBy:[],timeField:void 0,logLevelField:void 0});e.onBuilderOptionsChange(t)}})),n.mode===r.Trend&&we().createElement(ls,{timeField:n.timeField,timeFieldType:n.timeFieldType,onTimeFieldChange:c,fieldsList:p,timeFieldTypeCheckFn:Q,labelAndTooltip:ge.components.QueryEditor.QueryBuilder.TIME_FIELD}),n.mode===r.List&&e.format===s.LOGS&&e.app===i.CoreApp.Explore&&we().createElement(we().Fragment,null,we().createElement(ls,{timeField:n.timeField,timeFieldType:n.timeFieldType,onTimeFieldChange:c,fieldsList:p,timeFieldTypeCheckFn:V,labelAndTooltip:ge.components.QueryEditor.QueryBuilder.LOGS_VOLUME_TIME_FIELD}),we().createElement(Ls,{fieldsList:p,onLogLevelFieldChange:(s="")=>{const t=Ps(js({},n),{logLevelField:s});e.onBuilderOptionsChange(t)}})),n.mode!==r.Trend&&we().createElement(es,{fields:n.fields||[],onFieldsChange:(s=[])=>{const t=Ps(js({},n),{fields:s});e.onBuilderOptionsChange(t)},fieldsList:p}),(n.mode===r.Aggregate||n.mode===r.Trend)&&we().createElement(os,{metrics:n.metrics||[],onMetricsChange:(s=[])=>{const t=Ps(js({},n),{metrics:s});e.onBuilderOptionsChange(t)},fieldsList:p}),we().createElement(ws,{filters:n.filters||[],onFiltersChange:l,fieldsList:p}),(n.mode===r.Aggregate||n.mode===r.Trend)&&we().createElement(ks,{groupBy:n.groupBy||[],onGroupByChange:(s=[])=>{const t=Ps(js({},n),{groupBy:s});e.onBuilderOptionsChange(t)},fieldsList:p}),we().createElement(we().Fragment,null,we().createElement(Os,{orderBy:n.orderBy||[],onOrderByItemsChange:(s=[])=>{const t=Ps(js({},n),{orderBy:s});e.onBuilderOptionsChange(t)},fieldsList:Ts(n,p)}),we().createElement(Ss,{limit:n.limit||20,onLimitChange:(s=20)=>{const t=Ps(js({},n),{limit:s});e.onBuilderOptionsChange(t)}}))):null},Ds=e=>{const{label:s,tooltip:t}=ge.components.QueryEditor.QueryBuilder.PREVIEW;return we().createElement("div",{className:"gf-form"},we().createElement(R.InlineFormLabel,{width:8,className:"query-keyword",tooltip:t},s),we().createElement("pre",null,e.sql))};function Bs(e,s,t){return s in e?Object.defineProperty(e,s,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[s]=t,e}function Us(e){for(var s=1;s{const{query:s,onChange:r}=e,{label:a,tooltip:n,options:o,switcher:l,cannotConvert:i}=ge.components.QueryEditor.Types;let c=s.queryType||(s.rawSql&&!s.queryType?t.SQL:t.Builder);const[p,m]=(0,xe.useState)(c),[b,_]=(0,xe.useState)(!1),[y,$]=(0,xe.useState)(!1),d=[{label:o.SQLEditor,value:t.SQL},{label:o.QueryBuilder,value:t.Builder}],[f,h]=(0,xe.useState)(""),x=(e,a=!1)=>{if(s.queryType!==t.SQL||e!==t.Builder||a){let a;switch(m(e),s.queryType){case t.Builder:a=s.builderOptions;break;case t.SQL:a=ie(s.rawSql)||u.builderOptions;break;default:a=u.builderOptions}e===t.SQL?r(Ms(Us({},s),{queryType:e,rawSql:le(a),meta:{builderOptions:a},format:s.format,selectedFormat:s.selectedFormat})):e===t.Builder&&r(Ms(Us({},s),{queryType:e,rawSql:le(a),builderOptions:a}))}else{const e=ie(s.rawSql);(0,w.isString)(e)?($(!0),h(e)):_(!0)}},k=()=>{x(t.Builder,!0),_(!1),$(!1)};return we().createElement(we().Fragment,null,we().createElement(R.InlineFormLabel,{width:8,className:"query-keyword",tooltip:n},a),we().createElement(R.RadioButtonGroup,{options:d,value:p,onChange:e=>x(e)}),we().createElement(R.ConfirmModal,{isOpen:b,title:l.title,body:l.body,confirmText:l.confirmText,dismissText:l.dismissText,icon:"exclamation-triangle",onConfirm:k,onDismiss:()=>_(!1)}),we().createElement(R.ConfirmModal,{title:i.title,body:`${f} \nDo you want to delete your current query and use the query builder?`,isOpen:y,icon:"exclamation-triangle",onConfirm:k,confirmText:l.confirmText,onDismiss:()=>$(!1)}))},Gs=e=>{const{onChange:t,format:r}=e,{label:a,tooltip:n,options:o}=ge.components.QueryEditor.Format;return we().createElement("div",{className:"gf-form"},we().createElement(R.InlineFormLabel,{width:8,className:"query-keyword",tooltip:n},a),we().createElement(R.Select,{className:`width-8 ${Ne.Common.inlineSelect}`,onChange:e=>t(e.value),options:[{label:o.AUTO,value:s.AUTO},{label:o.TABLE,value:s.TABLE},{label:o.TIME_SERIES,value:s.TIMESERIES},{label:o.LOGS,value:s.LOGS},{label:o.TRACE,value:s.TRACE}],value:r,menuPlacement:"bottom",allowCustomValue:!1}))};function zs(e,s,t){return s in e?Object.defineProperty(e,s,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[s]=t,e}function Ws(e){for(var s=1;s{const{query:a,onChange:n,app:o}=e,l=e=>{const o=le(e),l=a.selectedFormat===s.AUTO?e.mode===r.Trend?s.TIMESERIES:s.TABLE:a.selectedFormat;n(Ks(Ws({},a),{queryType:t.Builder,rawSql:o,builderOptions:e,format:l}))};switch(a.queryType){case t.SQL:return we().createElement("div",{"data-testid":"query-editor-section-sql"},we().createElement(Ke,e));case t.Builder:default:let s=Ws({},a);if(a.rawSql&&!a.builderOptions)return we().createElement("div",{"data-testid":"query-editor-section-sql"},we().createElement(Ke,e));if(!a.rawSql||!a.builderOptions){let{rawSql:e,builderOptions:t}=u;s=Ks(Ws({},s),{rawSql:e,builderOptions:t})}return we().createElement("div",{"data-testid":"query-editor-section-builder"},we().createElement(Fs,{datasource:e.datasource,builderOptions:s.builderOptions,onBuilderOptionsChange:l,format:s.format,app:o}),we().createElement(Ds,{sql:s.rawSql}))}},Vs=JSON.parse('{"id":"grafana-clickhouse-datasource","um":{"i8":"%VERSION%"}}');function Ys(e,s,t){return s in e?Object.defineProperty(e,s,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[s]=t,e}const Js=new i.DataSourcePlugin(de).setConfigEditor((s=>{var t;const r=(0,R.useTheme)(),{FormField:a,SecretFormField:n}=R.LegacyForms,{options:o,onOptionsChange:l}=s,{jsonData:c,secureJsonFields:p}=o,m=o.secureJsonData||{},u=p&&p.tlsCACert,b=p&&p.tlsClientCert,_=p&&p.tlsClientKey,y=[{label:"Native",value:e.NATIVE},{label:"HTTP",value:e.HTTP}],$={padding:`0 ${r.spacing.sm}`,height:`${r.spacing.formInputHeight}px`,display:"flex",alignItems:"center"},d=(e,s)=>{l(Oe(Ee({},o),{jsonData:Oe(Ee({},o.jsonData),{[e]:s})}))},f=(e,s)=>{l(Oe(Ee({},o),{jsonData:Oe(Ee({},o.jsonData),{[e]:s})}))},h=(e,s)=>{l(Oe(Ee({},o),{secureJsonData:Oe(Ee({},m),{[e]:s})}))},x=e=>{l(Oe(Ee({},o),{secureJsonFields:Oe(Ee({},p),{[e]:!1}),secureJsonData:Oe(Ee({},m),{[e]:""})}))};return we().createElement(we().Fragment,null,we().createElement("div",{className:"gf-form-group"},we().createElement("h3",null,"Server"),we().createElement("br",null),we().createElement("div",{className:"gf-form"},we().createElement(a,{name:"server",labelWidth:12,inputWidth:20,value:c.server||"",onChange:(0,i.onUpdateDatasourceJsonDataOption)(s,"server"),label:ve.ConfigEditor.ServerAddress.label,"aria-label":ve.ConfigEditor.ServerAddress.label,placeholder:ve.ConfigEditor.ServerAddress.placeholder,tooltip:ve.ConfigEditor.ServerAddress.tooltip})),we().createElement("div",{className:"gf-form"},we().createElement(a,{name:"port",labelWidth:12,inputWidth:20,type:"number",value:c.port||"",onChange:e=>{return s=e.currentTarget.value,void l(Oe(Ee({},o),{jsonData:Oe(Ee({},o.jsonData),{port:+s})}));var s},label:ve.ConfigEditor.ServerPort.label,"aria-label":ve.ConfigEditor.ServerPort.label,placeholder:ve.ConfigEditor.ServerPort.placeholder((null===(t=c.secure)||void 0===t?void 0:t.toString())||"false"),tooltip:ve.ConfigEditor.ServerPort.tooltip})),we().createElement("div",{className:"gf-form"},we().createElement(R.InlineFormLabel,{width:12,tooltip:ve.ConfigEditor.Protocol.tooltip},ve.ConfigEditor.Protocol.label),we().createElement(R.RadioButtonGroup,{options:y,disabledOptions:[],value:c.protocol||e.NATIVE,onChange:e=>{return s=e,void l(Oe(Ee({},o),{jsonData:Oe(Ee({},o.jsonData),{protocol:s})}));var s}})),we().createElement("div",{className:"gf-form"},we().createElement(R.InlineFormLabel,{width:12,tooltip:ve.ConfigEditor.Secure.tooltip},ve.ConfigEditor.Secure.label),we().createElement("div",{style:$},we().createElement(R.Switch,{id:"secure",className:"gf-form",value:c.secure||!1,onChange:e=>f("secure",e.currentTarget.checked)})))),we().createElement("div",{className:"gf-form-group"},we().createElement("h3",null,"Credentials"),we().createElement("br",null),we().createElement("div",{className:"gf-form"},we().createElement(a,{name:"user",labelWidth:12,inputWidth:20,value:c.username||"",onChange:(0,i.onUpdateDatasourceJsonDataOption)(s,"username"),label:ve.ConfigEditor.Username.label,"aria-label":ve.ConfigEditor.Username.label,placeholder:ve.ConfigEditor.Username.placeholder,tooltip:ve.ConfigEditor.Username.tooltip})),we().createElement("div",{className:"gf-form"},we().createElement(n,{name:"pwd",labelWidth:12,inputWidth:20,required:!0,value:m.password||"",isConfigured:p&&p.password,onReset:()=>{l(Oe(Ee({},o),{secureJsonFields:Oe(Ee({},o.secureJsonFields),{password:!1}),secureJsonData:Oe(Ee({},o.secureJsonData),{password:""})}))},onChange:(0,i.onUpdateDatasourceSecureJsonDataOption)(s,"password"),label:ve.ConfigEditor.Password.label,"aria-label":ve.ConfigEditor.Password.label,placeholder:ve.ConfigEditor.Password.placeholder,tooltip:ve.ConfigEditor.Password.tooltip}))),we().createElement("div",{className:"gf-form-group"},we().createElement("h3",null,"TLS / SSL Settings"),we().createElement("br",null),we().createElement("div",{className:"gf-form"},we().createElement(R.InlineFormLabel,{width:12,tooltip:ve.ConfigEditor.TLSSkipVerify.tooltip},ve.ConfigEditor.TLSSkipVerify.label),we().createElement("div",{style:$},we().createElement(R.Switch,{className:"gf-form",value:c.tlsSkipVerify||!1,onChange:e=>d("tlsSkipVerify",e.currentTarget.checked)}))),we().createElement("div",{className:"gf-form"},we().createElement(R.InlineFormLabel,{width:12,tooltip:ve.ConfigEditor.TLSClientAuth.tooltip},ve.ConfigEditor.TLSClientAuth.label),we().createElement("div",{style:$},we().createElement(R.Switch,{className:"gf-form",value:c.tlsAuth||!1,onChange:e=>d("tlsAuth",e.currentTarget.checked)})),we().createElement(R.InlineFormLabel,{width:12,tooltip:ve.ConfigEditor.TLSAuthWithCACert.tooltip},ve.ConfigEditor.TLSAuthWithCACert.label),we().createElement("div",{style:$},we().createElement(R.Switch,{className:"gf-form",value:c.tlsAuthWithCACert||!1,onChange:e=>d("tlsAuthWithCACert",e.currentTarget.checked)}))),c.tlsAuthWithCACert&&we().createElement(ke,{hasCert:!!u,onChange:e=>h("tlsCACert",e.currentTarget.value),placeholder:ve.ConfigEditor.TLSCACert.placeholder,label:ve.ConfigEditor.TLSCACert.label,onClick:()=>x("tlsCACert")}),c.tlsAuth&&we().createElement(we().Fragment,null,we().createElement(ke,{hasCert:!!b,onChange:e=>h("tlsClientCert",e.currentTarget.value),placeholder:ve.ConfigEditor.TLSClientCert.placeholder,label:ve.ConfigEditor.TLSClientCert.label,onClick:()=>x("tlsClientCert")}),we().createElement(ke,{hasCert:!!_,placeholder:ve.ConfigEditor.TLSClientKey.placeholder,label:ve.ConfigEditor.TLSClientKey.label,onChange:e=>h("tlsClientKey",e.currentTarget.value),onClick:()=>x("tlsClientKey")}))),we().createElement("div",{className:"gf-form-group"},we().createElement("h3",null,"Additional Properties"),we().createElement("br",null),we().createElement("div",{className:"gf-form"},we().createElement(a,{labelWidth:12,inputWidth:20,value:c.defaultDatabase||"",onChange:(0,i.onUpdateDatasourceJsonDataOption)(s,"defaultDatabase"),label:ve.ConfigEditor.DefaultDatabase.label,"aria-label":ve.ConfigEditor.DefaultDatabase.label,placeholder:ve.ConfigEditor.DefaultDatabase.placeholder,tooltip:ve.ConfigEditor.DefaultDatabase.tooltip})),we().createElement("div",{className:"gf-form"},we().createElement(a,{labelWidth:12,inputWidth:20,value:c.timeout||"",onChange:(0,i.onUpdateDatasourceJsonDataOption)(s,"timeout"),label:ve.ConfigEditor.Timeout.label,"aria-label":ve.ConfigEditor.Timeout.label,placeholder:ve.ConfigEditor.Timeout.placeholder,tooltip:ve.ConfigEditor.Timeout.tooltip,type:"number"})),we().createElement("div",{className:"gf-form"},we().createElement(a,{labelWidth:12,inputWidth:20,value:c.queryTimeout||"",onChange:(0,i.onUpdateDatasourceJsonDataOption)(s,"queryTimeout"),label:ve.ConfigEditor.QueryTimeout.label,"aria-label":ve.ConfigEditor.QueryTimeout.label,placeholder:ve.ConfigEditor.QueryTimeout.placeholder,tooltip:ve.ConfigEditor.QueryTimeout.tooltip,type:"number"})),we().createElement("div",{className:"gf-form"},we().createElement(R.InlineFormLabel,{width:12,tooltip:ve.ConfigEditor.Validate.tooltip},ve.ConfigEditor.Validate.label),we().createElement("div",{style:$},we().createElement(R.Switch,{className:"gf-form",value:c.validate||!1,onChange:e=>f("validate",e.currentTarget.checked)})))))})).setQueryEditor((e=>{const{query:a,onChange:n,onRunQuery:o}=e;var l;return we().createElement(we().Fragment,null,we().createElement("div",{className:"gf-form "+Ne.QueryEditor.queryType},we().createElement("span",null,we().createElement(Hs,e)),we().createElement(R.Button,{onClick:()=>(()=>{if(a.queryType===t.SQL){const e=Be(a.rawSql,a.selectedFormat);e!==a.format&&n(Ks(Ws({},a),{format:e}))}o()})()},"Run Query")),we().createElement(Gs,{format:null!==(l=a.selectedFormat)&&void 0!==l?l:s.AUTO,onChange:e=>{switch(a.queryType){case t.SQL:n(Ks(Ws({},a),{format:Be(a.rawSql,e),selectedFormat:e}));case t.Builder:default:if(e===s.AUTO){let t=a.builderOptions;const o=t&&t.mode===r.Trend?s.TIMESERIES:s.TABLE;n(Ks(Ws({},a),{format:o,selectedFormat:e}))}else n(Ks(Ws({},a),{format:e,selectedFormat:e}))}}}),we().createElement(Qs,e))}));(0,m.getAppEvents)().subscribe(i.DashboardLoadedEvent,(({payload:{dashboardId:e,orgId:s,grafanaVersion:a,queries:n}})=>{var o;const l=null===(o=n[Vs.id])||void 0===o?void 0:o.filter((e=>!e.hide));var i;(null==l?void 0:l.length)&&(i=function(e){for(var s=1;s{const s={sql_queries:0,builder_queries:0,builder_table_queries:0,builder_aggregate_queries:0,builder_time_series_queries:0};return e.forEach((e=>{switch(e.queryType){case t.SQL:s.sql_queries++;break;case t.Builder:s.builder_queries++,e.builderOptions.mode===r.Aggregate?s.builder_aggregate_queries++:e.builderOptions.mode===r.List?s.builder_table_queries++:e.builderOptions.mode===r.Trend&&s.builder_time_series_queries++}})),s})(l)),(0,m.reportInteraction)("grafana_ds_clickhouse_dashboard_loaded",i))}))})(),p})())); + `},VariablesEditor:{}},qt=[{label:a.Seconds,value:a.Seconds},{label:a.Milliseconds,value:a.Milliseconds},{label:a.Microseconds,value:a.Microseconds},{label:a.Nanoseconds,value:a.Nanoseconds}],jt=e=>{const{unit:t,onChange:s,disabled:r,inline:a}=e,{label:n,tooltip:o}=Ct.components.TraceQueryBuilder.columns.durationUnit;return He().createElement("div",{className:"gf-form"},He().createElement(T.InlineFormLabel,{width:12,className:`query-keyword ${a?Dt.QueryEditor.inlineField:""}`,tooltip:o},n),He().createElement(T.Select,{disabled:r,options:qt,value:t,onChange:e=>s(e.value),width:a?25:30,menuPlacement:"bottom"}))},Pt=e=>{const{onDefaultDatabaseChange:t,onDefaultTableChange:s,onOtelEnabledChange:n,onOtelVersionChange:o,onTraceIdColumnChange:l,onSpanIdColumnChange:i,onOperationNameColumnChange:c,onParentSpanIdColumnChange:p,onServiceNameColumnChange:m,onDurationColumnChange:u,onDurationUnitChange:b,onStartTimeColumnChange:y,onTagsColumnChange:d,onServiceTagsColumnChange:$}=e;let{defaultDatabase:_,defaultTable:h,otelEnabled:f,otelVersion:w,traceIdColumn:x,spanIdColumn:g,operationNameColumn:v,parentSpanIdColumn:k,serviceNameColumn:E,durationColumn:A,durationUnit:O,startTimeColumn:C,tagsColumn:S,serviceTagsColumn:I}=e.tracesConfig||{};const N=Ct.components.Config.TracesConfig,L=_e.find((e=>e.version===w));return f&&L&&(C=L.traceColumnMap.get(r.Time),x=L.traceColumnMap.get(r.TraceId),g=L.traceColumnMap.get(r.TraceSpanId),k=L.traceColumnMap.get(r.TraceParentSpanId),E=L.traceColumnMap.get(r.TraceServiceName),v=L.traceColumnMap.get(r.TraceOperationName),A=L.traceColumnMap.get(r.TraceDurationTime),S=L.traceColumnMap.get(r.TraceTags),I=L.traceColumnMap.get(r.TraceServiceTags),O=L.traceDurationUnit.toString()),He().createElement(ft,{title:N.title,description:N.description},He().createElement("div",{id:"traces-config"}),He().createElement(T.Field,{label:N.defaultDatabase.label,description:N.defaultDatabase.description},He().createElement(T.Input,{name:N.defaultDatabase.name,width:40,value:_||"",onChange:e=>t(e.currentTarget.value),label:N.defaultDatabase.label,"aria-label":N.defaultDatabase.label,placeholder:N.defaultDatabase.placeholder})),He().createElement(T.Field,{label:N.defaultTable.label,description:N.defaultTable.description},He().createElement(T.Input,{name:N.defaultTable.name,width:40,value:h||"",onChange:e=>s(e.currentTarget.value),label:N.defaultTable.label,"aria-label":N.defaultTable.label,placeholder:N.defaultTable.placeholder})),He().createElement(At,{title:N.columns.title,description:N.columns.description},He().createElement(Nt,{enabled:f||!1,selectedVersion:w||"",onEnabledChange:n,onVersionChange:o,wide:!0}),He().createElement(Lt,{disabled:f,label:N.columns.traceId.label,placeholder:Le(N.columns.traceId.label),tooltip:N.columns.traceId.tooltip,value:x||"",onChange:l}),He().createElement(Lt,{disabled:f,label:N.columns.spanId.label,placeholder:Le(N.columns.spanId.label),tooltip:N.columns.spanId.tooltip,value:g||"",onChange:i}),He().createElement(Lt,{disabled:f,label:N.columns.operationName.label,placeholder:Le(N.columns.operationName.label),tooltip:N.columns.operationName.tooltip,value:v||"",onChange:c}),He().createElement(Lt,{disabled:f,label:N.columns.parentSpanId.label,placeholder:Le(N.columns.parentSpanId.label),tooltip:N.columns.parentSpanId.tooltip,value:k||"",onChange:p}),He().createElement(Lt,{disabled:f,label:N.columns.serviceName.label,placeholder:Le(N.columns.serviceName.label),tooltip:N.columns.serviceName.tooltip,value:E||"",onChange:m}),He().createElement(Lt,{disabled:f,label:N.columns.durationTime.label,placeholder:Le(N.columns.durationTime.label),tooltip:N.columns.durationTime.tooltip,value:A||"",onChange:u}),He().createElement(jt,{disabled:f,unit:O||a.Nanoseconds,onChange:b}),He().createElement(Lt,{disabled:f,label:N.columns.startTime.label,placeholder:Le(N.columns.startTime.label),tooltip:N.columns.startTime.tooltip,value:C||"",onChange:y}),He().createElement(Lt,{disabled:f,label:N.columns.tags.label,placeholder:Le(N.columns.tags.label),tooltip:N.columns.tags.tooltip,value:S||"",onChange:d}),He().createElement(Lt,{disabled:f,label:N.columns.serviceTags.label,placeholder:Le(N.columns.serviceTags.label),tooltip:N.columns.serviceTags.tooltip,value:I||"",onChange:$})))},Bt={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"}}},Config:{HttpHeaderConfig:{headerEditor:"config__http-header-config__header-editor",addHeaderButton:"config__http-header-config__add-header-button",removeHeaderButton:"config__http-header-config__remove-header-button",headerSecureSwitch:"config__http-header-config__header-secure-switch",headerNameInput:"config__http-header-config__header-name-input",headerValueInput:"config__http-header-config__header-value-input"}},QueryBuilder:{expandBuilderButton:"query-builder__expand-builder-button",LogsQueryBuilder:{LogMessageLikeInput:{input:"query-builder__logs-query-builder__log-message-like-input__input"}},AggregateEditor:{sectionLabel:"query-builder__aggregate-editor__section-label",itemWrapper:"query-builder__aggregate-editor__item-wrapper",itemRemoveButton:"query-builder__aggregate-editor-item-remove-button",addButton:"query-builder__aggregate-editor__add-button"},ColumnsEditor:{multiSelectWrapper:"query-builder__columns-editor__multi-select-wrapper"},GroupByEditor:{multiSelectWrapper:"query-builder__group-by__multi-select-wrapper"},LimitEditor:{input:"query-builder__limit-editor__input"},TraceIdInput:{input:"query-builder__trace-id-input__input"}}},Mt=Bt,Ft=e=>{const{secureFields:t,onHttpHeadersChange:s}=e,r=Ht(t),[a,n]=(0,Ue.useState)(e.headers||[]),o=Ct.components.Config.HttpHeadersConfig,l=Mt.Config.HttpHeaderConfig;return He().createElement(ft,{title:o.title,description:o.description},a.map(((e,t)=>He().createElement(Ut,{key:e.name+t,name:e.name,value:e.value,secure:e.secure,isSecureConfigured:r.has(e.name),onHeaderChange:e=>((e,t)=>{const r=a.slice();t.name=t.name.trim(),r[e]=t,n(r),s(r)})(t,e),onRemove:()=>(e=>{const t=a.slice();t.splice(e,1),n(t),s(t)})(t)}))),He().createElement(T.Button,{"data-testid":l.addHeaderButton,icon:"plus-circle",variant:"secondary",size:"sm",onClick:()=>n([...a,{name:"",value:"",secure:!1}]),className:Dt.Common.smallBtn},o.addHeaderLabel))},Ut=e=>{const{onHeaderChange:t,onRemove:s}=e,[r,a]=(0,Ue.useState)(e.name),[n,o]=(0,Ue.useState)(e.value),[l,i]=(0,Ue.useState)(e.secure),[c,p]=(0,Ue.useState)(e.isSecureConfigured),m=Ct.components.Config.HttpHeadersConfig,u=Mt.Config.HttpHeaderConfig,b=()=>{t({name:r,value:n,secure:l})};let y;y=l?He().createElement(T.SecretInput,{"data-testid":u.headerValueInput,width:65,label:"","aria-label":"",placeholder:m.secureHeaderValueLabel,value:n,isConfigured:c,onReset:()=>p(!1),onChange:e=>o(e.target.value),onBlur:()=>b()}):He().createElement(T.Input,{"data-testid":u.headerValueInput,width:65,value:n,placeholder:m.insecureHeaderValueLabel,onChange:e=>o(e.target.value),onBlur:()=>b()});const d=l?m.secureHeaderValueLabel:m.insecureHeaderValueLabel;return He().createElement("div",{"data-testid":u.headerEditor},He().createElement(T.HorizontalGroup,null,He().createElement(T.Field,{label:m.headerNameLabel,"aria-label":m.headerNameLabel},He().createElement(T.Input,{"data-testid":u.headerNameInput,value:r,disabled:c,placeholder:m.headerNamePlaceholder,onChange:e=>a(e.target.value),onBlur:()=>b()})),He().createElement(T.Field,{label:d,"aria-label":d},y),!c&&He().createElement(T.Field,{label:m.secureLabel},He().createElement(T.Switch,{"data-testid":u.headerSecureSwitch,className:"gf-form",value:l,onChange:e=>i(e.currentTarget.checked),onBlur:()=>b()})),s&&He().createElement(T.Button,{"data-testid":u.removeHeaderButton,className:Dt.Common.smallBtn,variant:"destructive",size:"sm",icon:"trash-alt",onClick:s})))},Ht=e=>(0,Ue.useMemo)((()=>{const t=new Set;for(let s in e)s.startsWith("secureHttpHeaders.")&&e[s]&&t.add(s.substring(s.indexOf(".")+1));return t}),[e]);function Gt(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function Vt(e){for(var t=1;t{var t;return["boolean"].includes(null===(t=e)||void 0===t?void 0:t.toLowerCase())},es=e=>["int","float","decimal"].some((t=>{var s;return null===(s=e)||void 0===s?void 0:s.toLowerCase().includes(t)})),ts=e=>{var t,s,r;const a=null===(t=e)||void 0===t?void 0:t.toLowerCase();return(null===(s=a)||void 0===s?void 0:s.startsWith("date"))||(null===(r=a)||void 0===r?void 0:r.startsWith("nullable(date"))},ss=e=>!(Zt(e)||es(e)||ts(e)),rs=e=>ss(e.type)&&[o.In,o.NotIn].includes(e.operator);function as(s){var a,n,l,i,c;const p=f(s);if(!p)return"The query is not valid SQL.";if("select"!==p.type)return"The query is not a select statement.";if(!p.from||1!==p.from.length)return"The query has too many 'FROM' clauses.";if("table"!==p.from[0].type)return"The 'FROM' clause is not a table.";const m=p.from[0],u=function(e){if(!e)return{timeField:"",aggregates:[],columns:[]};const t=[],s=[];let r="";for(let a of e)switch(a.expr.type){case"ref":s.push(a.expr.name);break;case"call":const e=ns(a);if(!e)return{timeField:"",aggregates:[],columns:[]};(0,g.isString)(e)?r=e:t.push(e);break;default:return{timeField:"",aggregates:[],columns:[]}}return{timeField:r,aggregates:t,columns:s}}(p.columns?p.columns:null);let b={queryType:t.Table,mode:e.List,database:m.name.schema,table:m.name.name};if(u.columns&&(b.columns=u.columns.map((e=>({name:e})))),u.aggregates.length>0&&(b.mode=e.Aggregate,b.aggregates=u.aggregates),u.timeField){b.queryType=t.TimeSeries,b.mode=e.Trend;const s=b.columns||[];s.push({name:u.timeField,type:"datetime",hint:r.Time}),b.columns=s}p.where&&(b.filters=function(e,t){const s=[];let r=0,a=!1;return(0,d.astVisitor)((e=>({expr:n=>{var l;switch(null===(l=n)||void 0===l?void 0:l.type){case"binary":a=function(e,t,s,r){return"AND"===e.op||"OR"===e.op?t.unshift({condition:e.op}):Object.values(o).find((t=>e.op===t))&&(0===s&&t.unshift({}),t[s].operator=e.op,r&&t[s].operator===o.Like&&(t[s].operator=o.NotLike,r=!1)),r}(n,s,r,a),e.super().expr(n);break;case"ref":({i:r,notFlag:a}=function(e,t,s,r){var a,n;return"$__fromtime"===(null===(a=e.name)||void 0===a?void 0:a.toLowerCase())&&t[s].operator===o.GreaterThanOrEqual?(r?(t[s].operator=o.OutsideGrafanaTimeRange,r=!1):t[s].operator=o.WithInGrafanaTimeRange,t[s].type="datetime",{i:++s,notFlag:r}):"$__totime"===(null===(n=e.name)||void 0===n?void 0:n.toLowerCase())?(t.splice(s,1),{i:s,notFlag:r}):t[s].key?(t[s]=Jt(Xt({},t[s]),{value:[e.name],type:"string"}),{i:++s,notFlag:r}):(t[s].key=e.name,t[s].operator===o.IsNotNull&&s++,{i:s,notFlag:r})}(n,s,r,a));break;case"string":r=function(e,t,s){return e[t].key?(e[t]=Jt(Xt({},e[t]),{value:s.value,type:"string"}),++t):(e[t]=Jt(Xt({},e[t]),{key:s.value}),t)}(s,r,n);break;case"integer":r=function(e,t,s){return e[t].key?(e[t]=Jt(Xt({},e[t]),{value:s.value,type:"int"}),++t):(e[t]=Jt(Xt({},e[t]),{key:s.value.toString()}),t)}(s,r,n);break;case"unary":a=function(e,t,s,r){return"NOT"===e.op||(0===s&&r.unshift({}),r[s].operator=e.op,t)}(n,a,r,s),e.super().expr(n);break;case"call":r=function(e,t,s,r){const a=`${e.function.name}(${e.args.map((e=>e.name)).join(",")})`;return a===`$__timefilter(${t})`?(s.splice(r,1),r):a.startsWith("$__timefilter(")?(s[r]=Jt(Xt({},s[r]),{key:e.args[0].name,operator:o.WithInGrafanaTimeRange,type:"datetime"}),++r):(s[r]=Jt(Xt({},s[r]),{value:a,type:"datetime"}),a||r++,r)}(n,t,s,r);break;case"list":r=function(e,t,s){return e[t]=Jt(Xt({},e[t]),{value:s.expressions.map((e=>e.value)),type:"string"}),++t}(s,r,n);break;default:var i;console.error(`${null===(i=n)||void 0===i?void 0:i.type} is not supported. This is likely a bug.`)}}}))).expr(e),s}(p.where,u.timeField));const y=null===(a=p.orderBy)||void 0===a?void 0:a.map((e=>"ref"!==e.by.type||"time"===e.by.name?{}:{name:e.by.name,dir:e.order})).filter((e=>e.name));y&&y.length>0&&(b.orderBy=y),b.limit="integer"===(null===(l=p.limit)||void 0===l||null===(n=l.limit)||void 0===n?void 0:n.type)?null===(i=p.limit)||void 0===i?void 0:i.limit.value:void 0;const $=null===(c=p.groupBy)||void 0===c?void 0:c.map((e=>"ref"!==e.type||"time"===e.name?"":e.name)).filter((e=>""!==e));return $&&$.length>0&&(b.groupBy=$),b}function ns(e){if("call"!==e.expr.type)return{};let t=e.expr.args.map((e=>"ref"!==e.type?"":e.name));return t.length>1?"":Object.values(s).includes(e.expr.function.name.toLowerCase())?{aggregateType:e.expr.function.name,column:t[0],alias:null===(r=e.alias)||void 0===r?void 0:r.name}:t[0];var r}new Map([["equals",o.Equals],["contains",o.Like]]);var os=c(7206),ls=c.n(os);function is(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function cs(e){for(var t=1;t{const{query:t,onChange:s}=e,{label:r,tooltip:a,switcher:n,cannotConvert:o}=Ct.components.EditorTypeSwitcher,i=t.editorType||l.Builder,[c,p]=(0,Ue.useState)(!1),[m,u]=(0,Ue.useState)(!1),[b,d]=(0,Ue.useState)(""),$=(e,r=!1)=>{if(t.editorType!==l.SQL||e!==l.Builder||r){let r;switch(t.editorType){case l.Builder:r=t.builderOptions;break;case l.SQL:r=as(t.rawSql);break;default:r=y.builderOptions}e===l.SQL?s(ps(cs({},t),{editorType:l.SQL,queryType:r.queryType,rawSql:B(r),format:Ie(r.queryType),meta:{builderOptions:r}})):e===l.Builder&&s(ps(cs({},t),{editorType:l.Builder,rawSql:B(r),builderOptions:r}))}else{const e=as(t.rawSql);ls()(e)?(u(!0),d(e)):p(!0)}},_=()=>{$(l.Builder,!0),p(!1),u(!1)};return He().createElement("span",null,He().createElement(T.InlineFormLabel,{width:8,className:"query-keyword",tooltip:a},r),He().createElement(T.RadioButtonGroup,{options:ms,value:i,onChange:e=>$(e)}),He().createElement(T.ConfirmModal,{isOpen:c,title:n.title,body:n.body,confirmText:n.confirmText,dismissText:n.dismissText,icon:"exclamation-triangle",onConfirm:_,onDismiss:()=>p(!1)}),He().createElement(T.ConfirmModal,{title:o.title,body:`${b}\n${o.message}`,isOpen:m,icon:"exclamation-triangle",onConfirm:_,confirmText:n.confirmText,onDismiss:()=>u(!1)}))},bs=e=>{const{allColumns:t,selectedColumns:s,onSelectedColumnsChange:r,disabled:a,showAllOption:n}=e,[o,l]=(0,Ue.useState)([]),[i,c]=(0,Ue.useState)(!1),p=t.map((e=>({label:e.name,value:e.name})));n&&p.push({label:"*",value:"*"});const m=(s||[]).map((e=>({label:e.name,value:e.name}))),{label:u,tooltip:b}=Ct.components.ColumnsEditor,y=[...p,...o];return(0,Ue.useEffect)((()=>{if(0===t.length)return;const e=function(e,t){const s=new Set(e);return t.filter((e=>s.has(e.name))).map((e=>({label:e.name,value:e.name})))}(s.map((e=>e.name)),t);l(e)}),[t,s]),He().createElement("div",{className:"gf-form"},He().createElement(T.InlineFormLabel,{width:8,className:"query-keyword",tooltip:b},u),He().createElement("div",{"data-testid":Mt.QueryBuilder.ColumnsEditor.multiSelectWrapper,className:Dt.Common.selectWrapper},He().createElement(T.MultiSelect,{disabled:a,options:y,value:m,isOpen:i,onOpenMenu:()=>c(!0),onCloseMenu:()=>c(!1),onChange:e=>{c(!1);const a=new Set(e.map((e=>e.value))),n=new Set(o.map((e=>e.value))),l=new Map,i=new Map;t.forEach((e=>l.set(e.name,e))),s.forEach((e=>i.set(e.name,e)));const p=a.size>1,m=[];for(let e of a){if(p&&"*"===e)continue;const t=l.get(e),s=i.get(e);var u;s?m.push(s):m.push({name:e,type:(null===(u=t)||void 0===u?void 0:u.type)||"String",custom:n.has(e)})}r(m)},allowCustomValue:!0,menuPlacement:"bottom"})))},ys=()=>!0,ds=e=>{var t;const{allColumns:s,selectedColumn:r,onColumnChange:a,columnFilterFn:n,columnHint:o,label:l,tooltip:i,disabled:c,invalid:p,wide:m,inline:u,clearable:b}=e,y=null===(t=r)||void 0===t?void 0:t.name,d=s.filter(n||ys).map((e=>({label:e.name,value:e.name})));let $=!1;r&&!d.find((e=>e.value===r.name))&&(d.push({label:r.name,value:r.name}),$=!0);const _="query-keyword "+(u?Dt.QueryEditor.inlineField:"");return He().createElement("div",{className:"gf-form"},He().createElement(T.InlineFormLabel,{width:m?12:8,className:_,tooltip:i},l),He().createElement(T.Select,{disabled:c,invalid:p||$,options:d,value:y,placeholder:y||void 0,onChange:e=>{var t,r;if(!e||!e.value)return void a(void 0);const n=s.find((t=>t.name===e.value));a({name:(null===(t=n)||void 0===t?void 0:t.name)||e.value,type:null===(r=n)||void 0===r?void 0:r.type,hint:o})},width:m?25:20,menuPlacement:"bottom",isClearable:void 0===b||b,allowCustomValue:!0}))};function $s(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function _s(e){for(var t=1;t{const{columnOptions:t,index:s,orderByItem:r,updateOrderByItem:a,removeOrderByItem:n}=e;return He().createElement(He().Fragment,null,He().createElement(T.Select,{disabled:Boolean(r.hint),placeholder:r.hint?Ct.types.ColumnHint[r.hint]:void 0,value:r.hint?void 0:r.name,className:Dt.Common.inlineSelect,width:36,options:t,onChange:e=>a(s,hs(_s({},r),{name:e.value})),allowCustomValue:!0,menuPlacement:"bottom"}),He().createElement(T.Select,{value:r.dir,className:Dt.Common.inlineSelect,width:12,options:fs,onChange:e=>a(s,hs(_s({},r),{dir:e.value})),menuPlacement:"bottom"}),He().createElement(T.Button,{"data-testid":"query-builder-orderby-remove-button",className:Dt.Common.smallBtn,variant:"destructive",size:"sm",icon:"trash-alt",onClick:()=>n(s)}))},xs=e=>{const{orderByOptions:t,orderBy:s,onOrderByChange:r}=e,{label:a,tooltip:o,addLabel:l}=Ct.components.OrderByEditor,i=e=>{const t=s.slice();t.splice(e,1),r(t)},c=(e,t)=>{const a=s.slice();a[e]=t,r(a)};if(0===t.length)return null;const p=He().createElement(T.InlineFormLabel,{width:8,className:"query-keyword","data-testid":"query-builder-orderby-item-label",tooltip:o},a),m=He().createElement("div",{className:`width-8 ${Dt.Common.firstLabel}`});return He().createElement(He().Fragment,null,s.map(((e,s)=>{const r=`${s}-${e.name}-${e.hint||""}-${e.dir}`;return He().createElement("div",{className:"gf-form",key:r,"data-testid":"query-builder-orderby-item-wrapper"},0===s?p:m,He().createElement(ws,{columnOptions:t,index:s,orderByItem:e,updateOrderByItem:c,removeOrderByItem:i}))})),He().createElement("div",{className:"gf-form"},0===s.length?p:m,He().createElement(T.Button,{"data-testid":"query-builder-orderby-add-button",icon:"plus-circle",variant:"secondary",size:"sm",onClick:()=>{var e;const a=s.slice();a.push({name:null===(e=t[0])||void 0===e?void 0:e.value,dir:n.ASC}),r(a)},className:Dt.Common.smallBtn},l)))},gs=(e,t)=>{var s,r;let a=[];var n;(e=>{var t;return((null===(t=e.aggregates)||void 0===t?void 0:t.length)||0)>0})(e)?(null===(n=e.columns)||void 0===n||n.forEach((e=>{a.push({label:e.name,value:e.name})})),e.aggregates.forEach((e=>{let t=`${e.aggregateType}(${e.column})`,s=t;e.alias&&(t+=` as ${e.alias}`,s=e.alias),a.push({label:t,value:s})})),e.groupBy&&e.groupBy.length>0&&e.groupBy.forEach((e=>a.push({label:e,value:e})))):t.forEach((e=>a.push({label:e.name,value:e.name})));const o=new Set(a.map((e=>e.value)));return null===(r=null===(s=e.orderBy)||void 0===s?void 0:s.filter((e=>!o.has(e.name))))||void 0===r||r.forEach((e=>a.push({label:e.name,value:e.name}))),a},vs=e=>{const[t,s]=(0,Ue.useState)(e.limit||0),{label:r,tooltip:a}=Ct.components.LimitEditor;return He().createElement("div",{className:"gf-form"},He().createElement(T.InlineFormLabel,{width:8,className:"query-keyword",tooltip:a},r),He().createElement(T.Input,{"data-testid":Mt.QueryBuilder.LimitEditor.input,width:10,value:t,type:"number",min:0,onChange:e=>s(e.currentTarget.valueAsNumber),onBlur:()=>e.onLimitChange(t)}))};function ks(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function Es(e){for(var t=1;t"},{value:o.GreaterThanOrEqual,label:">="},{value:o.Like,label:"LIKE"},{value:o.NotLike,label:"NOT LIKE"},{value:o.IsEmpty,label:"IS EMPTY"},{value:o.IsNotEmpty,label:"IS NOT EMPTY"},{value:o.In,label:"IN"},{value:o.NotIn,label:"NOT IN"},{value:o.IsNull,label:"IS NULL"},{value:o.IsNotNull,label:"IS NOT NULL"}],Ss=[{value:"today()",label:"TODAY"},{value:"yesterday()",label:"YESTERDAY"},{value:"now()",label:"NOW"},{value:"GRAFANA_START_TIME",label:"DASHBOARD START TIME"},{value:"GRAFANA_END_TIME",label:"DASHBOARD END TIME"}],Is={filterType:"custom",condition:"AND",key:"",type:"",operator:o.IsAnything},Ns=e=>{const[t,s]=(0,Ue.useState)(e.value||0);return He().createElement("div",{"data-testid":"query-builder-filters-number-value-container"},He().createElement(T.Input,{"data-testid":"query-builder-filters-number-value-input",type:"number",value:t,onChange:e=>s(e.currentTarget.valueAsNumber||0),onBlur:()=>e.onChange(t)}))},Ls=e=>He().createElement("div",{"data-testid":"query-builder-filters-single-string-value-container"},He().createElement(T.Input,{"data-testid":"query-builder-filters-single-string-value-input",type:"text",defaultValue:e.value,width:70,onBlur:t=>e.onChange(t.currentTarget.value)})),Rs=e=>{const[t,s]=(0,Ue.useState)(e.value||[]);return He().createElement("div",{"data-testid":"query-builder-filters-multi-string-value-container"},He().createElement(T.Input,{type:"text",value:t.join(","),placeholder:"comma separated values",onChange:e=>s((e.currentTarget.value||"").split(",")),onBlur:()=>e.onChange(t)}))},Ds=e=>{const{filter:t,onFilterChange:s,allColumns:r}=e,a=()=>{var e;return(null===(e=r.find((e=>e.name===t.key)))||void 0===e?void 0:e.picklistValues)||[]};if((e=>[o.IsNull,o.IsNotNull].includes(e.operator))(t))return He().createElement(He().Fragment,null);if([o.IsAnything,o.IsEmpty,o.IsNotEmpty].includes(t.operator))return He().createElement(He().Fragment,null);if((e=>Zt(e.type))(t)){const e=e=>{s(Ts(Es({},t),{value:e}))};return He().createElement("div",{"data-testid":"query-builder-filters-boolean-value-container"},He().createElement(T.RadioButtonGroup,{options:As,value:t.value,onChange:t=>e(t)}))}if((e=>es(e.type))(t))return He().createElement(Ns,{value:t.value,onChange:e=>s(Ts(Es({},t),{value:e}))});if((e=>ts(e.type))(t)){if((e=>ts(e.type)&&[o.WithInGrafanaTimeRange,o.OutsideGrafanaTimeRange].includes(e.operator))(t))return null;const e=e=>{s(Ts(Es({},t),{value:e}))},r=[...Ss];return t.value&&!Ss.find((e=>e.value===t.value))&&r.push({label:t.value,value:t.value}),He().createElement("div",{"data-testid":"query-builder-filters-date-value-container"},He().createElement(T.Select,{value:t.value||"TODAY",onChange:t=>e(t.value),options:r,width:40,allowCustomValue:!0}))}if((e=>ss(e.type)&&![o.In,o.NotIn].includes(e.operator))(t)){const e=e=>{s(Ts(Es({},t),{value:e}))};return"picklist"!==t.type||t.operator!==o.Equals&&t.operator!==o.NotEquals?He().createElement(Ls,{value:t.value,onChange:e,key:t.value}):He().createElement("div",{"data-testid":"query-builder-filters-single-picklist-value-container"},He().createElement(T.Select,{value:t.value,onChange:t=>e(t.value),options:a()}))}if(rs(t)){const e=e=>{s(Ts(Es({},t),{value:e}))};return"picklist"===t.type?He().createElement("div",{"data-testid":"query-builder-filters-multi-picklist-value-container"},He().createElement(T.MultiSelect,{value:t.value,options:a(),onChange:t=>e(t.map((e=>e.value)))})):He().createElement(Rs,{value:t.value,onChange:e})}return He().createElement(He().Fragment,null)},qs=e=>{const{index:t,filter:s,allColumns:r,onFilterChange:a,removeFilter:n}=e,[l,i]=(0,Ue.useState)(!1),c=s.type.startsWith("Map"),p=((e,t,s,r)=>{const[a,n]=(0,Ue.useState)([]);(0,Ue.useEffect)((()=>{if(!(e&&t&&s&&r))return;let a=!1;return e.fetchUniqueMapKeys(t,s,r).then((e=>{a||n(e)})).catch((e=>{console.error("Failed to fetch map keys for column:",t,s,r,e)})),()=>{a=!0}}),[e,t,s,r]);const o=(0,Ue.useRef)(""),l=(0,Ue.useRef)("");return s!==o.current||r!==l.current?(o.current=s,l.current=r,n([]),[]):a})(e.datasource,c?s.key:"",e.database,e.table),m=p.map((e=>({label:e,value:e})));return s.mapKey&&!p.includes(s.mapKey)&&m.push({label:s.mapKey,value:s.mapKey}),He().createElement(T.HorizontalGroup,{wrap:!0,align:"flex-start",justify:"flex-start"},0!==t&&He().createElement(T.RadioButtonGroup,{options:Os,value:s.condition,onChange:e=>(e=>{let r=s;r.condition=e,a(t,r)})(e)}),He().createElement(T.Select,{disabled:Boolean(s.hint),placeholder:s.hint?Ct.types.ColumnHint[s.hint]:void 0,value:s.key,width:40,className:Dt.Common.inlineSelect,options:(()=>{var e;const t=(s.restrictToFields||r).map((e=>{let t=e.name;return e.type.startsWith("Map")&&(t+="[]"),{label:t,value:e.name}}));return(null===(e=s)||void 0===e?void 0:e.key)&&!t.find((e=>e.value===s.key))&&t.push({label:s.key,value:s.key}),t})(),isOpen:l,onOpenMenu:()=>i(!0),onCloseMenu:()=>i(!1),onChange:e=>(e=>{var n,l;i(!1);const c=r.find((t=>t.name===e)),p={key:(null===(n=c)||void 0===n?void 0:n.name)||e,type:(null===(l=c)||void 0===l?void 0:l.type)||"String"};let m;m=s.restrictToFields?{filterType:"custom",key:p.key||s.key,type:"datetime",condition:s.condition||"AND",operator:o.WithInGrafanaTimeRange,restrictToFields:s.restrictToFields}:Zt(p.type)?{filterType:"custom",key:p.key,type:"boolean",condition:s.condition||"AND",operator:o.Equals,value:!1}:ts(p.type)?{filterType:"custom",key:p.key,type:p.type,condition:s.condition||"AND",operator:o.Equals,value:"TODAY"}:{filterType:"custom",key:p.key,type:p.type,condition:s.condition||"AND",operator:o.IsNotNull},a(t,m)})(e.value),allowCustomValue:!0,menuPlacement:"bottom"}),c&&He().createElement(T.Select,{value:s.mapKey,placeholder:Ct.components.FilterEditor.mapKeyPlaceholder,width:40,className:Dt.Common.inlineSelect,options:m,onChange:e=>(e=>{const r=s;r.mapKey=e,a(t,r)})(e.value),allowCustomValue:!0,menuPlacement:"bottom"}),He().createElement(T.Select,{value:s.operator,width:40,className:Dt.Common.inlineSelect,options:((e="string")=>Zt(e)?Cs.filter((e=>[o.Equals,o.NotEquals].includes(e.value))):es(e)?Cs.filter((e=>[o.IsAnything,o.IsNull,o.IsNotNull,o.Equals,o.NotEquals,o.LessThan,o.LessThanOrEqual,o.GreaterThan,o.GreaterThanOrEqual].includes(e.value))):ts(e)?Cs.filter((e=>[o.IsAnything,o.IsNull,o.IsNotNull,o.Equals,o.NotEquals,o.LessThan,o.LessThanOrEqual,o.GreaterThan,o.GreaterThanOrEqual,o.WithInGrafanaTimeRange,o.OutsideGrafanaTimeRange].includes(e.value))):Cs.filter((e=>[o.IsAnything,o.Like,o.NotLike,o.In,o.NotIn,o.IsNull,o.IsNotNull,o.Equals,o.NotEquals,o.IsEmpty,o.IsNotEmpty,o.LessThan,o.LessThanOrEqual,o.GreaterThan,o.GreaterThanOrEqual].includes(e.value))))(s.type),onChange:e=>(e=>{let r=s;r.operator=e,rs(r)&&(Array.isArray(r.value)||(r.value=[r.value||""])),a(t,r)})(e.value),menuPlacement:"bottom"}),He().createElement(Ds,{filter:s,onFilterChange:e=>{a(t,e)},allColumns:r}),He().createElement(T.Button,{"data-testid":"query-builder-filters-remove-button",icon:"trash-alt",variant:"destructive",size:"sm",className:Dt.Common.smallBtn,onClick:()=>n(t)}))},js=e=>{const{filters:t=[],onFiltersChange:s,allColumns:r=[],datasource:a,database:n,table:o}=e,{label:l,tooltip:i,addLabel:c}=Ct.components.FilterEditor,p=()=>{s([...t,Es({},Is)])},m=e=>{const r=[...t];r.splice(e,1),s(r)},u=(e,r)=>{const a=[...t];a[e]=r,s(a)};return He().createElement(He().Fragment,null,0===t.length&&He().createElement("div",{className:"gf-form"},He().createElement(T.InlineFormLabel,{width:8,className:"query-keyword",tooltip:i},l),He().createElement(T.Button,{"data-testid":"query-builder-filters-add-button",icon:"plus-circle",variant:"secondary",size:"sm",className:Dt.Common.smallBtn,onClick:p},c)),t.map(((e,t)=>He().createElement("div",{className:"gf-form",key:t},0===t?He().createElement(T.InlineFormLabel,{width:8,className:"query-keyword",tooltip:i},l):He().createElement("div",{className:`width-8 ${Dt.Common.firstLabel}`}),He().createElement(qs,{allColumns:r,filter:e,onFilterChange:u,removeFilter:m,index:t,datasource:a,database:n,table:o})))),0!==t.length&&He().createElement("div",{className:"gf-form"},He().createElement("div",{className:`width-8 ${Dt.Common.firstLabel}`}),He().createElement(T.Button,{"data-testid":"query-builder-filters-inline-add-button",icon:"plus-circle",variant:"secondary",size:"sm",className:Dt.Common.smallBtn,onClick:p},c)))},Ps=e=>(e.type||"").toLowerCase().includes("date"),Bs=e=>(e.type||"").toLowerCase().includes("string")||(e.type||"").toLowerCase().includes("enum");function Ms(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function Fs(e,t){return s=>r=>{const a=function(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);s.push.apply(s,r)}return s}(Object(t)).forEach((function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(t,s))})),e}(function(e){for(var t=1;t{const[r,a]=(0,Ue.useState)([]);(0,Ue.useEffect)((()=>{if(!e||!t||!s)return;let r=!1;return e.fetchColumnsFull(t,s).then((e=>{r||a(e)})).catch((e=>{console.error(e)})),()=>{r=!0}}),[e,t,s]);const n=(0,Ue.useRef)(""),o=t+s;return o!==n.current?(n.current=o,a([]),[]):r};function Hs(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function Gs(e){for(var t=1;t({type:e,payload:t}),Ks=(e,t)=>({type:e,payload:t}),Ws=e=>Qs(zs.SetOptions,e),Ys=e=>Qs(zs.SetOtelEnabled,{meta:{otelEnabled:e}}),Xs=e=>Qs(zs.SetOtelVersion,{meta:{otelVersion:e}}),Js=e=>Ks(zs.SetColumnByHint,{column:e}),Zs=(e,t)=>{const s=er.get(t.type);if(!s)throw Error("missing function for BuilderOptionsActionType: "+t.type);return s(e,t)},er=new Map([[zs.SetOptions,(e,t)=>{const s=t.payload;return sr(e,s)}],[zs.SetAllOptions,(e,t)=>{const s=t.payload;return tr(s)}],[zs.SetQueryType,(e,t)=>{const s=t.payload.queryType;return e.queryType!==s?tr({database:e.database,table:e.table,queryType:s}):e}],[zs.SetDatabase,(e,t)=>tr({database:t.payload.database,table:"",queryType:e.queryType})],[zs.SetTable,(e,t)=>tr({database:e.database,table:t.payload.table,queryType:e.queryType})],[zs.SetOtelEnabled,(e,t)=>{var s;return sr(e,{meta:{otelEnabled:Boolean(null===(s=t.payload.meta)||void 0===s?void 0:s.otelEnabled)}})}],[zs.SetOtelVersion,(e,t)=>{var s;return sr(e,{meta:{otelVersion:null===(s=t.payload.meta)||void 0===s?void 0:s.otelVersion}})}],[zs.SetColumnByHint,(e,t)=>{const s=t.payload.column,r=(e.columns||[]).filter((e=>e.hint!==s.hint));return r.push(s),sr(e,{columns:r})}],[zs.SetBuilderMinimized,(e,t)=>{const s=t.payload.minimized;return sr(e,{meta:{minimized:s}})}]]),tr=e=>{var t;const s=y.builderOptions;return Vs(Gs({},s,e),{meta:Gs({},s.meta,null===(t=e)||void 0===t?void 0:t.meta)})},sr=(e,t)=>Vs(Gs({},e,t),{meta:Gs({},e.meta,t.meta)}),rr=e=>(0,Ue.useRef)(!Ce(e)).current,ar=e=>{var t;const{datasource:s,builderOptions:a,builderOptionsDispatch:l}=e,i=Ct.components.LogsQueryBuilder,c=Us(s,a.database,a.table),p=rr(a),m=(0,Ue.useMemo)((()=>{var e,t,s,n;return{otelEnabled:(null===(e=a.meta)||void 0===e?void 0:e.otelEnabled)||!1,otelVersion:(null===(t=a.meta)||void 0===t?void 0:t.otelVersion)||"",timeColumn:z(a,r.Time),logLevelColumn:z(a,r.LogLevel),messageColumn:z(a,r.LogMessage),selectedColumns:(null===(s=a.columns)||void 0===s?void 0:s.filter((e=>e.hint!==r.Time&&e.hint!==r.LogLevel&&e.hint!==r.LogMessage)))||[],filters:a.filters||[],orderBy:a.orderBy||[],limit:a.limit||0,logMessageLike:(null===(n=a.meta)||void 0===n?void 0:n.logMessageLike)||""}}),[a]),[u,b]=(0,Ue.useState)(0===s.getDefaultLogsColumns().size&&0===(null===(t=a.columns)||void 0===t?void 0:t.length)),y=Fs((e=>{const t=e.selectedColumns.slice();e.timeColumn&&t.push(e.timeColumn),e.logLevelColumn&&t.push(e.logLevelColumn),e.messageColumn&&t.push(e.messageColumn),l(Ws({columns:t,filters:e.filters,orderBy:e.orderBy,limit:e.limit,meta:{logMessageLike:e.logMessageLike}}))}),m);((e,t,s,r)=>{const a=(0,Ue.useRef)(!1);(0,Ue.useEffect)((()=>{if(!t||a.current)return;const n=e.getDefaultLogsDatabase()||e.getDefaultDatabase(),o=e.getDefaultLogsTable()||e.getDefaultTable(),l=e.getLogsOtelVersion(),i=e.getDefaultLogsColumns(),c=[];for(let[e,t]of i)c.push({name:t,hint:e});r(Ws({database:n,table:o||s.table,columns:c,meta:{otelEnabled:Boolean(l),otelVersion:l}})),a.current=!0}),[s.columns,s.orderBy,s.table,r,e,t])})(s,p,a,l),((e,t,s)=>{const r=(0,Ue.useRef)(e);e||(r.current=!1),(0,Ue.useEffect)((()=>{var a;if(!e||r.current)return;const n=null===(a=_e.find((e=>e.version===t)))||void 0===a?void 0:a.logColumnMap;if(!n)return;const o=[];n.forEach(((e,t)=>{o.push({name:e,hint:t})})),s(Ws({columns:o})),r.current=!0}),[e,t,s])})(m.otelEnabled,m.otelVersion,l),((e,t,s,a,n,o)=>{const l=(0,Ue.useMemo)((()=>Boolean(e.getDefaultLogsTable())&&e.getDefaultLogsColumns().has(r.Time)),[e]),i=(0,Ue.useRef)(Boolean(a)||l),c=(0,Ue.useRef)(s||"");s!==c.current&&(i.current=!1),(Boolean(a)||n)&&(c.current=s,i.current=!0),(0,Ue.useEffect)((()=>{if(i.current||0===t.length||!s)return;const e=t.filter(Ps)[0];if(!e)return;const a={name:e.name,type:e.type,hint:r.Time};o(Js(a)),c.current=s,i.current=!0}),[e,t,s,o])})(s,c,a.table,m.timeColumn,m.otelEnabled,l),((e,t,s)=>{const a=(0,Ue.useRef)(!t),l=(0,Ue.useRef)(e||"");e!==l.current&&(a.current=!1),(0,Ue.useEffect)((()=>{if(!e||a.current)return;const t=[{type:"datetime",operator:o.WithInGrafanaTimeRange,filterType:"custom",key:"",hint:r.Time,condition:"AND"},{type:"string",operator:o.IsAnything,filterType:"custom",key:"",hint:r.LogLevel,condition:"AND"}],i=[{name:"",hint:r.Time,dir:n.DESC,default:!0}];l.current=e,a.current=!0,s(Ws({filters:t,orderBy:i}))}),[e,s])})(a.table,p,l);const d=u&&He().createElement(T.Alert,{title:"",severity:"warning",buttonContent:"Close",onRemove:()=>b(!1)},He().createElement(T.VerticalGroup,null,He().createElement("div",null,"To speed up your query building, enter your default logs configuration in your ",He().createElement("a",{style:{textDecoration:"underline"},href:`/connections/datasources/edit/${encodeURIComponent(s.uid)}#logs-config`},"ClickHouse Data Source settings"))));return He().createElement("div",null,d,He().createElement(Nt,{enabled:m.otelEnabled,onEnabledChange:e=>l(Ys(e)),selectedVersion:m.otelVersion,onVersionChange:e=>l(Xs(e))}),He().createElement(bs,{disabled:m.otelEnabled,allColumns:c,selectedColumns:m.selectedColumns,onSelectedColumnsChange:y("selectedColumns")}),He().createElement("div",{className:"gf-form"},He().createElement(ds,{disabled:m.otelEnabled,allColumns:c,selectedColumn:m.timeColumn,invalid:!m.timeColumn,onColumnChange:y("timeColumn"),columnFilterFn:Ps,columnHint:r.Time,label:i.logTimeColumn.label,tooltip:i.logTimeColumn.tooltip}),He().createElement(ds,{disabled:m.otelEnabled,allColumns:c,selectedColumn:m.logLevelColumn,invalid:!m.logLevelColumn,onColumnChange:y("logLevelColumn"),columnFilterFn:Bs,columnHint:r.LogLevel,label:i.logLevelColumn.label,tooltip:i.logLevelColumn.tooltip,inline:!0})),He().createElement("div",{className:"gf-form"},He().createElement(ds,{disabled:m.otelEnabled,allColumns:c,selectedColumn:m.messageColumn,invalid:!m.messageColumn,onColumnChange:y("messageColumn"),columnFilterFn:Bs,columnHint:r.LogMessage,label:i.logMessageColumn.label,tooltip:i.logMessageColumn.tooltip})),He().createElement(xs,{orderByOptions:gs(a,c),orderBy:m.orderBy,onOrderByChange:y("orderBy")}),He().createElement(vs,{limit:m.limit,onLimitChange:y("limit")}),He().createElement(js,{filters:m.filters,onFiltersChange:y("filters"),allColumns:c,datasource:s,database:a.database,table:a.table}),He().createElement(nr,{logMessageLike:m.logMessageLike,onChange:y("logMessageLike")}))},nr=e=>{const[t,s]=(0,Ue.useState)(""),{logMessageLike:r,onChange:a}=e,{label:n,tooltip:o,clearButton:l}=Ct.components.LogsQueryBuilder.logMessageFilter;return(0,Ue.useEffect)((()=>{s(r)}),[r]),He().createElement("div",{className:"gf-form"},He().createElement(T.InlineFormLabel,{width:8,className:"query-keyword",tooltip:o},n),He().createElement(T.Input,{width:200,value:t,type:"string",onChange:e=>s(e.currentTarget.value),onBlur:()=>a(t)}),r&&He().createElement(T.Button,{"data-testid":Bt.QueryBuilder.LogsQueryBuilder.LogMessageLikeInput.input,variant:"secondary",size:"md",onClick:()=>a(""),className:Dt.Common.smallBtn,tooltip:Ct.components.expandBuilderButton.tooltip},l))},or=e=>{const{labelA:t,labelB:s,value:r,onChange:a,label:n,tooltip:o}=e,l=[{label:t,value:!1},{label:s,value:!0}];return He().createElement("div",{className:"gf-form"},He().createElement(T.InlineFormLabel,{width:8,className:"query-keyword",tooltip:o},n),He().createElement(T.RadioButtonGroup,{options:l,value:r,onChange:e=>a(e)}))};function lr(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function ir(e){for(var t=1;t{const{index:t,aggregate:s,updateAggregate:r,removeAggregate:a}=e,[n,o]=(0,Ue.useState)(!1),[l,i]=(0,Ue.useState)(s.alias||""),{aliasLabel:c}=Ct.components.AggregatesEditor,p=pr.slice();p.find((e=>e.value===s.aggregateType))||p.push({label:s.aggregateType,value:s.aggregateType});const m=e.columnOptions.slice();return m.find((e=>e.value===s.column))||m.push({label:s.column,value:s.column}),He().createElement(T.HorizontalGroup,{wrap:!0,align:"flex-start",justify:"flex-start"},He().createElement(T.Select,{width:20,className:Dt.Common.inlineSelect,options:p,value:s.aggregateType,onChange:e=>r(t,cr(ir({},s),{aggregateType:e.value})),menuPlacement:"bottom",allowCustomValue:!0}),He().createElement(T.Select,{width:40,className:Dt.Common.inlineSelect,options:m,isOpen:n,onOpenMenu:()=>o(!0),onCloseMenu:()=>o(!1),onChange:e=>r(t,cr(ir({},s),{column:e.value})),value:s.column,menuPlacement:"bottom",allowCustomValue:!0}),He().createElement(T.InlineFormLabel,{width:2,className:"query-keyword"},c),He().createElement(T.Input,{width:20,value:l,onChange:e=>i(e.currentTarget.value),onBlur:e=>r(t,cr(ir({},s),{alias:e.currentTarget.value})),placeholder:"alias"}),He().createElement(T.Button,{"data-testid":Mt.QueryBuilder.AggregateEditor.itemRemoveButton,className:Dt.Common.smallBtn,variant:"destructive",size:"sm",icon:"trash-alt",onClick:()=>a(t)}))},ur=e=>{const{allColumns:t,aggregates:r,onAggregatesChange:a}=e,{label:n,tooltip:o,addLabel:l}=Ct.components.AggregatesEditor,i=t.map((e=>({label:e.name,value:e.name})));i.push({label:"*",value:"*"});const c=e=>{const t=r.slice();t.splice(e,1),a(t)},p=(e,t)=>{const s=r.slice();s[e]=t,a(s)},m=He().createElement(T.InlineFormLabel,{width:8,className:"query-keyword","data-testid":Mt.QueryBuilder.AggregateEditor.sectionLabel,tooltip:o},n),u=He().createElement("div",{className:`width-8 ${Dt.Common.firstLabel}`});return He().createElement(He().Fragment,null,r.map(((e,t)=>{const s=`${t}-${e.column}-${e.aggregateType}-${e.alias}`;return He().createElement("div",{className:"gf-form",key:s,"data-testid":Mt.QueryBuilder.AggregateEditor.itemWrapper},0===t?m:u,He().createElement(mr,{columnOptions:i,index:t,aggregate:e,updateAggregate:p,removeAggregate:c}))})),He().createElement("div",{className:"gf-form"},0===r.length?m:u,He().createElement(T.Button,{"data-testid":Mt.QueryBuilder.AggregateEditor.addButton,icon:"plus-circle",variant:"secondary",size:"sm",onClick:()=>{const e=r.slice();e.push({column:"",aggregateType:s.Count}),a(e)},className:Dt.Common.smallBtn},l)))},br=e=>{const{allColumns:t,groupBy:s,onGroupByChange:r}=e,[a,n]=(0,Ue.useState)(!1),{label:o,tooltip:l}=Ct.components.GroupByEditor,i=t.map((e=>({label:e.name,value:e.name})));return He().createElement("div",{className:"gf-form"},He().createElement(T.InlineFormLabel,{width:8,className:"query-keyword",tooltip:l},o),He().createElement("div",{"data-testid":Mt.QueryBuilder.GroupByEditor.multiSelectWrapper,className:Dt.Common.selectWrapper},He().createElement(T.MultiSelect,{options:i,isOpen:a,onOpenMenu:()=>n(!0),onCloseMenu:()=>n(!1),value:s,onChange:e=>{n(!1),r(e.map((e=>e.value)))},allowCustomValue:!0,menuPlacement:"bottom"})))},yr=t=>{const{datasource:s,builderOptions:a,builderOptionsDispatch:l}=t,i=rr(a),c=Us(s,a.database,a.table),p=Ct.components.TimeSeriesQueryBuilder,m=(0,Ue.useMemo)((()=>({isAggregateMode:a.mode===e.Trend,timeColumn:z(a,r.Time),selectedColumns:(a.columns||[]).filter((e=>e.hint!==r.Time)),aggregates:a.aggregates||[],groupBy:a.groupBy||[],orderBy:a.orderBy||[],limit:a.limit||0,filters:a.filters||[]})),[a]),u=Fs((t=>{let s=t.selectedColumns.slice();t.isAggregateMode&&(s=[]),t.timeColumn&&s.push(t.timeColumn),l(Ws({mode:t.isAggregateMode?e.Trend:e.Aggregate,columns:s,aggregates:t.isAggregateMode?t.aggregates:[],groupBy:t.isAggregateMode?t.groupBy:[],filters:t.filters,orderBy:t.orderBy,limit:t.limit}))}),m);return((e,t,s,a)=>{const n=(0,Ue.useRef)(Boolean(s)),o=(0,Ue.useRef)(t||"");t!==o.current&&(n.current=!1),(0,Ue.useEffect)((()=>{if(n.current||0===e.length||!t)return;const s=e.filter(Ps)[0];if(!s)return;const l={name:s.name,type:s.type,hint:r.Time};a(Js(l)),o.current=t,n.current=!0}),[e,t,a])})(c,a.table,m.timeColumn,l),((e,t,s)=>{const a=(0,Ue.useRef)(!t),l=(0,Ue.useRef)(e||"");e!==l.current&&(a.current=!1),(0,Ue.useEffect)((()=>{if(!e||a.current)return;const t=[{type:"datetime",operator:o.WithInGrafanaTimeRange,filterType:"custom",key:"",hint:r.Time,condition:"AND"}],i=[{name:"",hint:r.Time,dir:n.ASC,default:!0}];l.current=e,a.current=!0,s(Ws({filters:t,orderBy:i}))}),[e,s])})(a.table,i,l),He().createElement("div",null,He().createElement(or,{labelA:p.simpleQueryModeLabel,labelB:p.aggregateQueryModeLabel,value:m.isAggregateMode,onChange:u("isAggregateMode"),label:p.builderModeLabel,tooltip:p.builderModeTooltip}),He().createElement(ds,{allColumns:c,selectedColumn:m.timeColumn,invalid:!m.timeColumn,onColumnChange:u("timeColumn"),columnFilterFn:Ps,columnHint:r.Time,label:p.timeColumn.label,tooltip:p.timeColumn.tooltip,clearable:!1}),m.isAggregateMode?He().createElement(He().Fragment,null,He().createElement(ur,{allColumns:c,aggregates:m.aggregates,onAggregatesChange:u("aggregates")}),He().createElement(br,{groupBy:m.groupBy,onGroupByChange:u("groupBy"),allColumns:c})):He().createElement(bs,{allColumns:c,selectedColumns:m.selectedColumns,onSelectedColumnsChange:u("selectedColumns")}),He().createElement(xs,{orderByOptions:gs(a,c),orderBy:m.orderBy,onOrderByChange:u("orderBy")}),He().createElement(vs,{limit:m.limit,onLimitChange:u("limit")}),He().createElement(js,{filters:m.filters,onFiltersChange:u("filters"),allColumns:c,datasource:s,database:a.database,table:a.table}))},dr=t=>{const{datasource:s,builderOptions:r,builderOptionsDispatch:a}=t,n=Us(s,r.database,r.table),o=Ct.components.TableQueryBuilder,l=(0,Ue.useMemo)((()=>({isAggregateMode:r.mode===e.Aggregate,selectedColumns:r.columns||[],aggregates:r.aggregates||[],groupBy:r.groupBy||[],orderBy:r.orderBy||[],limit:r.limit||0,filters:r.filters||[]})),[r]),i=Fs((t=>{a(Ws({mode:t.isAggregateMode?e.Aggregate:e.List,columns:t.selectedColumns,aggregates:t.aggregates,groupBy:t.groupBy,filters:t.filters,orderBy:t.orderBy,limit:t.limit}))}),l);return He().createElement("div",null,He().createElement(or,{labelA:o.simpleQueryModeLabel,labelB:o.aggregateQueryModeLabel,value:l.isAggregateMode,onChange:i("isAggregateMode"),label:o.builderModeLabel,tooltip:o.builderModeTooltip}),He().createElement(bs,{allColumns:n,selectedColumns:l.selectedColumns,onSelectedColumnsChange:i("selectedColumns"),showAllOption:!0}),l.isAggregateMode&&He().createElement(He().Fragment,null,He().createElement(ur,{allColumns:n,aggregates:l.aggregates,onAggregatesChange:i("aggregates")}),He().createElement(br,{groupBy:l.groupBy,onGroupByChange:i("groupBy"),allColumns:n})),He().createElement(xs,{orderByOptions:gs(r,n),orderBy:l.orderBy,onOrderByChange:i("orderBy")}),He().createElement(vs,{limit:l.limit,onLimitChange:i("limit")}),He().createElement(js,{filters:l.filters,onFiltersChange:i("filters"),allColumns:n,datasource:s,database:r.database,table:r.table}))},$r=e=>{const{sql:t}=e,{label:s,tooltip:r}=Ct.components.SqlPreview;return He().createElement("div",{className:"gf-form"},He().createElement(T.InlineFormLabel,{width:8,className:"query-keyword",tooltip:r},s),He().createElement("pre",null,t))},_r=e=>{const{datasource:t,onDatabaseChange:s,database:r}=e,a=(e=>{const[t,s]=(0,Ue.useState)([]);return(0,Ue.useEffect)((()=>{e&&e.fetchDatabases().then((e=>s(e))).catch((e=>{console.error("Failed to fetch databases",e)}))}),[e]),t})(t),{label:n,tooltip:o,empty:l}=Ct.components.DatabaseSelect,i=a.map((e=>({label:e,value:e})));return i.push({label:l,value:""}),r&&!a.includes(r)&&i.push({label:r,value:r}),(0,Ue.useEffect)((()=>{r||s(t.getDefaultDatabase())}),[t,r,s]),He().createElement(He().Fragment,null,He().createElement(T.InlineFormLabel,{width:8,className:"query-keyword",tooltip:o},n),He().createElement(T.Select,{className:`width-15 ${Dt.Common.inlineSelect}`,options:i,value:r,onChange:e=>s(e.value),menuPlacement:"bottom",allowCustomValue:!0}))},hr=e=>{const{datasource:t,onTableChange:s,database:r,table:a}=e,n=((e,t)=>{const[s,r]=(0,Ue.useState)([]);(0,Ue.useEffect)((()=>{if(!e||!t)return;let s=!1;return e.fetchTables(t).then((e=>{s||r(e)})).catch((e=>{console.error("Failed to fetch tables for database:",t,e)})),()=>{s=!0}}),[e,t]);const a=(0,Ue.useRef)("");return t!==a.current?(a.current=t,r([]),[]):s})(t,r),{label:o,tooltip:l,empty:i}=Ct.components.TableSelect,c=n.map((e=>({label:e,value:e})));return c.push({label:i,value:""}),a&&!n.includes(a)&&c.push({label:a,value:a}),(0,Ue.useEffect)((()=>{r&&!a&&n.length>0&&s(t.getDefaultTable()||n[0])}),[r,a,n,t,s]),He().createElement(He().Fragment,null,He().createElement(T.InlineFormLabel,{width:8,className:"query-keyword",tooltip:l},o),He().createElement(T.Select,{className:`width-15 ${Dt.Common.inlineSelect}`,options:c,value:a,onChange:e=>s(e.value),menuPlacement:"bottom",allowCustomValue:!0}))},fr=e=>{const{datasource:t,database:s,onDatabaseChange:r,table:a,onTableChange:n}=e;return He().createElement("div",{className:"gf-form"},He().createElement(_r,{datasource:t,database:s,onDatabaseChange:r}),He().createElement(hr,{datasource:t,database:s,table:a,onTableChange:n}))},wr=[{label:Ct.types.QueryType.table,value:t.Table},{label:Ct.types.QueryType.logs,value:t.Logs},{label:Ct.types.QueryType.timeseries,value:t.TimeSeries},{label:Ct.types.QueryType.traces,value:t.Traces}],xr=e=>{const{queryType:t,onChange:s,sqlEditor:r}=e,{label:a,tooltip:n,sqlTooltip:o}=Ct.components.QueryTypeSwitcher;return He().createElement("span",null,He().createElement(T.InlineFormLabel,{width:8,className:"query-keyword",tooltip:r?o:n},a),He().createElement(T.RadioButtonGroup,{options:wr,value:t,onChange:s}))},gr=e=>{const[t,s]=(0,Ue.useState)(""),{traceId:r,onChange:a,disabled:n}=e,{label:o,tooltip:l}=Ct.components.TraceQueryBuilder.columns.traceIdFilter;return(0,Ue.useEffect)((()=>{s(r)}),[r]),He().createElement("div",{className:"gf-form"},He().createElement(T.InlineFormLabel,{width:8,className:"query-keyword",tooltip:l},o),He().createElement(T.Input,{"data-testid":Mt.QueryBuilder.TraceIdInput.input,width:40,value:t,disabled:n,type:"string",onChange:e=>s(e.currentTarget.value),onBlur:()=>a(t)}))},vr=e=>{var t,s;const{datasource:l,builderOptions:i,builderOptionsDispatch:c}=e,p=Us(l,i.database,i.table),m=rr(i),[u,b]=(0,Ue.useState)(0===l.getDefaultTraceColumns().size&&0===(null===(t=i.columns)||void 0===t?void 0:t.length)),[y,d]=(0,Ue.useState)(u),[$,_]=(0,Ue.useState)(!((null===(s=i.meta)||void 0===s?void 0:s.isTraceIdMode)&&i.meta.traceId)),h=Ct.components.TraceQueryBuilder,f=(0,Ue.useMemo)((()=>{var e,t,s,n,o;return{isTraceIdMode:(null===(e=i.meta)||void 0===e?void 0:e.isTraceIdMode)||!1,otelEnabled:(null===(t=i.meta)||void 0===t?void 0:t.otelEnabled)||!1,otelVersion:(null===(s=i.meta)||void 0===s?void 0:s.otelVersion)||"",traceIdColumn:z(i,r.TraceId),spanIdColumn:z(i,r.TraceSpanId),parentSpanIdColumn:z(i,r.TraceParentSpanId),serviceNameColumn:z(i,r.TraceServiceName),operationNameColumn:z(i,r.TraceOperationName),startTimeColumn:z(i,r.Time),durationTimeColumn:z(i,r.TraceDurationTime),durationUnit:(null===(n=i.meta)||void 0===n?void 0:n.traceDurationUnit)||a.Nanoseconds,tagsColumn:z(i,r.TraceTags),serviceTagsColumn:z(i,r.TraceServiceTags),traceId:(null===(o=i.meta)||void 0===o?void 0:o.traceId)||"",orderBy:i.orderBy||[],limit:i.limit||0,filters:i.filters||[]}}),[i]),w=Fs((e=>{const t=[e.traceIdColumn,e.spanIdColumn,e.parentSpanIdColumn,e.serviceNameColumn,e.operationNameColumn,e.startTimeColumn,e.durationTimeColumn,e.tagsColumn,e.serviceTagsColumn].filter((e=>void 0!==e));c(Ws({columns:t,orderBy:e.orderBy,limit:e.limit,filters:e.filters,meta:{isTraceIdMode:e.isTraceIdMode,traceDurationUnit:e.durationUnit,traceId:e.traceId}}))}),f);((e,t,s,r)=>{const a=(0,Ue.useRef)(!1);(0,Ue.useEffect)((()=>{if(!t||a.current)return;const n=e.getDefaultTraceDatabase()||e.getDefaultDatabase(),o=e.getDefaultTraceTable()||e.getDefaultTable(),l=e.getDefaultTraceDurationUnit(),i=e.getTraceOtelVersion(),c=e.getDefaultTraceColumns(),p=[];for(let[e,t]of c)p.push({name:t,hint:e});r(Ws({database:n,table:o||s.table,columns:p,meta:{otelEnabled:Boolean(i),otelVersion:i,traceDurationUnit:l}})),a.current=!0}),[s.columns,s.orderBy,s.table,r,e,t])})(l,m,i,c),((e,t,s)=>{const r=(0,Ue.useRef)(e);e||(r.current=!1),(0,Ue.useEffect)((()=>{var a;if(!e||r.current)return;const n=_e.find((e=>e.version===t)),o=null===(a=n)||void 0===a?void 0:a.traceColumnMap;if(!o)return;const l=[];o.forEach(((e,t)=>{l.push({name:e,hint:t})})),s(Ws({columns:l,meta:{traceDurationUnit:n.traceDurationUnit}})),r.current=!0}),[e,t,s])})(f.otelEnabled,f.otelVersion,c),((e,t,s,a)=>{const l=(0,Ue.useRef)(!s),i=(0,Ue.useRef)(e||"");e!==i.current&&(l.current=!1),(0,Ue.useEffect)((()=>{if(t||!e||l.current)return;const s=[{type:"datetime",operator:o.WithInGrafanaTimeRange,filterType:"custom",key:"",hint:r.Time,condition:"AND"},{type:"string",operator:o.IsEmpty,filterType:"custom",key:"",hint:r.TraceParentSpanId,condition:"AND",value:""},{type:"UInt64",operator:o.GreaterThan,filterType:"custom",key:"",hint:r.TraceDurationTime,condition:"AND",value:0},{type:"string",operator:o.IsAnything,filterType:"custom",key:"",hint:r.TraceServiceName,condition:"AND",value:""}],c=[{name:"",hint:r.Time,dir:n.DESC,default:!0},{name:"",hint:r.TraceDurationTime,dir:n.DESC,default:!0}];i.current=e,l.current=!0,a(Ws({filters:s,orderBy:c}))}),[e,t,a])})(i.table,f.isTraceIdMode,m,c);const x=u&&He().createElement(T.Alert,{title:"",severity:"warning",buttonContent:"Close",onRemove:()=>b(!1)},He().createElement(T.VerticalGroup,null,He().createElement("div",null,"To speed up your query building, enter your default trace configuration in your ",He().createElement("a",{style:{textDecoration:"underline"},href:`/connections/datasources/edit/${encodeURIComponent(l.uid)}#traces-config`},"ClickHouse Data Source settings"))));return He().createElement("div",null,He().createElement(or,{labelA:h.traceSearchModeLabel,labelB:h.traceIdModeLabel,value:f.isTraceIdMode,onChange:w("isTraceIdMode"),label:h.traceModeLabel,tooltip:h.traceModeTooltip}),He().createElement(T.Collapse,{label:h.columnsSection,collapsible:!0,isOpen:y,onToggle:d},x,He().createElement(Nt,{enabled:f.otelEnabled,onEnabledChange:e=>c(Ys(e)),selectedVersion:f.otelVersion,onVersionChange:e=>c(Xs(e)),wide:!0}),He().createElement("div",{className:"gf-form"},He().createElement(ds,{disabled:f.otelEnabled,allColumns:p,selectedColumn:f.traceIdColumn,invalid:!f.traceIdColumn,onColumnChange:w("traceIdColumn"),columnHint:r.TraceId,label:h.columns.traceId.label,tooltip:h.columns.traceId.tooltip,wide:!0}),He().createElement(ds,{disabled:f.otelEnabled,allColumns:p,selectedColumn:f.spanIdColumn,invalid:!f.spanIdColumn,onColumnChange:w("spanIdColumn"),columnHint:r.TraceSpanId,label:h.columns.spanId.label,tooltip:h.columns.spanId.tooltip,wide:!0,inline:!0})),He().createElement("div",{className:"gf-form"},He().createElement(ds,{disabled:f.otelEnabled,allColumns:p,selectedColumn:f.parentSpanIdColumn,invalid:!f.parentSpanIdColumn,onColumnChange:w("parentSpanIdColumn"),columnHint:r.TraceParentSpanId,label:h.columns.parentSpanId.label,tooltip:h.columns.parentSpanId.tooltip,wide:!0}),He().createElement(ds,{disabled:f.otelEnabled,allColumns:p,selectedColumn:f.serviceNameColumn,invalid:!f.serviceNameColumn,onColumnChange:w("serviceNameColumn"),columnHint:r.TraceServiceName,label:h.columns.serviceName.label,tooltip:h.columns.serviceName.tooltip,wide:!0,inline:!0})),He().createElement("div",{className:"gf-form"},He().createElement(ds,{disabled:f.otelEnabled,allColumns:p,selectedColumn:f.operationNameColumn,invalid:!f.operationNameColumn,onColumnChange:w("operationNameColumn"),columnHint:r.TraceOperationName,label:h.columns.operationName.label,tooltip:h.columns.operationName.tooltip,wide:!0}),He().createElement(ds,{disabled:f.otelEnabled,allColumns:p,selectedColumn:f.startTimeColumn,invalid:!f.startTimeColumn,onColumnChange:w("startTimeColumn"),columnHint:r.Time,label:h.columns.startTime.label,tooltip:h.columns.startTime.tooltip,wide:!0,inline:!0})),He().createElement("div",{className:"gf-form"},He().createElement(ds,{disabled:f.otelEnabled,allColumns:p,selectedColumn:f.durationTimeColumn,invalid:!f.durationTimeColumn,onColumnChange:w("durationTimeColumn"),columnHint:r.TraceDurationTime,label:h.columns.durationTime.label,tooltip:h.columns.durationTime.tooltip,wide:!0}),He().createElement(jt,{disabled:f.otelEnabled,unit:f.durationUnit,onChange:w("durationUnit"),inline:!0})),He().createElement("div",{className:"gf-form"},He().createElement(ds,{disabled:f.otelEnabled,allColumns:p,selectedColumn:f.tagsColumn,invalid:!f.tagsColumn,onColumnChange:w("tagsColumn"),columnHint:r.TraceTags,label:h.columns.tags.label,tooltip:h.columns.tags.tooltip,wide:!0}),He().createElement(ds,{disabled:f.otelEnabled,allColumns:p,selectedColumn:f.serviceTagsColumn,invalid:!f.serviceTagsColumn,onColumnChange:w("serviceTagsColumn"),columnHint:r.TraceServiceTags,label:h.columns.serviceTags.label,tooltip:h.columns.serviceTags.tooltip,wide:!0,inline:!0}))),He().createElement(T.Collapse,{label:h.filtersSection,collapsible:!0,isOpen:$,onToggle:_},He().createElement(xs,{orderByOptions:gs(i,p),orderBy:f.orderBy,onOrderByChange:w("orderBy")}),He().createElement(vs,{limit:f.limit,onLimitChange:w("limit")}),He().createElement(js,{allColumns:p,filters:f.filters,onFiltersChange:w("filters"),datasource:l,database:i.database,table:i.table})),f.isTraceIdMode&&He().createElement(gr,{traceId:f.traceId,onChange:w("traceId")}))},kr=e=>{var s;const{datasource:r,builderOptions:a,builderOptionsDispatch:n,generatedSql:o}=e;return(null===(s=a.meta)||void 0===s?void 0:s.minimized)?He().createElement(Er,{builderOptions:a,builderOptionsDispatch:n,datasource:r}):He().createElement("div",{"data-testid":"query-editor-section-builder"},He().createElement("div",{className:"gf-form "+Dt.QueryEditor.queryType},He().createElement(fr,{datasource:r,database:a.database,onDatabaseChange:e=>n((e=>Qs(zs.SetDatabase,{database:e}))(e)),table:a.table,onTableChange:e=>n((e=>Qs(zs.SetTable,{table:e}))(e))})),He().createElement("div",{className:"gf-form "+Dt.QueryEditor.queryType},He().createElement(xr,{queryType:a.queryType,onChange:e=>n((e=>Qs(zs.SetQueryType,{queryType:e}))(e))})),a.queryType===t.Table&&He().createElement(dr,{datasource:r,builderOptions:a,builderOptionsDispatch:n}),a.queryType===t.Logs&&He().createElement(ar,{datasource:r,builderOptions:a,builderOptionsDispatch:n}),a.queryType===t.TimeSeries&&He().createElement(yr,{datasource:r,builderOptions:a,builderOptionsDispatch:n}),a.queryType===t.Traces&&He().createElement(vr,{datasource:r,builderOptions:a,builderOptionsDispatch:n}),He().createElement($r,{sql:o}))},Er=e=>{var s,a,n,o;const{builderOptions:l,builderOptionsDispatch:i,datasource:c}=e,p=0===(null===(s=(0,Ue.useMemo)((()=>l.queryType===t.Logs?c.getDefaultLogsColumns():l.queryType===t.Traces?c.getDefaultTraceColumns():void 0),[l.queryType,c]))||void 0===s?void 0:s.size)&&0===(null===(a=l.columns)||void 0===a?void 0:a.length),m=l.queryType===t.Logs?"logs":l.queryType===t.Traces?"trace":l.queryType;let u;if(l.queryType===t.Traces&&(null===(n=l.meta)||void 0===n?void 0:n.isTraceIdMode)&&l.meta.traceId)u=l.meta.traceId;else if(l.queryType===t.Logs&&(null===(o=l.filters)||void 0===o?void 0:o.find((e=>e.hint===r.TraceId&&"value"in e)))){var b;u=(null===(b=l.filters)||void 0===b?void 0:b.find((e=>e.hint===r.TraceId&&"value"in e))).value}return He().createElement("div",{"data-testid":"query-editor-minimized-viewer"},p&&He().createElement(T.Alert,{title:"",severity:"warning"},He().createElement(T.VerticalGroup,null,He().createElement("div",null,`To enable data linking, enter your default ${m} configuration in your `,He().createElement("a",{style:{textDecoration:"underline"},href:`/connections/datasources/edit/${encodeURIComponent(c.uid)}#${l.queryType}-config`},"ClickHouse Data Source settings")))),!u&&He().createElement(T.Alert,{title:"",severity:"warning"},He().createElement(T.VerticalGroup,null,He().createElement("div",null,"Trace ID is empty"))),u&&He().createElement(gr,{traceId:u,onChange:()=>{},disabled:!0}),He().createElement(T.Button,{"data-testid":Bt.QueryBuilder.expandBuilderButton,icon:"plus",variant:"secondary",size:"md",onClick:()=>i((!1,Ks(zs.SetBuilderMinimized,{minimized:false}))),className:Dt.Common.smallBtn,tooltip:Ct.components.expandBuilderButton.tooltip},Ct.components.expandBuilderButton.label))};function Tr(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)}var Ar;function Or(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 Cr(e){return function(){var t=this,s=arguments;return new Promise((function(r,a){var n=e.apply(t,s);function o(e){Or(n,r,a,o,l,"next",e)}function l(e){Or(n,r,a,o,l,"throw",e)}o(void 0)}))}}function Sr(){return Sr=Cr((function*(e,t,s){if(e.endsWith("$"))return function(e){const t=(0,u.getTemplateSrv)();return t?t.getVariables().map((s=>{const r=`\${${s.name}}`,a=t.replace(r);return{label:r,detail:`(Template Variable) ${a}`,kind:Ar.VARIABLE,documentation:`(Template Variable) ${a}`,insertText:`{${s.name}}`,range:e}})):[]}(s);const r=["select","from","where"];let a=e.replace(/[\n\r]/g," ");for(const e of r)a=a.replace(e,e.toUpperCase());if(a.endsWith("SELECT ")||a.endsWith("FROM ")||a.endsWith(", "))return void 0!==t.defaultDatabase?Nr(t,s):function(e,t){return Ir.apply(this,arguments)}(t,s);if(a.endsWith("WHERE ")){const e=a.split("FROM ");return e[e.length-1].split(" WHERE")[0].split(",").map((e=>e.trim())).map((e=>({label:e,kind:Ar.TABLE,documentation:"Table",insertText:e,range:s})))}if(e.endsWith(".")){const r=e.split(" "),a=r[r.length-1].split(".");if(void 0!==t.defaultDatabase){const e=a[0];return Rr(t,s,"",e)}if(2===a.length){const e=a[0];return Nr(t,s,e)}const n=a[0],o=a[1];return Rr(t,s,n,o)}return[]})),Sr.apply(this,arguments)}function Ir(){return(Ir=Cr((function*(e,t){return(yield e.databases()).map((e=>({label:e,kind:Ar.DATABASE,documentation:"Database",insertText:e,range:t})))}))).apply(this,arguments)}function Nr(e,t,s){return Lr.apply(this,arguments)}function Lr(){return(Lr=Cr((function*(e,t,s){return(yield e.tables(s)).map((e=>({label:e,kind:Ar.TABLE,documentation:"Table",insertText:e,range:t})))}))).apply(this,arguments)}function Rr(e,t,s,r){return Dr.apply(this,arguments)}function Dr(){return(Dr=Cr((function*(e,t,s,r){return(yield e.fields(s,r)).map((e=>({label:e,kind:Ar.FIELD,documentation:"Field",insertText:e,range:t})))}))).apply(this,arguments)}!function(e){e[e.FIELD=3]="FIELD",e[e.DATABASE=8]="DATABASE",e[e.TABLE=5]="TABLE",e[e.VARIABLE=4]="VARIABLE"}(Ar||(Ar={}));var qr=c(7799);const jr=["INTERVAL"];function Pr(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 Br(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function Mr(e){for(var t=1;t{const s="150px",{app:r,query:a,onChange:n,datasource:o}=e,i=a,[c,p]=(0,Ue.useState)(),[u,b]=(0,Ue.useState)({height:s,icon:"plus",on:i.expand||!1}),y=i.queryType||t.Table,d=e=>{n(Mr(function(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);s.push.apply(s,r)}return s}(Object(t)).forEach((function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(t,s))})),e}(Mr({},i),{pluginVersion:ge,editorType:l.SQL,format:Ie(e.queryType||y)}),e))},$=e=>{b(e),d({expand:e.on})},_={databases:()=>o.fetchDatabases(),tables:e=>o.fetchTables(e),fields:(e,t)=>o.fetchFields(e,t),defaultDatabase:o.getDefaultDatabase()},h=(f=function*(e,t){const s=yield function(e,t,s){return Sr.apply(this,arguments)}(e,_,t);return Promise.resolve({suggestions:s})},w=function(){var e=this,t=arguments;return new Promise((function(s,r){var a=f.apply(e,t);function n(e){Pr(a,s,r,n,o,"next",e)}function o(e){Pr(a,s,r,n,o,"throw",e)}n(void 0)}))},function(e,t){return w.apply(this,arguments)});var f,w;return He().createElement(He().Fragment,null,r===m.CoreApp.Explore&&He().createElement("div",{className:"gf-form "+Dt.QueryEditor.queryType},He().createElement(xr,{queryType:y,onChange:e=>d({queryType:e}),sqlEditor:!0})),He().createElement("div",{className:Dt.Common.wrapper},He().createElement("a",{onClick:()=>(()=>{const e=!u.on,t=e?"minus":"plus";if(c)if(e){c.expanded=!0;const s=Ur(c);$({height:`${s}px`,on:e,icon:t})}else c.expanded=!1,$({height:s,icon:t,on:e})})(),className:Dt.Common.expand,"data-testid":Mt.QueryEditor.CodeEditor.Expand},He().createElement("i",{className:`fa fa-${u.icon}`})),He().createElement(T.CodeEditor,{"aria-label":"SQL Editor",height:u.height,language:"sql",value:a.rawSql,onSave:e=>d({rawSql:e}),showMiniMap:!1,showLineNumbers:!0,onBlur:e=>d({rawSql:e}),onEditorDidMount:e=>(e=>{const t=function(e,t,s){return t.updateOptions({fixedOverflowWidgets:!0,scrollBeyondLastLine:!1}),void 0!==monaco.languages.getLanguages().find((t=>t.id===e))||(monaco.languages.register({id:e}),monaco.languages.registerCompletionItemProvider("sql",{triggerCharacters:[" ","$",".",","],provideCompletionItems:(r=function*(e,t){const r=e.getWordUntilPosition(t),a=e.getValueInRange({startLineNumber:1,startColumn:1,endLineNumber:t.lineNumber,endColumn:t.column}),n={startLineNumber:t.lineNumber,endLineNumber:t.lineNumber,startColumn:r.startColumn,endColumn:r.endColumn};return s(a,n)},a=function(){var e=this,t=arguments;return new Promise((function(s,a){var n=r.apply(e,t);function o(e){Tr(n,s,a,o,l,"next",e)}function l(e){Tr(n,s,a,o,l,"throw",e)}o(void 0)}))},function(e,t){return a.apply(this,arguments)})})),monaco.editor;var r,a}("chSql",e,h);e.expanded=a.expand,e.onDidChangeModelDecorations((t=>{if(e.expanded){const t=Ur(e);$({height:`${t}px`,on:!0,icon:"minus"})}})),e.onKeyUp((s=>{if(o.settings.jsonData.validateSql){((e,t,s)=>{const r=function(e){try{return qr.parse(e),{valid:!0}}catch(s){const r=s,a=r.message.split("\n"),n=r.hash.loc,o=e.split("\n"),l=o[n.first_line-1],i=l.substring(n.first_column,n.last_column);return jr.includes(i.toUpperCase())||l.trim()===i&&(null===(t=o[n.first_line])||void 0===t?void 0:t.trim().startsWith("$"))||l.substring(n.last_column+1).trim().startsWith("$")?{valid:!0}:{valid:!1,error:{startLine:n.first_line,endLine:n.last_line,startCol:n.first_column+1,endCol:n.last_column+1,message:s.message,expected:a[3]}};var t}}(e);if(r.valid)s.setModelMarkers(t,"clickhouse",[]);else{const e=r.error;s.setModelMarkers(t,"clickhouse",[{startLineNumber:e.startLine,startColumn:e.startCol,endLineNumber:e.endLine,endColumn:e.endCol,message:e.expected,severity:8}])}})(e.getValue(),e.getModel(),t)}})),p(e)})(e)})))},Ur=e=>{var t;if(!e.getDomNode())return;const s=(null===(t=e.getModel())||void 0===t?void 0:t.getLineCount())||1;return e.getTopForLineNumber(s+1)+40};function Hr(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function Gr(e){for(var t=1;t{const t={database:e.database||"",table:e.table||"",queryType:Qr(e),columns:[]};if(e.mode&&(t.mode=e.mode),e.fields||Array.isArray(e.fields)){const s=e.fields;t.columns=s.map((e=>({name:e})))}const s=e.timeField,a=e.timeFieldType;if(s){const e={name:s,type:a,hint:r.Time};t.columns.push(e)}const n=e.logLevelField;if(n){const e={name:n,hint:r.LogLevel};t.columns.push(e)}if(e.metrics||Array.isArray(e.metrics)){const s=e.metrics;t.aggregates=s.map((e=>({aggregateType:e.aggregation,column:e.field,alias:e.alias})))}if(e.filters||Array.isArray(e.filters)){const a=e.filters;t.filters=a.map((e=>{const t=Gr({},e);return e.key===s?t.hint=r.Time:e.key===n&&(t.hint=r.LogLevel),t}))}return(e.groupBy||Array.isArray(e.groupBy))&&(t.groupBy=e.groupBy),(e.orderBy||Array.isArray(e.orderBy))&&(t.orderBy=e.orderBy),void 0!==e.limit&&e.limit>=0&&(t.limit=e.limit),t},Qr=e=>e.timeField?t.TimeSeries:e.logLevelField?t.Logs:t.Table;function Kr(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function Wr(e){for(var t=1;t{const{query:t,onChange:s,app:r}=e,[a,n]=(e=>{const[t,s]=(0,Ue.useReducer)(Zs,e,tr);return[t,s]})(t.builderOptions),o=t.key||"",i=(0,Ue.useRef)(o);o!==i.current&&t.editorType===l.Builder&&(n((e=>Qs(zs.SetAllOptions,e))(t.builderOptions||{})),i.current=o);const c=(0,Ue.useRef)(!0);return Ce(a)&&(c.current=!1),(0,Ue.useEffect)((()=>{if(c.current||t.editorType===l.SQL)return;const e=B(a);s(Yr(Wr({},t),{pluginVersion:ge,editorType:l.Builder,rawSql:e,builderOptions:a,format:Se(a)}))}),[a]),t.editorType===l.SQL?He().createElement("div",{"data-testid":"query-editor-section-sql"},He().createElement(Fr,e)):He().createElement(kr,{datasource:e.datasource,builderOptions:a,builderOptionsDispatch:n,generatedSql:t.rawSql,app:r})},Jr=JSON.parse('{"id":"grafana-clickhouse-datasource"}');function Zr(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const ea=new m.DataSourcePlugin(Be).setConfigEditor((e=>{const{options:t,onOptionsChange:s}=e,{jsonData:r,secureJsonFields:n}=t,o=Ct.components.Config.ConfigEditor,l=t.secureJsonData||{},i=n&&n.tlsCACert,c=n&&n.tlsClientCert,p=n&&n.tlsClientKey,b=[{label:"Native",value:Ve.Native},{label:"HTTP",value:Ve.Http}];((e,t)=>{const s=(0,Ue.useRef)(!1);(0,Ue.useEffect)((()=>{if(s.current)return;const r=Vt({},e.jsonData);r.version=ge;const a=r.server;a&&!r.host&&(r.host=a),delete r.server;const n=r.timeout;n&&!r.dialTimeout&&(r.dialTimeout=n),delete r.timeout,r.protocol||(r.protocol=Ve.Native),t(zt(Vt({},e),{jsonData:r})),s.current=!0}),[e,t])})(t,s);const y=(e,r)=>{s(Wt(Kt({},t),{jsonData:Wt(Kt({},t.jsonData),{[e]:r})}))},d=(e,r)=>{s(Wt(Kt({},t),{jsonData:Wt(Kt({},t.jsonData),{[e]:r})}))},$=(e,r)=>{s(Wt(Kt({},t),{secureJsonData:Wt(Kt({},l),{[e]:r})}))},_=e=>{s(Wt(Kt({},t),{secureJsonFields:Wt(Kt({},n),{[e]:!1}),secureJsonData:Wt(Kt({},l),{[e]:""})}))},h=e=>{s(Wt(Kt({},t),{jsonData:Wt(Kt({},t.jsonData),{customSettings:e.filter((e=>!!e.setting&&!!e.value))})}))},f=(e,r)=>{s(Wt(Kt({},t),{jsonData:Wt(Kt({},t.jsonData),{logs:Wt(Kt({},t.jsonData.logs),{[e]:r})})}))},w=(e,r)=>{var n;s(Wt(Kt({},t),{jsonData:Wt(Kt({},t.jsonData),{traces:Wt(Kt({},t.jsonData.traces),{durationUnit:(null===(n=t.jsonData.traces)||void 0===n?void 0:n.durationUnit)||a.Nanoseconds,[e]:r})})}))},[x,g]=(0,Ue.useState)(r.customSettings||[]),v=Boolean(window.location.hash||t.jsonData.defaultDatabase||t.jsonData.defaultTable||t.jsonData.dialTimeout||t.jsonData.queryTimeout||t.jsonData.validateSql||t.jsonData.enableSecureSocksProxy||t.jsonData.customSettings||t.jsonData.logs||t.jsonData.traces),k=r.secure?r.protocol===Ve.Native?o.serverPort.secureNativePort:o.serverPort.secureHttpPort:r.protocol===Ve.Native?o.serverPort.insecureNativePort:o.serverPort.insecureHttpPort,E=`${o.serverPort.tooltip} (default for ${r.secure?"secure":""} ${r.protocol}: ${k})`;return He().createElement(He().Fragment,null,He().createElement(st,{dataSourceName:"Clickhouse",docsLink:"https://grafana.com/grafana/plugins/grafana-clickhouse-datasource/",hasRequiredFields:!0}),He().createElement(Ot,null),He().createElement(ft,{title:"Server"},He().createElement(T.Field,{required:!0,label:o.serverAddress.label,description:o.serverAddress.tooltip,invalid:!r.host,error:o.serverAddress.error},He().createElement(T.Input,{name:"host",width:80,value:r.host||"",onChange:(0,m.onUpdateDatasourceJsonDataOption)(e,"host"),label:o.serverAddress.label,"aria-label":o.serverAddress.label,placeholder:o.serverAddress.placeholder})),He().createElement(T.Field,{required:!0,label:o.serverPort.label,description:E,invalid:!r.port,error:o.serverPort.error},He().createElement(T.Input,{name:"port",width:40,type:"number",value:r.port||"",onChange:e=>{return r=e.currentTarget.value,void s(Wt(Kt({},t),{jsonData:Wt(Kt({},t.jsonData),{port:+r})}));var r},label:o.serverPort.label,"aria-label":o.serverPort.label,placeholder:k})),He().createElement(T.Field,{label:o.protocol.label,description:o.protocol.tooltip},He().createElement(T.RadioButtonGroup,{options:b,disabledOptions:[],value:r.protocol||Ve.Native,onChange:e=>{return r=e,void s(Wt(Kt({},t),{jsonData:Wt(Kt({},t.jsonData),{protocol:r})}));var r}})),He().createElement(T.Field,{label:o.secure.label,description:o.secure.tooltip},He().createElement(T.Switch,{id:"secure",className:"gf-form",value:r.secure||!1,onChange:e=>d("secure",e.currentTarget.checked)})),r.protocol===Ve.Http&&He().createElement(T.Field,{label:o.path.label,description:o.path.tooltip},He().createElement(T.Input,{value:r.path||"",name:"path",width:80,onChange:(0,m.onUpdateDatasourceJsonDataOption)(e,"path"),label:o.path.label,"aria-label":o.path.label,placeholder:o.path.placeholder}))),r.protocol===Ve.Http&&He().createElement(Ft,{headers:t.jsonData.httpHeaders,secureFields:t.secureJsonFields,onHttpHeadersChange:e=>((e,t,s)=>{const r=[],a={},n={};for(let t of e)if(t.name){if(t.secure){const e=`secureHttpHeaders.${t.name}`;a[e]=!0,t.value&&(n[e]=t.value,t.value="")}r.push(t)}const o=Vt({},t.secureJsonFields);for(let e in o)!a[e]&&e.startsWith("secureHttpHeaders.")&&(a[e]=!1,n[e]="");s(zt(Vt({},t),{jsonData:zt(Vt({},t.jsonData),{httpHeaders:r}),secureJsonFields:Vt({},t.secureJsonFields,a),secureJsonData:Vt({},t.secureJsonData,n)}))})(e,t,s)}),He().createElement(Ot,null),He().createElement(ft,{title:"TLS / SSL Settings"},He().createElement(T.Field,{label:o.tlsSkipVerify.label,description:o.tlsSkipVerify.tooltip},He().createElement(T.Switch,{className:"gf-form",value:r.tlsSkipVerify||!1,onChange:e=>y("tlsSkipVerify",e.currentTarget.checked)})),He().createElement(T.Field,{label:o.tlsClientAuth.label,description:o.tlsClientAuth.tooltip},He().createElement(T.Switch,{className:"gf-form",value:r.tlsAuth||!1,onChange:e=>y("tlsAuth",e.currentTarget.checked)})),He().createElement(T.Field,{label:o.tlsAuthWithCACert.label,description:o.tlsAuthWithCACert.tooltip},He().createElement(T.Switch,{className:"gf-form",value:r.tlsAuthWithCACert||!1,onChange:e=>y("tlsAuthWithCACert",e.currentTarget.checked)})),r.tlsAuthWithCACert&&He().createElement(Ge,{hasCert:!!i,onChange:e=>$("tlsCACert",e.currentTarget.value),placeholder:o.tlsCACert.placeholder,label:o.tlsCACert.label,onClick:()=>_("tlsCACert")}),r.tlsAuth&&He().createElement(He().Fragment,null,He().createElement(Ge,{hasCert:!!c,onChange:e=>$("tlsClientCert",e.currentTarget.value),placeholder:o.tlsClientCert.placeholder,label:o.tlsClientCert.label,onClick:()=>_("tlsClientCert")}),He().createElement(Ge,{hasCert:!!p,placeholder:o.tlsClientKey.placeholder,label:o.tlsClientKey.label,onChange:e=>$("tlsClientKey",e.currentTarget.value),onClick:()=>_("tlsClientKey")}))),He().createElement(Ot,null),He().createElement(ft,{title:"Credentials"},He().createElement(T.Field,{label:o.username.label,description:o.username.tooltip},He().createElement(T.Input,{name:"user",width:40,value:r.username||"",onChange:(0,m.onUpdateDatasourceJsonDataOption)(e,"username"),label:o.username.label,"aria-label":o.username.label,placeholder:o.username.placeholder})),He().createElement(T.Field,{label:o.password.label,description:o.password.tooltip},He().createElement(T.SecretInput,{name:"pwd",width:40,label:o.password.label,"aria-label":o.password.label,placeholder:o.password.placeholder,value:l.password||"",isConfigured:n&&n.password,onReset:()=>{s(Wt(Kt({},t),{secureJsonFields:Wt(Kt({},t.secureJsonFields),{password:!1}),secureJsonData:Wt(Kt({},t.secureJsonData),{password:""})}))},onChange:(0,m.onUpdateDatasourceSecureJsonDataOption)(e,"password")}))),He().createElement(Ot,null),He().createElement(ft,{title:"Additional settings",description:"Additional settings are optional settings that can be configured for more control over your data source. This includes the default database, dial and query timeouts, SQL validation, and custom ClickHouse settings.",isCollapsible:!0,isInitiallyOpen:v},He().createElement(Ot,null),He().createElement(St,{defaultDatabase:r.defaultDatabase,defaultTable:r.defaultTable,onDefaultDatabaseChange:(0,m.onUpdateDatasourceJsonDataOption)(e,"defaultDatabase"),onDefaultTableChange:(0,m.onUpdateDatasourceJsonDataOption)(e,"defaultTable")}),He().createElement(Ot,null),He().createElement(It,{dialTimeout:r.dialTimeout,queryTimeout:r.queryTimeout,validateSql:r.validateSql,onDialTimeoutChange:(0,m.onUpdateDatasourceJsonDataOption)(e,"dialTimeout"),onQueryTimeoutChange:(0,m.onUpdateDatasourceJsonDataOption)(e,"queryTimeout"),onValidateSqlChange:e=>d("validateSql",e.currentTarget.checked)}),He().createElement(Ot,null),He().createElement(Rt,{logsConfig:r.logs,onDefaultDatabaseChange:e=>f("defaultDatabase",e),onDefaultTableChange:e=>f("defaultTable",e),onOtelEnabledChange:e=>f("otelEnabled",e),onOtelVersionChange:e=>f("otelVersion",e),onTimeColumnChange:e=>f("timeColumn",e),onLevelColumnChange:e=>f("levelColumn",e),onMessageColumnChange:e=>f("messageColumn",e)}),He().createElement(Ot,null),He().createElement(Pt,{tracesConfig:r.traces,onDefaultDatabaseChange:e=>w("defaultDatabase",e),onDefaultTableChange:e=>w("defaultTable",e),onOtelEnabledChange:e=>w("otelEnabled",e),onOtelVersionChange:e=>w("otelVersion",e),onTraceIdColumnChange:e=>w("traceIdColumn",e),onSpanIdColumnChange:e=>w("spanIdColumn",e),onOperationNameColumnChange:e=>w("operationNameColumn",e),onParentSpanIdColumnChange:e=>w("parentSpanIdColumn",e),onServiceNameColumnChange:e=>w("serviceNameColumn",e),onDurationColumnChange:e=>w("durationColumn",e),onDurationUnitChange:e=>w("durationUnit",e),onStartTimeColumnChange:e=>w("startTimeColumn",e),onTagsColumnChange:e=>w("tagsColumn",e),onServiceTagsColumnChange:e=>w("serviceTagsColumn",e)}),He().createElement(Ot,null),u.config.featureToggles.secureSocksDSProxyEnabled&&(0,ze.gte)(u.config.buildInfo.version,"10.0.0")&&He().createElement(T.Field,{label:o.secureSocksProxy.label,description:o.secureSocksProxy.tooltip},He().createElement(T.Switch,{className:"gf-form",value:r.enableSecureSocksProxy||!1,onChange:e=>d("enableSecureSocksProxy",e.currentTarget.checked)})),He().createElement(At,{title:"Custom Settings"},x.map((({setting:e,value:t},s)=>He().createElement(T.HorizontalGroup,{key:s},He().createElement(T.Field,{label:"Setting","aria-label":"Setting"},He().createElement(T.Input,{value:e,placeholder:"Setting",onChange:e=>{let r=x.concat();r[s]={setting:e.target.value,value:t},g(r)},onBlur:()=>{h(x)}})),He().createElement(T.Field,{label:"Value","aria-label":"Value"},He().createElement(T.Input,{value:t,placeholder:"Value",onChange:t=>{let r=x.concat();r[s]={setting:e,value:t.target.value},g(r)},onBlur:()=>{h(x)}}))))),He().createElement(T.Button,{variant:"secondary",icon:"plus",type:"button",onClick:()=>{g([...x,{setting:"",value:""}])}},"Add custom setting"))))})).setQueryEditor((e=>{const{query:t,onRunQuery:s}=e,r=(e=>void 0===e.rawSql?e:(e=>{const t=!e.pluginVersion||!Ee(e.pluginVersion,"4.0.0"),s="sql"===e.queryType||"builder"===e.queryType;return t||s})(e)?(e=>{if("builder"===e.queryType){var t,s;const r=Vr(Gr({},e),{pluginVersion:ge,editorType:l.Builder,builderOptions:zr(e.builderOptions||{}),rawSql:e.rawSql||"",refId:e.refId||"",format:e.format});return(null===(s=e)||void 0===s||null===(t=s.meta)||void 0===t?void 0:t.timezone)&&(r.meta={timezone:e.meta.timezone}),delete r.queryType,delete r.selectedFormat,r}const r=Vr(Gr({},e),{pluginVersion:ge,editorType:l.SQL,rawSql:e.rawSql||"",refId:e.refId||"",format:e.format,queryType:Ne(e.format),meta:{}});if(e.expand&&(r.expand=e.expand),e.meta){const t=e.meta;t.timezone&&(r.meta.timezone=t.timezone),t.builderOptions&&(r.meta.builderOptions=zr(t.builderOptions))}return delete r.builderOptions,delete r.selectedFormat,r})(e):e)(t);return He().createElement(He().Fragment,null,He().createElement("div",{className:"gf-form "+Dt.QueryEditor.queryType},He().createElement(us,Yr(Wr({},e),{query:r})),He().createElement(T.Button,{onClick:()=>s()},"Run Query")),He().createElement(Xr,Yr(Wr({},e),{query:r})))}));(0,u.getAppEvents)().subscribe(m.DashboardLoadedEvent,(({payload:{dashboardId:s,orgId:r,grafanaVersion:a,queries:n}})=>{var o,i;const c=null===(o=n[Jr.id])||void 0===o?void 0:o.filter((e=>!e.hide));var p;(null===(i=c)||void 0===i?void 0:i.length)&&(p=function(e){for(var t=1;t{const r={sql_queries:0,sql_query_type_table:0,sql_query_type_logs:0,sql_query_type_timeseries:0,sql_query_type_traces:0,builder_queries:0,builder_query_type_table:0,builder_query_type_table_simple:0,builder_query_type_table_aggregate:0,builder_query_type_logs:0,builder_query_type_timeseries:0,builder_query_type_timeseries_simple:0,builder_query_type_timeseries_aggregate:0,builder_query_type_traces:0,builder_query_type_traces_search:0,builder_query_type_traces_id:0,builder_minimized_queries:0,builder_otel_queries:0};return s.forEach((s=>{if(s.editorType===l.SQL)r.sql_queries++,s.queryType===t.Table?r.sql_query_type_table++:s.queryType===t.Logs?r.sql_query_type_logs++:s.queryType===t.TimeSeries?r.sql_query_type_timeseries++:s.queryType===t.Traces&&r.sql_query_type_traces++;else if(s.editorType===l.Builder){var a,n;if(r.builder_queries++,!s.builderOptions)return;if(s.builderOptions.queryType===t.Table)r.builder_query_type_table++,s.builderOptions.mode===e.Aggregate?r.builder_query_type_table_aggregate++:r.builder_query_type_table_simple++;else if(s.builderOptions.queryType===t.Logs)r.builder_query_type_logs++;else if(s.builderOptions.queryType===t.TimeSeries)r.builder_query_type_timeseries++,s.builderOptions.mode===e.Trend?r.builder_query_type_timeseries_aggregate++:r.builder_query_type_timeseries_simple++;else if(s.builderOptions.queryType===t.Traces){var o;r.builder_query_type_traces++,(null===(o=s.builderOptions.meta)||void 0===o?void 0:o.isTraceIdMode)?r.builder_query_type_traces_id++:r.builder_query_type_traces_search++}(null===(a=s.builderOptions.meta)||void 0===a?void 0:a.minimized)&&r.builder_minimized_queries++,(null===(n=s.builderOptions.meta)||void 0===n?void 0:n.otelEnabled)&&r.builder_otel_queries++}})),r})(c)),(0,u.reportInteraction)("grafana_ds_clickhouse_dashboard_loaded",p))}))})(),p})())); //# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/panels/grafana-clickhouse-datasource/module.js.map b/panels/grafana-clickhouse-datasource/module.js.map index 7319d9974d..e5949d1516 100644 --- a/panels/grafana-clickhouse-datasource/module.js.map +++ b/panels/grafana-clickhouse-datasource/module.js.map @@ -1 +1 @@ -{"version":3,"file":"module.js","mappings":"mJAAA,MAyEIA,EAAY,WAChB,IAAIC,EAAE,SAASC,EAAEC,EAAEF,EAAEG,GAAG,IAAIH,EAAEA,GAAG,CAAC,EAAEG,EAAEF,EAAEG,OAAOD,IAAIH,EAAEC,EAAEE,IAAID,GAAG,OAAOF,CAAC,EAAEK,EAAI,CAAC,EAAE,GAAGC,EAAI,CAAC,EAAE,GAAGC,EAAI,CAAC,EAAE,GAAGC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,GAAGC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAKC,EAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAKC,EAAI,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,IAAIC,GAAI,CAAC,EAAE,IAAIC,GAAI,CAAC,EAAE,IAAIC,GAAI,CAAC,EAAE,IAAIC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,IAAIC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,GAAG,IAAIC,GAAK,CAAC,EAAE,IAAIC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,EAAE,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAKC,GAAK,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAKC,GAAK,CAAC,GAAG,GAAG,IAAIC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,EAAE,GAAG,IAAIC,GAAK,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,IAAI,KAAKC,GAAK,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAA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SAAS,IAAI,SAClvCC,aAAc,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,IAChmDC,cAAe,SAAmBC,EAAQC,EAAQC,EAAUP,EAAIQ,EAAyBC,EAAiBC,GAG1G,IAAIC,EAAKF,EAAG3I,OAAS,EACrB,OAAQ0I,GACR,KAAK,EAAG,KAAK,EACZ,MAAO,CAACI,SAAU,OAAQC,MAAOJ,EAAGE,EAAG,GAAIG,aAAcL,EAAGE,EAAG,IAEhE,KAAK,EAAG,KAAK,IACZI,KAAKC,GAAI,EACV,MACA,KAAK,EACJD,KAAKC,GAAI,EACV,MACA,KAAK,EAAG,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IACvmBD,KAAKC,EAAIP,EAAGE,GACb,MACA,KAAK,EACJI,KAAKC,EAAIP,EAAGE,EAAG,GAAII,KAAKC,EAAEC,QAAUR,EAAGE,EAAG,GAAII,KAAKC,EAAEE,MAAQT,EAAGE,GACjE,MACA,KAAK,EAAG,KAAK,EAMb,KAAK,GAAI,KAAK,GACbI,KAAKC,EAAI,CAAEG,KAAM,QAASC,KAAMX,EAAGE,EAAG,GAAIU,YAAaZ,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IAC5E,MALA,KAAK,EACJI,KAAKC,EAAI,CAAEG,KAAM,sBAAuBN,MAAOJ,EAAGE,EAAG,IACtD,MAIA,KAAK,GAEGI,KAAKC,EAAI,CACPG,KAAM,SACNE,YAAaZ,EAAGE,EAAG,IACnBY,gBAAiBd,EAAGE,EAAG,GACvBa,oBAAqBf,EAAGE,EAAG,GAC3Bc,gBAAiBhB,EAAGE,EAAG,GACvBe,kBAAmBjB,EAAGE,EAAG,GACzBgB,gBAAiBlB,EAAGE,EAAG,GACvBiB,mBAAoBnB,EAAGE,EAAG,GAC1BkB,YAAapB,EAAGE,EAAG,GACnBmB,oBAAqBrB,EAAGE,EAAG,GAC3BoB,YAAatB,EAAGE,EAAG,GACnBqB,KAAMvB,EAAGE,GAAIqB,KACbC,UAAWxB,EAAGE,GAAIsB,UAClBC,MAAOzB,EAAGE,GAAIuB,MACdC,QAAS1B,EAAGE,GAAIwB,QAChBC,OAAQ3B,EAAGE,GAAIyB,OACfnB,QAASR,EAAGE,GAAIM,QAChBC,MAAOT,EAAGE,GAAIO,MACdmB,UAAW5B,EAAGE,GAAI0B,UAClBC,eAAgB7B,EAAGE,GAAI2B,gBAGjC,MACA,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAC1RvB,KAAKC,EAAI,KACV,MACA,KAAK,GACJP,EAAGE,EAAG,GAAGE,MAAM0B,KAAK9B,EAAGE,IACxB,MACA,KAAK,GACJI,KAAKC,EAAI,CAAEG,KAAM,aAAcN,MAAO,CAAEJ,EAAGE,KAC5C,MACA,KAAK,GAAI,KAAK,GAAI,KAAK,GACtBI,KAAKC,EAAI,CAAEG,KAAM,aAAcN,MAAOJ,EAAGE,IAC1C,MACA,KAAK,GACJI,KAAKC,EAAIP,EAAGE,EAAG,GAAII,KAAKC,EAAEwB,MAAQ/B,EAAGE,GAAI6B,MAAOzB,KAAKC,EAAEyB,MAAQhC,EAAGE,GAAI8B,MACvE,MACA,KAAK,GAAI,KAAK,IACb1B,KAAKC,EAAI,CAACwB,MAAO,KAAMC,MAAO,MAC/B,MACA,KAAK,GAAI,KAAK,GACb1B,KAAKC,EAAI,CAACwB,MAAO/B,EAAGE,GAAK8B,OAAO,GACjC,MACA,KAAK,GACJ1B,KAAKC,EAAI,CAACwB,MAAO/B,EAAGE,GAAK8B,OAAO,GACjC,MACA,KAAK,GACJ1B,KAAKC,EAAI,CAACwB,MAAO/B,EAAGiC,KAAMD,OAAO,GAClC,MACA,KAAK,GACJ1B,KAAKC,EAAI,CAAEG,KAAM,SAAUN,MAAOJ,EAAGE,IACtC,MACA,KAAK,GAAI,KAAK,GAAI,KAAK,GACtBI,KAAKC,EAAI,CAAEG,KAAM,SAAUN,MAAOJ,EAAGE,IACtC,MACA,KAAK,GACJI,KAAKC,EAAI,CAAEG,KAAM,UAAWN,MAAO,QACpC,MACA,KAAK,GACJE,KAAKC,EAAI,CAAEG,KAAM,UAAWN,MAAO,SACpC,MACA,KAAK,GACJE,KAAKC,EAAI,CAAEG,KAAM,OAAQN,MAAO,QACjC,MACA,KAAK,GACJE,KAAKC,EAAI,CAACG,KAAM,eAAgBwB,KAAMlC,EAAGE,EAAG,GAAIiC,OAAQnC,EAAGE,EAAG,IAC/D,MACA,KAAK,GACJF,EAAGE,EAAG,GAAG4B,KAAK9B,EAAGE,IAAMI,KAAKC,EAAIP,EAAGE,EAAG,GACvC,MACA,KAAK,GAuIL,KAAK,IAAK,KAAK,IACdI,KAAKC,EAAI,CAAEP,EAAGE,IACf,MAtIA,KAAK,GACJI,KAAKC,EAAI,CAAEG,KAAM,oBAAqBE,YAAaZ,EAAGE,EAAG,GAAIE,MAAOJ,EAAGE,IACxE,MACA,KAAK,GACJI,KAAKC,EAAIP,EAAGE,EAAG,GAAIF,EAAGE,EAAG,GAAGE,OAAS,IAAMJ,EAAGE,GAC/C,MACA,KAAK,GACJI,KAAKC,EAAI,CAAEG,KAAM,iBAAkBN,MAAO,CAAEJ,EAAGE,KAChD,MACA,KAAK,GAAI,KAAK,IACbI,KAAKC,EAAIP,EAAGE,EAAG,GAAIF,EAAGE,EAAG,GAAGE,MAAM0B,KAAK9B,EAAGE,IAC3C,MACA,KAAK,GACJI,KAAKC,EAAI,CAAEG,KAAM,eAAgBN,MAAO,CAAE,CAAEgC,KAAMpC,EAAGE,EAAG,GAAImC,KAAMrC,EAAGE,MACtE,MACA,KAAK,GACJI,KAAKC,EAAIP,EAAGE,EAAG,GAAII,KAAKC,EAAEH,MAAM0B,KAAK,CAAEM,KAAMpC,EAAGE,EAAG,GAAImC,KAAMrC,EAAGE,KACjE,MACA,KAAK,GACJI,KAAKC,EAAI,CAAEG,KAAM,WAAY4B,YAAatC,EAAGE,EAAG,GAAIqC,aAAcvC,EAAGE,EAAG,GAAIsC,KAAMxC,EAAGE,EAAG,IACzF,MACA,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GACxCI,KAAKC,EAAI,CAAEG,KAAM,SAAU+B,OAAQzC,EAAGE,EAAG,GAAIE,MAAOJ,EAAGE,IACxD,MACA,KAAK,GACJI,KAAKC,EAAI,CAAEG,KAAM,wBAAyBN,MAAOJ,EAAGE,EAAG,IACxD,MACA,KAAK,GACJI,KAAKC,EAAI,CAAEG,KAAM,wBAAyBN,MAAOJ,EAAGE,EAAG,GAAIwC,QAAQ,GACpE,MACA,KAAK,GACJpC,KAAKC,EAAI,CAAEG,KAAM,WAAYN,MAAOJ,EAAGE,EAAG,IAC3C,MACA,KAAK,GACJI,KAAKC,EAAI,CAAEG,KAAM,WAAYN,MAAOJ,EAAGE,EAAG,GAAIyC,WAAW,GAC1D,MACA,KAAK,GACJrC,KAAKC,EAAI,CAAEG,KAAM,iBAAkBkC,WAAY5C,EAAGE,EAAG,GAAIE,MAAOJ,EAAGE,EAAG,IACvE,MACA,KAAK,GACJI,KAAKC,EAAI,CAAEG,KAAM,gBAAiBmC,SAAU,IAAKlC,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IAC5E,MACA,KAAK,GACJI,KAAKC,EAAI,CAAEG,KAAM,gBAAiBmC,SAAU,IAAKlC,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IAC5E,MACA,KAAK,GACJI,KAAKC,EAAI,CAAEG,KAAM,gBAAiBmC,SAAU,KAAMlC,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IAC7E,MACA,KAAK,GACJI,KAAKC,EAAI,CAAEG,KAAM,gBAAiBmC,SAAU,KAAMlC,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IAC7E,MACA,KAAK,GACJI,KAAKC,EAAI,CAAEG,KAAM,gBAAiBmC,SAAU,IAAKlC,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IAC5E,MACA,KAAK,GACJI,KAAKC,EAAI,CAAEG,KAAM,gBAAiBmC,SAAU,IAAKlC,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IAC5E,MACA,KAAK,GACJI,KAAKC,EAAI,CAAEG,KAAM,gBAAiBmC,SAAU,IAAKlC,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IAC5E,MACA,KAAK,GACJI,KAAKC,EAAI,CAAEG,KAAM,gBAAiBmC,SAAU,IAAKlC,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IAC5E,MACA,KAAK,GACJI,KAAKC,EAAI,CAAEG,KAAM,gBAAiBmC,SAAU,MAAOlC,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IAC9E,MACA,KAAK,GACJI,KAAKC,EAAI,CAAEG,KAAM,gBAAiBmC,SAAU,MAAOlC,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IAC9E,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,gBAAiBmC,SAAU,IAAKlC,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IAC5E,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,gBAAiBmC,SAAU,IAAKlC,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IAC5E,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,sBAAuBoC,OAAQ9C,EAAGE,EAAG,GAAIS,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,EAAG,IACxF,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,4BAA6BoC,OAAQ9C,EAAGE,EAAG,GAAIS,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,EAAG,IAC9F,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,mBAAoBoC,OAAQ9C,EAAGE,EAAG,GAAIS,KAAMX,EAAGE,EAAG,GAAIW,MAAO,CAAEF,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,KAC3G,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,sBAAuBoC,QAAQ,EAAOnC,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IAClF,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,gBAAiBoC,OAAQ9C,EAAGE,EAAG,GAAIS,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,EAAG,GAAI6C,OAAQ/C,EAAGE,IACjG,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,kBAAmBoC,OAAQ9C,EAAGE,EAAG,GAAIS,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IACjF,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,uBAAwBoC,OAAQ9C,EAAGE,EAAG,GAAKE,MAAOJ,EAAGE,EAAG,IAC1E,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,2BAA4BC,KAAMX,EAAGE,EAAG,GAAI2C,SAAU7C,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IAC5F,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,mCAAoCmC,SAAU7C,EAAGE,EAAG,GAAI8C,YAAahD,EAAGE,EAAG,GAAIS,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,EAAG,IAC9H,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,eAAgBN,MAAOJ,EAAGE,IAC5C,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,eAAgBoC,OAAQ9C,EAAGE,EAAG,GAAIS,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IAC9E,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,gBAAiBN,MAAOJ,EAAGE,IAC7C,MACA,KAAK,IAAK,KAAK,IACdI,KAAKC,EAAI,CAAEG,KAAM,gBAAiBmC,SAAU7C,EAAGE,EAAG,GAAIS,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IACjF,MACA,KAAK,IAAK,KAAK,IACdI,KAAKC,EAAI,CAAEG,KAAM,eAAgBmC,SAAU7C,EAAGE,EAAG,GAAIS,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IAChF,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,gBAAiBC,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IAC7D,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,iBAAkBN,MAAO,CAAEJ,EAAGE,KAChD,MACA,KAAK,IAAK,KAAK,IACdI,KAAKC,EAAIP,EAAGE,EAAG,GAAII,KAAKC,EAAEH,MAAM0B,KAAK9B,EAAGE,IACzC,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,UAAWN,MAAOJ,EAAGE,EAAG,GAAI+C,OAAQjD,EAAGE,IACzD,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,UAAWN,MAAOJ,EAAGE,EAAG,GAAI+C,OAAQjD,EAAGE,IACzD,MAIA,KAAK,IA+DL,KAAK,IACJI,KAAKC,EAAIP,EAAGE,EAAG,GAAIF,EAAGE,EAAG,GAAG4B,KAAK9B,EAAGE,IACrC,MA9DA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,qBAAsBN,MAAOJ,EAAGE,EAAG,GAAIgD,QAASlD,EAAGE,IACrE,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,QAASN,MAAO,CAAEJ,EAAGE,KACvC,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,QAASN,MAAO,CAAEJ,EAAGE,EAAG,GAAIF,EAAGE,KACjD,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,QAASN,MAAO,CAAEJ,EAAGE,GAAKF,EAAGE,EAAG,IAAMiD,YAAY,GACpE,MACA,KAAK,IACJ7C,KAAKC,EAAIP,EAAGE,EAAG,GAAK,IAAMF,EAAGE,GAC9B,MACA,KAAK,IACJI,KAAKC,EAAIP,EAAGE,EAAG,GAAK,IAAMF,EAAGE,EAAG,GAAK,IAAMF,EAAGE,EAAG,GAAK,IAAMF,EAAGE,GAChE,MACA,KAAK,IACJI,KAAKC,EAAI,CAAC,EACX,MACA,KAAK,IACJD,KAAKC,EAAI,CAAEgB,KAAMvB,EAAGE,EAAG,GAAIsB,UAAWxB,EAAGE,EAAG,GAAIuB,MAAOzB,EAAGE,EAAG,GAAIwB,QAAS1B,EAAGE,EAAG,GAAIyB,OAAQ3B,EAAGE,EAAG,GAAIM,QAASR,EAAGE,EAAG,GAAIO,MAAOT,EAAGE,EAAG,GAAI0B,UAAW5B,EAAGE,EAAG,GAAI2B,eAAgB7B,EAAGE,IACnL,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,kBAAmBN,MAAO,CAAEJ,EAAGE,KACjD,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,iBAAkBN,MAAOJ,EAAGE,IAC9C,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,iBAAkB0C,OAAO,EAAMhD,MAAOJ,EAAGE,EAAG,IAC9D,MACA,KAAK,IACJI,KAAKC,EAAI,CAAE8C,UAAW,KAAMC,OAAQ,MACrC,MACA,KAAK,IACJhD,KAAKC,EAAI,CAAE8C,UAAWrD,EAAGE,EAAG,GAAIoD,OAAQtD,EAAGE,IAC5C,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,sBAAuB6C,cAAevD,EAAGE,EAAG,GAAIS,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,GAAKsD,UAAW,MAC5G,MACA,KAAK,IACJlD,KAAKC,EAAI,CAAEG,KAAM,sBAAuB6C,cAAevD,EAAGE,EAAG,GAAIS,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,EAAG,GAAIsD,UAAWxD,EAAGE,IACjH,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,oBAAqBC,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,EAAG,GAAIsD,UAAWxD,EAAGE,IACtF,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,qBAAsB2C,UAAWrD,EAAGE,EAAG,GAAIoD,OAAQtD,EAAGE,EAAG,GAAIS,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,EAAG,GAAIsD,UAAWxD,EAAGE,IAC9H,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,mBAAoB2C,UAAWrD,EAAGE,EAAG,GAAGmD,UAAWC,OAAQtD,EAAGE,EAAG,GAAGoD,OAAQ3C,KAAMX,EAAGE,EAAG,GAAIW,MAAOb,EAAGE,IACxH,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,kBAAmBN,MAAOJ,EAAGE,IAC/C,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,qBAAsBN,MAAOJ,EAAGE,EAAG,IACrD,MAIA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,aAAcN,MAAOJ,EAAGE,EAAG,IAC7C,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEyB,OAAO,EAAMD,MAAO/B,EAAGE,IACnC,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEyB,OAAO,EAAOD,MAAO/B,EAAGE,IACpC,MACA,KAAK,IAAK,KAAK,IAAK,KAAK,IACxBI,KAAKC,EAAI,CAAEG,KAAM,kBAAmBN,MAAOJ,EAAGE,IAC/C,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,gBAAiBN,MAAO,CAAEJ,EAAGE,KAC/C,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,eAAgBN,MAAOJ,EAAGE,EAAG,GAAIuD,OAAQzD,EAAGE,EAAG,GAAIwD,WAAY1D,EAAGE,EAAG,IACvF,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,kBAAmBN,MAAOJ,EAAGE,EAAG,GAAIuD,OAAQzD,EAAGE,EAAG,GAAIwD,WAAY1D,EAAGE,EAAG,IAC1F,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,iBAAkBN,MAAOJ,EAAGE,EAAG,GAAIuD,OAAQzD,EAAGE,EAAG,GAAIwD,WAAY1D,EAAGE,EAAG,IACzF,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,cAAeN,MAAOJ,EAAGE,EAAG,GAAIsB,UAAWxB,EAAGE,EAAG,GAAI6B,MAAO/B,EAAGE,EAAG,GAAG6B,MAAOC,MAAOhC,EAAGE,EAAG,GAAG8B,MAAO2B,aAAc3D,EAAGE,IACtI,MACA,KAAK,IACJI,KAAKC,EAAI,CAAEG,KAAM,cAAeN,MAAO,CAAEM,KAAM,WAAYN,MAAOJ,EAAGE,EAAG,IAAM6B,MAAO/B,EAAGE,GAAI6B,MAAOC,MAAOhC,EAAGE,GAAI8B,OAClH,MACA,KAAK,IACJ1B,KAAKC,EAAIP,EAAGE,EAAG,GAAII,KAAKC,EAAEqD,gBAAiB,EAG5C,EACAC,MAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAGvM,EAAI,GAAGC,GAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAEC,EAAI,EAAEC,EAAI,GAAGC,GAAK,CAAC,EAAE,GAAG,EAAEF,EAAI,EAAEC,GAAKR,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAKU,EAAI,CAAC,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAGC,IAAMb,EAAEc,EAAI,CAAC,EAAE,IAAId,EAAE,CAAC,EAAE,EAAE,KAAKe,EAAI,CAAC,GAAG,GAAG,IAAI,GAAG,IAAIC,IAAM,CAAC,GAAGC,GAAK,CAAC,EAAE,GAAG,GAAGX,GAAK,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,GAAGI,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,GAAK,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,KAAKb,EAAEkB,EAAI,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,MAAMlB,EAAEmB,EAAI,CAAC,EAAE,KAAKnB,EAAEmB,EAAI,CAAC,EAAE,KAAKnB,EAAEmB,EAAI,CAAC,EAAE,KAAKnB,EAAEc,EAAIM,EAAI,CAAC,GAAG,GAAG,IAAI,GAAG,IAAIC,IAAMrB,EAAEsB,EAAI,CAAC,EAAE,MAAM,CAAC,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,IAAIC,EAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG/B,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,GAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,GAAGP,GAAK,CAAC,EAAE,CAAC,EAAE,IAAIN,EAAE0C,EAAI,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,MAAM1C,EAAEkB,EAAI,CAAC,EAAE,KAAKlB,EAAEc,EAAI,CAAC,EAAE,IAAId,EAAE2C,EAAI,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK3C,EAAEsB,EAAIsB,EAAI,CAAC,IAAI,GAAG,GAAGC,EAAI,IAAIC,IAAM9C,EAAE+C,EAAI,CAAC,EAAE,MAAM/C,EAAE+C,EAAI,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,IAAIC,EAAI,IAAIC,EAAI,IAAIC,EAAI,IAAIC,EAAI,IAAIC,EAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,MAAMpD,EAAEqD,EAAI,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG9B,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,IAAIC,EAAI,IAAI,GAAG,IAAI,IAAIzC,EAAEsD,EAAI,CAAC,EAAE,MAAMtD,EAAEsD,EAAI,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,GAAI,GAAGC,GAAI,GAAGC,GAAI,GAAGC,GAAI,GAAGC,GAAI,GAAGC,GAAI,GAAGC,GAAI,GAAGC,GAAI,GAAGC,GAAI,IAAIC,GAAI,IAAIC,GAAI,IAAIA,GAAI,IAAIA,GAAI,IAAIA,GAAI,IAAI,CAAC,EAAE,MAAMpE,EAAEqE,GAAK,CAAC,EAAE,KAAKrE,EAAEsE,GAAK,CAAC,EAAE,KAAKtE,EAAEsE,GAAK,CAAC,EAAE,IAAI,CAAC,GAAGC,KAAOvE,EAAEsE,GAAK,CAAC,EAAE,KAAKtE,EAAEsE,GAAK,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,GAAG/C,EAAI,GAAGjB,EAAI,GAAGkB,EAAI,GAAG,IAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,IAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,IAAIC,EAAI,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG+B,GAAK,GAAG,KAAKxE,EAAEsE,GAAK,CAAC,EAAE,KAAKtE,EAAEsE,GAAK,CAAC,EAAE,KAAKtE,EAAEsE,GAAK,CAAC,EAAE,KAAKtE,EAAEsE,GAAK,CAAC,EAAE,KAAKtE,EAAEsE,GAAK,CAAC,EAAE,KAAKtE,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKyE,GAAK,CAAC,GAAGC,KAAO,CAAC,GAAGnD,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,IAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,GAAK,CAAC,GAAGjB,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,IAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,GAAK,CAAC,GAAGjB,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,IAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,GAAK,CAAC,GAAGjB,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,IAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,GAA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,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,KAAK,CAAC,GAAGjB,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,KAAK,CAAC,GAAGjB,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,KAAK,CAAC,GAAGjB,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,KAAK,CAAC,GAAGjB,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,KAAK,CAAC,GAAGjB,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,KAAK,CAAC,GAAGjB,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,KAAK,CAAC,GAAGjB,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,KAAK,CAAC,GAAGjB,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAGC,EAAI,GAAG,GAAG,GAAG,GAAG,GAAGC,EAAI,GAAGC,EAAI,GAAG,GA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AAO,GAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,O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","sources":["webpack:///../node_modules/js-sql-parser/dist/parser/sqlParser.js","webpack:///../node_modules/lodash/_Hash.js","webpack:///../node_modules/lodash/_ListCache.js","webpack:///../node_modules/lodash/_Map.js","webpack:///../node_modules/lodash/_MapCache.js","webpack:///../node_modules/lodash/_Stack.js","webpack:///../node_modules/lodash/_Symbol.js","webpack:///../node_modules/lodash/_Uint8Array.js","webpack:///../node_modules/lodash/_apply.js","webpack:///../node_modules/lodash/_arrayLikeKeys.js","webpack:///../node_modules/lodash/_assignMergeValue.js","webpack:///../node_modules/lodash/_assignValue.js","webpack:///../node_modules/lodash/_assocIndexOf.js","webpack:///../node_modules/lodash/_baseAssignValue.js","webpack:///../node_modules/lodash/_baseCreate.js","webpack:///../node_modules/lodash/_baseFor.js","webpack:///../node_modules/lodash/_baseGetTag.js","webpack:///../node_modules/lodash/_baseIsArguments.js","webpack:///../node_modules/lodash/_baseIsNative.js","webpack:///../node_modules/lodash/_baseIsTypedArray.js","webpack:///../node_modules/lodash/_baseKeysIn.js","webpack:///../node_modules/lodash/_baseMerge.js","webpack:///../node_modules/lodash/_baseMergeDeep.js","webpack:///../node_modules/lodash/_baseRest.js","webpack:///../node_modules/lodash/_baseSetToString.js","webpack:///../node_modules/lodash/_baseTimes.js","webpack:///../node_modules/lodash/_baseUnary.js","webpack:///../node_modules/lodash/_cloneArrayBuffer.js","webpack:///../node_modules/lodash/_cloneBuffer.js","webpack:///../node_modules/lodash/_cloneTypedArray.js","webpack:///../node_modules/lodash/_copyArray.js","webpack:///../node_modules/lodash/_copyObject.js","webpack:///../node_modules/lodash/_coreJsData.js","webpack:///../node_modules/lodash/_createAssigner.js","webpack:///../node_modules/lodash/_createBaseFor.js","webpack:///../node_modules/lodash/_customDefaultsMerge.js","webpack:///../node_modules/lodash/_defineProperty.js","webpack:///../node_modules/lodash/_freeGlobal.js","webpack:///../node_modules/lodash/_getMapData.js","webpack:///../node_modules/lodash/_getNative.js","webpack:///../node_modules/lodash/_getPrototype.js","webpack:///../node_modules/lodash/_getRawTag.js","webpack:///../node_modules/lodash/_getValue.js","webpack:///../node_modules/lodash/_hashClear.js","webpack:///../node_modules/lodash/_hashDelete.js","webpack:///../node_modules/lodash/_hashGet.js","webpack:///../node_modules/lodash/_hashHas.js","webpack:///../node_modules/lodash/_hashSet.js","webpack:///../node_modules/lodash/_initCloneObject.js","webpack:///../node_modules/lodash/_isIndex.js","webpack:///../node_modules/lodash/_isIterateeCall.js","webpack:///../node_modules/lodash/_isKeyable.js","webpack:///../node_modules/lodash/_isMasked.js","webpack:///../node_modules/lodash/_isPrototype.js","webpack:///../node_modules/lodash/_listCacheClear.js","webpack:///../node_modules/lodash/_listCacheDelete.js","webpack:///../node_modules/lodash/_listCacheGet.js","webpack:///../node_modules/lodash/_listCacheHas.js","webpack:///../node_modules/lodash/_listCacheSet.js","webpack:///../node_modules/lodash/_mapCacheClear.js","webpack:///../node_modules/lodash/_mapCacheDelete.js","webpack:///../node_modules/lodash/_mapCacheGet.js","webpack:///../node_modules/lodash/_mapCacheHas.js","webpack:///../node_modules/lodash/_mapCacheSet.js","webpack:///../node_modules/lodash/_nativeCreate.js","webpack:///../node_modules/lodash/_nativeKeysIn.js","webpack:///../node_modules/lodash/_nodeUtil.js","webpack:///../node_modules/lodash/_objectToString.js","webpack:///../node_modules/lodash/_overArg.js","webpack:///../node_modules/lodash/_overRest.js","webpack:///../node_modules/lodash/_root.js","webpack:///../node_modules/lodash/_safeGet.js","webpack:///../node_modules/lodash/_setToString.js","webpack:///../node_modules/lodash/_shortOut.js","webpack:///../node_modules/lodash/_stackClear.js","webpack:///../node_modules/lodash/_stackDelete.js","webpack:///../node_modules/lodash/_stackGet.js","webpack:///../node_modules/lodash/_stackHas.js","webpack:///../node_modules/lodash/_stackSet.js","webpack:///../node_modules/lodash/_toSource.js","webpack:///../node_modules/lodash/constant.js","webpack:///../node_modules/lodash/defaultsDeep.js","webpack:///../node_modules/lodash/eq.js","webpack:///../node_modules/lodash/identity.js","webpack:///../node_modules/lodash/isArguments.js","webpack:///../node_modules/lodash/isArray.js","webpack:///../node_modules/lodash/isArrayLike.js","webpack:///../node_modules/lodash/isArrayLikeObject.js","webpack:///../node_modules/lodash/isBuffer.js","webpack:///../node_modules/lodash/isFunction.js","webpack:///../node_modules/lodash/isLength.js","webpack:///../node_modules/lodash/isObject.js","webpack:///../node_modules/lodash/isObjectLike.js","webpack:///../node_modules/lodash/isPlainObject.js","webpack:///../node_modules/lodash/isTypedArray.js","webpack:///../node_modules/lodash/keysIn.js","webpack:///../node_modules/lodash/mergeWith.js","webpack:///../node_modules/lodash/stubFalse.js","webpack:///../node_modules/lodash/toPlainObject.js","webpack:///../node_modules/moo/moo.js","webpack:///../node_modules/nearley/lib/nearley.js","webpack:///../node_modules/pgsql-ast-parser/index.js","webpack:///external amd \"@emotion/css\"","webpack:///external amd \"@grafana/data\"","webpack:///external amd \"@grafana/runtime\"","webpack:///external amd \"@grafana/ui\"","webpack:///external amd \"lodash\"","webpack:///external amd \"react\"","webpack:///external amd \"rxjs\"","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/node module decorator","webpack:///./types.ts","webpack:///./data/ast.ts","webpack:///./data/adHocFilter.ts","webpack:///../node_modules/@grafana/schema/dist/esm/veneer/dashboard.types.js","webpack:///../node_modules/@grafana/schema/dist/esm/common/common.gen.js","webpack:///../node_modules/@grafana/schema/dist/esm/raw/dashboard/x/dashboard_types.gen.js","webpack:///../node_modules/@grafana/schema/dist/esm/raw/team/x/team_types.gen.js","webpack:///./data/logs.ts","webpack:///./components/queryBuilder/utils.ts","webpack:///./data/CHDatasource.ts","webpack:///./components/ui/CertificationKey.tsx","webpack:///./selectors.ts","webpack:///./components/sqlProvider.ts","webpack:///./styles.ts","webpack:///./components/suggestions.ts","webpack:///./components/editor.ts","webpack:///./data/validate.ts","webpack:///./components/SQLEditor.tsx","webpack:///./components/queryBuilder/TableSelect.tsx","webpack:///./components/queryBuilder/ModeEditor.tsx","webpack:///./components/queryBuilder/Fields.tsx","webpack:///./components/queryBuilder/Metrics.tsx","webpack:///./components/queryBuilder/TimeField.tsx","webpack:///./components/queryBuilder/Filters.tsx","webpack:///./components/queryBuilder/GroupBy.tsx","webpack:///./components/queryBuilder/OrderBy.tsx","webpack:///./components/queryBuilder/Limit.tsx","webpack:///./components/queryBuilder/DatabaseSelect.tsx","webpack:///./components/queryBuilder/LogLevelField.tsx","webpack:///./components/queryBuilder/QueryBuilder.tsx","webpack:///./components/queryBuilder/Preview.tsx","webpack:///./components/QueryTypeSwitcher.tsx","webpack:///./components/FormatSelect.tsx","webpack:///./views/CHQueryEditor.tsx","webpack:///./module.ts","webpack:///./views/CHConfigEditor.tsx","webpack:///./tracking.ts"],"sourcesContent":["/* parser generated by jison 0.4.18 */\n/*\n Returns a Parser object of the following structure:\n\n Parser: {\n yy: {}\n }\n\n Parser.prototype: {\n yy: {},\n trace: function(),\n symbols_: {associative list: name ==> number},\n terminals_: {associative list: number ==> name},\n productions_: [...],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),\n table: [...],\n defaultActions: {...},\n parseError: function(str, hash),\n parse: function(input),\n\n lexer: {\n EOF: 1,\n parseError: function(str, hash),\n setInput: function(input),\n input: function(),\n unput: function(str),\n more: function(),\n less: function(n),\n pastInput: function(),\n upcomingInput: function(),\n showPosition: function(),\n test_match: function(regex_match_array, rule_index),\n next: function(),\n lex: function(),\n begin: function(condition),\n popState: function(),\n _currentRules: function(),\n topState: function(),\n pushState: function(condition),\n\n options: {\n ranges: boolean (optional: true ==> token location info will include a .range[] member)\n flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)\n backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)\n },\n\n performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),\n rules: [...],\n conditions: {associative list: name ==> set},\n }\n }\n\n\n token location info (@$, _$, etc.): {\n first_line: n,\n last_line: n,\n first_column: n,\n last_column: n,\n range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)\n }\n\n\n the parseError function receives a 'hash' object with these members for lexer and parser errors: {\n text: (matched text)\n token: (the produced terminal token, if any)\n line: (yylineno)\n }\n while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: {\n loc: (yylloc)\n expected: (string describing the set of expected tokens)\n recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error)\n }\n*/\nvar sqlParser = (function(){\nvar o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,8],$V1=[1,4],$V2=[2,4],$V3=[1,11],$V4=[1,10],$V5=[2,16],$V6=[1,14],$V7=[1,15],$V8=[1,16],$V9=[6,8],$Va=[2,145],$Vb=[1,19],$Vc=[1,20],$Vd=[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],$Ve=[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],$Vf=[2,159],$Vg=[1,29],$Vh=[6,8,14,17,145,149,151,153],$Vi=[1,42],$Vj=[1,59],$Vk=[1,51],$Vl=[1,58],$Vm=[1,60],$Vn=[1,61],$Vo=[1,62],$Vp=[1,63],$Vq=[1,64],$Vr=[1,57],$Vs=[1,52],$Vt=[1,53],$Vu=[1,54],$Vv=[1,55],$Vw=[1,56],$Vx=[1,43],$Vy=[1,44],$Vz=[1,45],$VA=[1,34],$VB=[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],$VC=[6,8,14,17,149,151,153],$VD=[2,142],$VE=[1,73],$VF=[1,74],$VG=[6,8,14,17,43,132,137,143,145,149,151,153],$VH=[1,79],$VI=[1,76],$VJ=[1,77],$VK=[1,78],$VL=[1,80],$VM=[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],$VN=[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],$VO=[1,101],$VP=[1,99],$VQ=[1,100],$VR=[1,95],$VS=[1,96],$VT=[1,97],$VU=[1,98],$VV=[1,102],$VW=[1,103],$VX=[1,104],$VY=[1,105],$VZ=[1,106],$V_=[1,107],$V$=[2,102],$V01=[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],$V11=[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],$V21=[1,108],$V31=[1,115],$V41=[2,63],$V51=[1,116],$V61=[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],$V71=[16,29,35,50,51,54,55,57,58,60,75,78,80,81,82,83,85,86,87,118],$V81=[1,162],$V91=[17,43],$Va1=[2,58],$Vb1=[1,171],$Vc1=[1,169],$Vd1=[1,170],$Ve1=[6,8,137,145],$Vf1=[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],$Vg1=[6,8,14,17,137,143,145,149,151,153],$Vh1=[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],$Vi1=[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],$Vj1=[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],$Vk1=[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],$Vl1=[16,35,40,41,42,45,46,50,51,54,55,57,58,60,75,78,80,81,82,83,85,86,87,100],$Vm1=[16,35,42,45,46,50,51,54,55,57,58,60,75,78,80,81,82,83,85,86,87,100],$Vn1=[70,73,76],$Vo1=[16,35,45,46,50,51,54,55,57,58,60,75,78,80,81,82,83,85,86,87,100],$Vp1=[1,231],$Vq1=[1,232],$Vr1=[6,8,14,17],$Vs1=[6,8,14,17,43,156],$Vt1=[1,249],$Vu1=[1,245],$Vv1=[2,196],$Vw1=[1,253],$Vx1=[1,254],$Vy1=[6,8,14,17,43,128,134,137,143,145,149,151,153,181],$Vz1=[1,256],$VA1=[1,259],$VB1=[1,260],$VC1=[1,261],$VD1=[1,262],$VE1=[2,173],$VF1=[1,258],$VG1=[6,8,14,17,36,43,88,128,134,137,143,145,149,151,153,163,164,166,167,172,176,178,179,181],$VH1=[6,8,14,17,134,137,143,145,149,151,153],$VI1=[1,274],$VJ1=[2,178],$VK1=[169,172],$VL1=[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],$VM1=[2,198],$VN1=[1,279],$VO1=[1,291],$VP1=[1,299],$VQ1=[1,300],$VR1=[1,301],$VS1=[6,8,14,17,137,145,149,151,153],$VT1=[1,311],$VU1=[1,317],$VV1=[1,318],$VW1=[2,203],$VX1=[1,329],$VY1=[16,151],$VZ1=[6,8,14,17,151,153],$V_1=[1,345];\nvar parser = {trace: function trace() { },\nyy: {},\nsymbols_: {\"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},\nterminals_: {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\"},\nproductions_: [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]],\nperformAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {\n/* this == yyval */\n\nvar $0 = $$.length - 1;\nswitch (yystate) {\ncase 1: case 2:\n return {nodeType: 'Main', value: $$[$0-2], hasSemicolon: $$[$0-1]}; \nbreak;\ncase 3: case 143:\n this.$ = true \nbreak;\ncase 4:\n this.$ = false \nbreak;\ncase 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:\n this.$ = $$[$0] \nbreak;\ncase 6:\n this.$ = $$[$0-2], this.$.orderBy = $$[$0-1], this.$.limit = $$[$0]; \nbreak;\ncase 7: case 8:\n this.$ = { type: 'Union', left: $$[$0-3], distinctOpt: $$[$0-1], right: $$[$0] }; \nbreak;\ncase 9:\n this.$ = { type: 'SelectParenthesized', value: $$[$0-1] }; \nbreak;\ncase 10: case 11:\n this.$ = { type: 'Union', left: $$[$0-3], distinctOpt: $$[$0-1], right: $$[$0] } \nbreak;\ncase 12:\n\n this.$ = {\n type: 'Select',\n distinctOpt: $$[$0-10],\n highPriorityOpt: $$[$0-9],\n maxStateMentTimeOpt: $$[$0-8],\n straightJoinOpt: $$[$0-7],\n sqlSmallResultOpt: $$[$0-6],\n sqlBigResultOpt: $$[$0-5],\n sqlBufferResultOpt: $$[$0-4],\n sqlCacheOpt: $$[$0-3],\n sqlCalcFoundRowsOpt: $$[$0-2],\n selectItems: $$[$0-1],\n from: $$[$0].from,\n partition: $$[$0].partition,\n where: $$[$0].where,\n groupBy: $$[$0].groupBy,\n having: $$[$0].having,\n orderBy: $$[$0].orderBy,\n limit: $$[$0].limit,\n procedure: $$[$0].procedure,\n updateLockMode: $$[$0].updateLockMode\n }\n \nbreak;\ncase 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:\n this.$ = null \nbreak;\ncase 34:\n $$[$0-2].value.push($$[$0]); \nbreak;\ncase 35:\n this.$ = { type: 'SelectExpr', value: [ $$[$0] ] } \nbreak;\ncase 36: case 37: case 63:\n this.$ = { type: 'Identifier', value: $$[$0] } \nbreak;\ncase 38:\n this.$ = $$[$0-1]; this.$.alias = $$[$0].alias; this.$.hasAs = $$[$0].hasAs; \nbreak;\ncase 39: case 198:\n this.$ = {alias: null, hasAs: null} \nbreak;\ncase 40: case 42:\n this.$ = {alias: $$[$0], hasAs: true} \nbreak;\ncase 41:\n this.$ = {alias: $$[$0], hasAs: false} \nbreak;\ncase 43:\n this.$ = {alias: $$[$01], hasAs: false} \nbreak;\ncase 44:\n this.$ = { type: 'String', value: $$[$0] } \nbreak;\ncase 45: case 46: case 47:\n this.$ = { type: 'Number', value: $$[$0] } \nbreak;\ncase 48:\n this.$ = { type: 'Boolean', value: 'TRUE' } \nbreak;\ncase 49:\n this.$ = { type: 'Boolean', value: 'FALSE' } \nbreak;\ncase 50:\n this.$ = { type: 'Null', value: 'null' } \nbreak;\ncase 55:\n this.$ = {type: 'FunctionCall', name: $$[$0-3], params: $$[$0-1]} \nbreak;\ncase 56:\n $$[$0-2].push($$[$0]); this.$ = $$[$0-2]; \nbreak;\ncase 57:\n this.$ = [$$[$0]]; \nbreak;\ncase 61:\n this.$ = { type: 'FunctionCallParam', distinctOpt: $$[$0-1], value: $$[$0] } \nbreak;\ncase 64:\n this.$ = $$[$0-2]; $$[$0-2].value += '.' + $$[$0] \nbreak;\ncase 65:\n this.$ = { type: 'IdentifierList', value: [ $$[$0] ] } \nbreak;\ncase 66: case 170:\n this.$ = $$[$0-2]; $$[$0-2].value.push($$[$0]); \nbreak;\ncase 69:\n this.$ = { type: 'WhenThenList', value: [ { when: $$[$0-2], then: $$[$0] } ] }; \nbreak;\ncase 70:\n this.$ = $$[$0-4]; this.$.value.push({ when: $$[$0-2], then: $$[$0] }); \nbreak;\ncase 73:\n this.$ = { type: 'CaseWhen', caseExprOpt: $$[$0-3], whenThenList: $$[$0-2], else: $$[$0-1] } \nbreak;\ncase 74: case 75: case 76: case 77: case 78:\n this.$ = { type: 'Prefix', prefix: $$[$0-1], value: $$[$0] } \nbreak;\ncase 83:\n this.$ = { type: 'SimpleExprParentheses', value: $$[$0-1] } \nbreak;\ncase 84:\n this.$ = { type: 'SimpleExprParentheses', value: $$[$0-2], hasRow: true } \nbreak;\ncase 85:\n this.$ = { type: 'SubQuery', value: $$[$0-1] } \nbreak;\ncase 86:\n this.$ = { type: 'SubQuery', value: $$[$0-1], hasExists: true } \nbreak;\ncase 87:\n this.$ = { type: 'IdentifierExpr', identifier: $$[$0-2], value: $$[$0-1] } \nbreak;\ncase 90:\n this.$ = { type: 'BitExpression', operator: '|', left: $$[$0-2], right: $$[$0] } \nbreak;\ncase 91:\n this.$ = { type: 'BitExpression', operator: '&', left: $$[$0-2], right: $$[$0] } \nbreak;\ncase 92:\n this.$ = { type: 'BitExpression', operator: '<<', left: $$[$0-2], right: $$[$0] } \nbreak;\ncase 93:\n this.$ = { type: 'BitExpression', operator: '>>', left: $$[$0-2], right: $$[$0] } \nbreak;\ncase 94:\n this.$ = { type: 'BitExpression', operator: '+', left: $$[$0-2], right: $$[$0] } \nbreak;\ncase 95:\n this.$ = { type: 'BitExpression', operator: '-', left: $$[$0-2], right: $$[$0] } \nbreak;\ncase 96:\n this.$ = { type: 'BitExpression', operator: '*', left: $$[$0-2], right: $$[$0] } \nbreak;\ncase 97:\n this.$ = { type: 'BitExpression', operator: '/', left: $$[$0-2], right: $$[$0] } \nbreak;\ncase 98:\n this.$ = { type: 'BitExpression', operator: 'DIV', left: $$[$0-2], right: $$[$0] } \nbreak;\ncase 99:\n this.$ = { type: 'BitExpression', operator: 'MOD', left: $$[$0-2], right: $$[$0] } \nbreak;\ncase 100:\n this.$ = { type: 'BitExpression', operator: '%', left: $$[$0-2], right: $$[$0] } \nbreak;\ncase 101:\n this.$ = { type: 'BitExpression', operator: '^', left: $$[$0-2], right: $$[$0] } \nbreak;\ncase 107:\n this.$ = { type: 'InSubQueryPredicate', hasNot: $$[$0-4], left: $$[$0-5] ,right: $$[$0-1] } \nbreak;\ncase 108:\n this.$ = { type: 'InExpressionListPredicate', hasNot: $$[$0-4], left: $$[$0-5], right: $$[$0-1] } \nbreak;\ncase 109:\n this.$ = { type: 'BetweenPredicate', hasNot: $$[$0-4], left: $$[$0-5], right: { left: $$[$0-2], right: $$[$0] } } \nbreak;\ncase 110:\n this.$ = { type: 'SoundsLikePredicate', hasNot: false, left: $$[$0-3], right: $$[$0] } \nbreak;\ncase 111:\n this.$ = { type: 'LikePredicate', hasNot: $$[$0-3], left: $$[$0-4], right: $$[$0-1], escape: $$[$0] } \nbreak;\ncase 112:\n this.$ = { type: 'RegexpPredicate', hasNot: $$[$0-2], left: $$[$0-3], right: $$[$0] } \nbreak;\ncase 123:\n this.$ = { type: 'IsNullBooleanPrimary', hasNot: $$[$0-1] , value: $$[$0-3] } \nbreak;\ncase 124:\n this.$ = { type: 'ComparisonBooleanPrimary', left: $$[$0-2], operator: $$[$0-1], right: $$[$0] } \nbreak;\ncase 125:\n this.$ = { type: 'ComparisonSubQueryBooleanPrimary', operator: $$[$0-4], subQueryOpt: $$[$0-3], left: $$[$0-5], right: $$[$0-1] } \nbreak;\ncase 127:\n this.$ = { type: 'BooleanExtra', value: $$[$0] } \nbreak;\ncase 129:\n this.$ = { type: 'IsExpression', hasNot: $$[$0-1], left: $$[$0-3], right: $$[$0] } \nbreak;\ncase 130:\n this.$ = { type: 'NotExpression', value: $$[$0] } \nbreak;\ncase 131: case 134:\n this.$ = { type: 'AndExpression', operator: $$[$0-1], left: $$[$0-2], right: $$[$0] } \nbreak;\ncase 132: case 133:\n this.$ = { type: 'OrExpression', operator: $$[$0-1], left: $$[$0-2], right: $$[$0] } \nbreak;\ncase 135:\n this.$ = { type: 'XORExpression', left: $$[$0-2], right: $$[$0] } \nbreak;\ncase 136:\n this.$ = { type: 'ExpressionList', value: [ $$[$0] ] } \nbreak;\ncase 137: case 212:\n this.$ = $$[$0-2]; this.$.value.push($$[$0]); \nbreak;\ncase 144:\n this.$ = { type: 'GroupBy', value: $$[$0-1], rollUp: $$[$0] } \nbreak;\ncase 147:\n this.$ = { type: 'OrderBy', value: $$[$0-1], rollUp: $$[$0] } \nbreak;\ncase 148: case 194:\n this.$ = [ $$[$0] ] \nbreak;\ncase 149:\n this.$ = $$[$0-2]; $$[$0-2].push($$[$0]); \nbreak;\ncase 150:\n this.$ = { type: 'GroupByOrderByItem', value: $$[$0-1], sortOpt: $$[$0] } \nbreak;\ncase 156:\n this.$ = { type: 'Limit', value: [ $$[$0] ] } \nbreak;\ncase 157:\n this.$ = { type: 'Limit', value: [ $$[$0-2], $$[$0] ] } \nbreak;\ncase 158:\n this.$ = { type: 'Limit', value: [ $$[$0], $$[$0-2] ], offsetMode: true } \nbreak;\ncase 165:\n this.$ = $$[$0-1] + ' ' + $$[$0] \nbreak;\ncase 166:\n this.$ = $$[$0-3] + ' ' + $$[$0-2] + ' ' + $$[$0-1] + ' ' + $$[$0] \nbreak;\ncase 167:\n this.$ = {} \nbreak;\ncase 168:\n this.$ = { from: $$[$0-8], partition: $$[$0-7], where: $$[$0-6], groupBy: $$[$0-5], having: $$[$0-4], orderBy: $$[$0-3], limit: $$[$0-2], procedure: $$[$0-1], updateLockMode: $$[$0] } \nbreak;\ncase 169:\n this.$ = { type: 'TableReferences', value: [ $$[$0] ] } \nbreak;\ncase 171:\n this.$ = { type: 'TableReference', value: $$[$0] } \nbreak;\ncase 172:\n this.$ = { type: 'TableReference', hasOj: true, value: $$[$0-1] } \nbreak;\ncase 180:\n this.$ = { leftRight: null, outOpt: null } \nbreak;\ncase 181:\n this.$ = { leftRight: $$[$0-1], outOpt: $$[$0] } \nbreak;\ncase 182:\n this.$ = { type: 'InnerCrossJoinTable', innerCrossOpt: $$[$0-2], left: $$[$0-3], right: $$[$0], condition: null } \nbreak;\ncase 183:\n this.$ = { type: 'InnerCrossJoinTable', innerCrossOpt: $$[$0-3], left: $$[$0-4], right: $$[$0-1], condition: $$[$0] } \nbreak;\ncase 184:\n this.$ = { type: 'StraightJoinTable', left: $$[$0-3], right: $$[$0-1], condition: $$[$0] } \nbreak;\ncase 185:\n this.$ = { type: 'LeftRightJoinTable', leftRight: $$[$0-4], outOpt: $$[$0-3], left: $$[$0-5], right: $$[$0-1], condition: $$[$0] } \nbreak;\ncase 186:\n this.$ = { type: 'NaturalJoinTable', leftRight: $$[$0-2].leftRight, outOpt: $$[$0-2].outOpt, left: $$[$0-4], right: $$[$0] } \nbreak;\ncase 189:\n this.$ = { type: 'OnJoinCondition', value: $$[$0] } \nbreak;\ncase 191:\n this.$ = { type: 'UsingJoinCondition', value: $$[$0-1] } \nbreak;\ncase 195:\n this.$ = $$[$0-2]; $$[$0-2].push($$[$0]) \nbreak;\ncase 197:\n this.$ = { type: 'Partitions', value: $$[$0-1] } \nbreak;\ncase 199:\n this.$ = { hasAs: true, alias: $$[$0] } \nbreak;\ncase 200:\n this.$ = { hasAs: false, alias: $$[$0] } \nbreak;\ncase 204: case 205: case 206:\n this.$ = { type: 'ForOptIndexHint', value: $$[$0] } \nbreak;\ncase 211:\n this.$ = { type: 'IndexHintList', value: [ $$[$0] ] } \nbreak;\ncase 213:\n this.$ = { type: 'UseIndexHint', value: $$[$0-1], forOpt: $$[$0-3], indexOrKey: $$[$0-4] } \nbreak;\ncase 214:\n this.$ = { type: 'IgnoreIndexHint', value: $$[$0-1], forOpt: $$[$0-3], indexOrKey: $$[$0-4] } \nbreak;\ncase 215:\n this.$ = { type: 'ForceIndexHint', value: $$[$0-1], forOpt: $$[$0-3], indexOrKey: $$[$0-4] } \nbreak;\ncase 216:\n this.$ = { type: 'TableFactor', value: $$[$0-3], partition: $$[$0-2], alias: $$[$0-1].alias, hasAs: $$[$0-1].hasAs, indexHintOpt: $$[$0] } \nbreak;\ncase 217:\n this.$ = { type: 'TableFactor', value: { type: 'SubQuery', value: $$[$0-2] }, alias: $$[$0].alias, hasAs: $$[$0].hasAs} \nbreak;\ncase 218:\n this.$ = $$[$0-1]; this.$.hasParentheses = true \nbreak;\n}\n},\ntable: [{3:1,4:2,7:3,9:5,10:6,13:7,16:$V0,18:$V1},{1:[3]},{5:9,6:$V2,8:$V3,14:$V4},{5:12,6:$V2,8:$V3},o([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],$V5,{15:13,29:$V6,30:$V7,31:$V8}),o($V9,[2,5]),o([6,8,145],$Va,{11:17,136:18,137:$Vb}),{14:$Vc},{4:21,18:$V1},{6:[1,22]},{15:23,18:$V5,29:$V6,30:$V7,31:$V8},{6:[2,3]},{6:[1,24]},o($Vd,[2,18],{19:25,32:[1,26]}),o($Ve,[2,13]),o($Ve,[2,14]),o($Ve,[2,15]),o($V9,$Vf,{12:27,144:28,145:$Vg}),o($Vh,[2,146]),{16:$Vi,35:$Vj,47:32,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33,135:30,138:31},{15:65,16:$V5,29:$V6,30:$V7,31:$V8},{17:[1,66]},{1:[2,1]},{4:67,9:68,18:$V1},{1:[2,2]},o($VB,[2,20],{20:69,33:[1,70]}),o($Vd,[2,17]),o($V9,[2,6]),o($VC,[2,160]),{35:[1,71]},o($Vh,$VD,{131:72,43:$VE,132:$VF}),o($VG,[2,148]),o($VG,[2,151],{139:75,106:$VH,123:$VI,124:$VJ,125:$VK,126:$VL,140:[1,81],141:[1,82]}),o($VM,[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:$Vi,35:$Vj,47:92,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},o($VN,[2,122]),o($VN,[2,106],{99:93,45:$VO,78:$VP,80:$VQ,90:$VR,91:$VS,92:$VT,93:$VU,94:$VV,95:$VW,96:$VX,97:$VY,98:$VZ,100:$V_,104:$V$,105:$V$,108:$V$,109:$V$,107:[1,94]}),o($V01,[2,89]),o($V11,[2,79]),o($V11,[2,80],{66:$V21}),o($V11,[2,81]),o($V11,[2,82]),{4:110,16:$Vi,18:$V1,35:$Vj,47:111,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,84:109,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},{16:[1,112]},{16:[1,113]},{50:$V31,65:114},o($V11,[2,88]),o($V11,[2,51]),o($V11,[2,52]),o($V11,[2,53]),o($V11,[2,54]),o([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],$V41,{16:$V51}),{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:117,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:118,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:119,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:120,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:121,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz},{16:$Vi,35:$Vj,47:123,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,68:122,70:[2,67],74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},o($V11,[2,44]),o($V11,[2,45]),o($V11,[2,46]),o($V11,[2,47]),o($V11,[2,48]),o($V11,[2,49]),o($V11,[2,50]),{10:125,13:124,16:$V0},o([6,8,14,137,145],[2,9]),o($V9,[2,10],{14:$V4}),o($V9,[2,11]),o($V61,[2,22],{21:126,36:[1,127]}),{34:[1,128]},o($VC,[2,156],{43:[1,129],146:[1,130]}),o($Vh,[2,147]),{16:$Vi,35:$Vj,47:32,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33,138:131},{133:[1,132]},o($VG,[2,150]),{16:$Vi,35:$Vj,47:133,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},{16:$Vi,35:$Vj,47:134,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},{16:$Vi,35:$Vj,47:135,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},{16:$Vi,35:$Vj,47:136,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},{16:$Vi,35:$Vj,47:137,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},o($VG,[2,152]),o($VG,[2,153]),o([57,58,60,122],$V$,{99:138,100:$V_}),{16:$Vi,29:[1,141],35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,103:139,117:140,118:[1,142]},o($V71,[2,113]),o($V71,[2,114]),o($V71,[2,115]),o($V71,[2,116]),o($V71,[2,117]),o($V71,[2,118]),o($V71,[2,119]),o($VM,[2,130]),{104:[1,143],105:[1,144],108:[1,145],109:[1,146]},{108:[1,147]},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:148},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:149},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:150},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:151},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:152},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:153},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:154},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:155},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:156},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:157},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:158},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:159},o([57,58,60,104,105,108,109,122],[2,103]),{50:[1,160]},{17:[1,161],43:$V81},{17:[1,163]},o($V91,[2,136],{106:$VH,123:$VI,124:$VJ,125:$VK,126:$VL}),{16:$Vi,35:$Vj,47:111,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,84:164,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},{4:165,18:$V1},{16:$Vi,35:$Vj,47:166,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,66:$V21,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},o([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],$V41),o($V91,$Va1,{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:$Vi,30:$Vb1,35:$Vj,45:$Vc1,46:$Vd1,50:$Vk,51:$Vl,54:$Vm,55:$Vn,57:$Vo,58:$Vp,60:$Vq,75:$Vr,78:$Vs,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,100:$VA}),o($V11,[2,74]),o($V11,[2,75]),o($V11,[2,76]),o($V11,[2,77]),o($V11,[2,78]),{69:173,70:[1,174]},{70:[2,68],106:$VH,123:$VI,124:$VJ,125:$VK,126:$VL},o($Ve1,[2,7],{14:$Vc}),o($Ve1,[2,8]),o($Vf1,[2,24],{22:175,37:[1,176]}),o($V61,[2,21]),{35:[1,177]},{35:[1,178]},{35:[1,179]},o($VG,[2,149]),o($Vg1,[2,143]),o($VM,[2,131]),o($Vh1,[2,132],{106:$VH,123:$VI}),o($Vh1,[2,133],{106:$VH,123:$VI}),o($VM,[2,134]),o($Vh1,[2,135],{106:$VH,123:$VI}),{56:182,57:$Vo,58:$Vp,60:[1,181],121:180,122:[1,183]},o($VN,[2,124]),{16:[1,184]},{16:[2,120]},{16:[2,121]},{16:[1,185]},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:186},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:187,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:188},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:189},o([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:$VO,78:$VP,80:$VQ,91:$VS,92:$VT,93:$VU,94:$VV,95:$VW,96:$VX,97:$VY,98:$VZ}),o([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:$VO,78:$VP,80:$VQ,92:$VT,93:$VU,94:$VV,95:$VW,96:$VX,97:$VY}),o($Vi1,[2,92],{45:$VO,78:$VP,80:$VQ,94:$VV,95:$VW,96:$VX,97:$VY}),o($Vi1,[2,93],{45:$VO,78:$VP,80:$VQ,94:$VV,95:$VW,96:$VX,97:$VY}),o($Vj1,[2,94],{45:$VO,94:$VV,95:$VW,96:$VX,97:$VY}),o($Vj1,[2,95],{45:$VO,94:$VV,95:$VW,96:$VX,97:$VY}),o($V01,[2,96]),o($V01,[2,97]),o($V01,[2,98]),o($V01,[2,99]),o($V01,[2,100]),o([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:$VO,78:$VP,80:$VQ,91:$VS,92:$VT,93:$VU,94:$VV,95:$VW,96:$VX,97:$VY}),o([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]),o($V11,[2,83]),{16:$Vi,35:$Vj,47:190,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},o($V11,[2,85]),{17:[1,191],43:$V81},{17:[1,192]},{88:[1,193],106:$VH,123:$VI,124:$VJ,125:$VK,126:$VL},{17:[1,194],43:[1,195]},o($V91,[2,57]),o($V91,[2,59]),o($V91,[2,60]),{16:$Vi,35:$Vj,47:196,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},o($V91,[2,62],{106:$VH,123:$VI,124:$VJ,125:$VK,126:$VL}),{70:[1,198],72:197,73:[1,199],76:[2,71]},{16:$Vi,35:$Vj,47:200,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},o($Vk1,[2,26],{23:201,38:[1,202]}),o($Vf1,[2,23]),o($VB,[2,19]),o($VC,[2,157]),o($VC,[2,158]),o($VM,[2,129]),o($VN,[2,123]),o($VM,[2,126]),o($VM,[2,127]),{4:203,18:$V1},{4:204,16:$Vi,18:$V1,35:$Vj,47:111,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,84:205,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},{45:$VO,78:$VP,80:$VQ,90:$VR,91:$VS,92:$VT,93:$VU,94:$VV,95:$VW,96:$VX,97:$VY,98:$VZ,106:[1,206]},o($VN,[2,104],{101:207,102:[1,208]}),o($VN,[2,112],{45:$VO,78:$VP,80:$VQ,90:$VR,91:$VS,92:$VT,93:$VU,94:$VV,95:$VW,96:$VX,97:$VY,98:$VZ}),o($VN,[2,110],{45:$VO,78:$VP,80:$VQ,90:$VR,91:$VS,92:$VT,93:$VU,94:$VV,95:$VW,96:$VX,97:$VY,98:$VZ}),o($V91,[2,137],{106:$VH,123:$VI,124:$VJ,125:$VK,126:$VL}),o($V11,[2,84]),o($V11,[2,86]),o($V11,[2,87]),o($V11,[2,55]),o($V91,$Va1,{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:$Vi,30:$Vb1,35:$Vj,45:$Vc1,46:$Vd1,50:$Vk,51:$Vl,54:$Vm,55:$Vn,57:$Vo,58:$Vp,60:$Vq,75:$Vr,78:$Vs,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,100:$VA}),o($V91,[2,61],{106:$VH,123:$VI,124:$VJ,125:$VK,126:$VL}),{76:[1,210]},{16:$Vi,35:$Vj,47:211,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},{16:$Vi,35:$Vj,47:212,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},{71:[1,213],106:$VH,123:$VI,124:$VJ,125:$VK,126:$VL},o($Vl1,[2,28],{24:214,39:[1,215]}),o($Vk1,[2,25]),{17:[1,216]},{17:[1,217]},{17:[1,218],43:$V81},{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,103:219},o($VN,[2,111]),{16:$Vi,35:$Vj,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:220,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz},o($V91,[2,56]),o($V11,[2,73]),{71:[1,221],106:$VH,123:$VI,124:$VJ,125:$VK,126:$VL},{76:[2,72],106:$VH,123:$VI,124:$VJ,125:$VK,126:$VL},{16:$Vi,35:$Vj,47:222,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},o($Vm1,[2,29],{25:223,40:[1,224],41:[1,225]}),o($Vl1,[2,27]),o($VN,[2,125]),o($VN,[2,107]),o($VN,[2,108]),o($VN,[2,109]),o($VN,[2,105]),{16:$Vi,35:$Vj,47:226,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},o($Vn1,[2,69],{106:$VH,123:$VI,124:$VJ,125:$VK,126:$VL}),o($Vo1,[2,33],{26:227,42:[1,228]}),o($Vm1,[2,30]),o($Vm1,[2,31]),o($Vn1,[2,70],{106:$VH,123:$VI,124:$VJ,125:$VK,126:$VL}),{16:$Vi,27:229,35:$Vj,44:230,45:$Vp1,46:$Vq1,47:233,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},o($Vo1,[2,32]),o($Vr1,[2,167],{28:234,43:[1,235],156:[1,236]}),o($Vs1,[2,35]),o($Vs1,[2,36]),o($Vs1,[2,37]),o($Vs1,[2,39],{48:237,49:[1,238],50:[1,239],51:[1,240],106:$VH,123:$VI,124:$VJ,125:$VK,126:$VL}),o($Vr1,[2,12]),{16:$Vi,35:$Vj,44:241,45:$Vp1,46:$Vq1,47:233,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},{16:$Vt1,50:$V31,65:248,87:$Vu1,157:242,159:243,160:244,171:247,173:246},o($Vs1,[2,38]),{50:[1,250],51:[1,251]},o($Vs1,[2,41]),o($Vs1,[2,43]),o($Vs1,[2,34]),o([6,8,14,17,128,134,137,143,145,149,151,153],$Vv1,{158:252,43:$Vw1,181:$Vx1}),o($Vy1,[2,169]),o($Vy1,[2,171],{162:255,165:257,36:$Vz1,163:$VA1,164:$VB1,166:$VC1,167:$VD1,172:$VE1,176:$VF1}),{161:[1,263]},o($VG1,[2,192]),o($VG1,[2,193]),o([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],$Vv1,{158:264,66:$V21,181:$Vx1}),{4:265,16:$Vt1,18:$V1,50:$V31,65:248,87:$Vu1,157:266,159:243,160:244,171:247,173:246},o($Vs1,[2,40]),o($Vs1,[2,42]),o($VH1,[2,138],{127:267,128:[1,268]}),{16:$Vt1,50:$V31,65:248,87:$Vu1,159:269,160:244,171:247,173:246},{16:[1,270]},{172:[1,271]},{16:$Vt1,50:$V31,65:248,173:272},{168:273,169:$VI1,172:$VJ1},{165:276,166:$VC1,167:$VD1,170:275,172:[2,180]},{172:[2,174]},{172:[2,175]},o($VK1,[2,176]),o($VK1,[2,177]),{16:$Vt1,50:$V31,65:248,160:277,171:247,173:246},o($VL1,$VM1,{182:278,65:280,49:$VN1,50:$V31}),{17:[1,281]},{17:[1,282],43:$Vw1},o($Vg1,[2,140],{129:283,130:284,134:[1,285]}),{16:$Vi,35:$Vj,47:286,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},o($Vy1,[2,170]),{50:$V31,65:288,180:287},{16:$Vt1,50:$V31,65:248,173:289},{175:290,178:$VO1},{172:[1,292]},{172:[2,179]},{172:[1,293]},{168:294,169:$VI1,172:$VJ1},{36:$Vz1,88:[1,295],162:255,163:$VA1,164:$VB1,165:257,166:$VC1,167:$VD1,172:$VE1,176:$VF1},o($VG1,[2,209],{188:296,189:297,190:298,191:$VP1,192:$VQ1,193:$VR1}),{50:$V31,65:302},o($VL1,[2,200],{66:$V21}),o($VG1,$VM1,{65:280,182:303,49:$VN1,50:$V31}),o($VG1,[2,218]),o($VS1,[2,154],{142:304,143:[1,305]}),o($Vg1,[2,141]),{16:$Vi,35:$Vj,47:32,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33,135:306,138:31},o($VH1,[2,139],{106:$VH,123:$VI,124:$VJ,125:$VK,126:$VL}),{17:[1,307],43:[1,308]},o($V91,[2,194],{66:$V21}),o([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:$VO1,179:$VT1}),o($VG1,[2,184]),{16:$Vi,35:$Vj,47:312,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},{16:$Vt1,50:$V31,65:248,160:313,171:247,173:246},{16:$Vt1,50:$V31,65:248,173:314},{172:[2,181]},o($Vy1,[2,172]),o($VG1,[2,216]),o($VG1,[2,210]),o($VG1,[2,211]),{183:316,184:$VU1,185:$VV1},{183:319,184:$VU1,185:$VV1},{183:320,184:$VU1,185:$VV1},o($VL1,[2,199],{66:$V21}),o($VG1,[2,217]),o($Vh,$Va,{136:18,11:321,137:$Vb}),{16:$Vi,35:$Vj,47:322,50:$Vk,51:$Vl,52:47,53:48,54:$Vm,55:$Vn,56:49,57:$Vo,58:$Vp,59:50,60:$Vq,61:38,62:40,65:39,74:46,75:$Vr,77:41,78:$Vs,79:37,80:$Vt,81:$Vu,82:$Vv,83:$Vw,85:$Vx,86:$Vy,87:$Vz,89:36,100:$VA,103:35,119:33},o($Vg1,$VD,{131:323,43:$VE,132:$VF}),o([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:$V31,65:324},o($VG1,[2,183]),o($VG1,[2,190]),{16:[1,325]},o($VG1,[2,189],{106:$VH,123:$VI,124:$VJ,125:$VK,126:$VL}),{36:$Vz1,162:255,163:$VA1,164:$VB1,165:257,166:$VC1,167:$VD1,172:$VE1,174:326,175:310,176:$VF1,178:$VO1,179:$VT1},o($VG1,[2,186]),{190:327,191:$VP1,192:$VQ1,193:$VR1},{16:$VW1,151:$VX1,186:328},o($VY1,[2,201]),o($VY1,[2,202]),{16:$VW1,151:$VX1,186:330},{16:$VW1,151:$VX1,186:331},o($VC,$Vf,{144:28,12:332,145:$Vg}),o($VS1,[2,155],{106:$VH,123:$VI,124:$VJ,125:$VK,126:$VL}),o($Vg1,[2,144]),o($V91,[2,195],{66:$V21}),{50:$V31,65:334,67:333},o($VG1,[2,185]),o($VG1,[2,212]),{16:[1,335]},{134:[1,338],137:[1,337],172:[1,336]},{16:[1,339]},{16:[1,340]},o($VZ1,[2,161],{147:341,148:342,149:[1,343]}),{17:[1,344],43:$V_1},o($V91,[2,65],{66:$V21}),{17:[2,207],50:$V31,65:334,67:347,187:346},{16:[2,204]},{16:[2,205]},{16:[2,206]},{50:$V31,65:334,67:348},{50:$V31,65:334,67:349},o($Vr1,[2,164],{150:350,151:[1,351],153:[1,352]}),o($VZ1,[2,162]),{50:[1,354],62:353},o($VG1,[2,191]),{50:$V31,65:355},{17:[1,356]},{17:[2,208],43:$V_1},{17:[1,357],43:$V_1},{17:[1,358],43:$V_1},o($Vr1,[2,168]),{152:[1,359]},{104:[1,360]},o($VZ1,[2,163]),{16:$V51},o($V91,[2,66],{66:$V21}),o($VG1,[2,213]),o($VG1,[2,214]),o($VG1,[2,215]),o($Vr1,[2,165]),{154:[1,361]},{155:[1,362]},o($Vr1,[2,166])],\ndefaultActions: {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]},\nparseError: function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n},\nparse: function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer;\n sharedState.yy.parser = this;\n if (typeof lexer.yylloc == 'undefined') {\n lexer.yylloc = {};\n }\n var yyloc = lexer.yylloc;\n lstack.push(yyloc);\n var ranges = lexer.options && lexer.options.ranges;\n if (typeof sharedState.yy.parseError === 'function') {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n _token_stack:\n var lex = function () {\n var token;\n token = lexer.lex() || EOF;\n if (typeof token !== 'number') {\n token = self.symbols_[token] || token;\n }\n return token;\n };\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == 'undefined') {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === 'undefined' || !action.length || !action[0]) {\n var errStr = '';\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push('\\'' + this.terminals_[p] + '\\'');\n }\n }\n if (lexer.showPosition) {\n errStr = 'Parse error on line ' + (yylineno + 1) + ':\\n' + lexer.showPosition() + '\\nExpecting ' + expected.join(', ') + ', got \\'' + (this.terminals_[symbol] || symbol) + '\\'';\n } else {\n errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\\'' + (this.terminals_[symbol] || symbol) + '\\'');\n }\n this.parseError(errStr, {\n text: lexer.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer.yylineno,\n loc: yyloc,\n expected: expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer.yytext);\n lstack.push(lexer.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer.yyleng;\n yytext = lexer.yytext;\n yylineno = lexer.yylineno;\n yyloc = lexer.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== 'undefined') {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n}};\n/* generated by jison-lex 0.3.4 */\nvar lexer = (function(){\nvar lexer = ({\n\nEOF:1,\n\nparseError:function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n },\n\n// resets the lexer, sets new input\nsetInput:function (input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = '';\n this.conditionStack = ['INITIAL'];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0,0];\n }\n this.offset = 0;\n return this;\n },\n\n// consumes and returns one char from the input\ninput:function () {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n\n this._input = this._input.slice(1);\n return ch;\n },\n\n// unshifts one char (or a string) into the input\nunput:function (ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n //this.yyleng -= len;\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ?\n (lines.length === oldLines.length ? this.yylloc.first_column : 0)\n + oldLines[oldLines.length - lines.length].length - lines[0].length :\n this.yylloc.first_column - len\n };\n\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n },\n\n// When called from action, caches matched text and appends it on next action\nmore:function () {\n this._more = true;\n return this;\n },\n\n// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\nreject:function () {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return 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(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n\n }\n return this;\n },\n\n// retain first n characters of the match\nless:function (n) {\n this.unput(this.match.slice(n));\n },\n\n// displays already matched input, i.e. for error messages\npastInput:function () {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\\n/g, \"\");\n },\n\n// displays upcoming input, i.e. for error messages\nupcomingInput:function () {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20-next.length);\n }\n return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\\n/g, \"\");\n },\n\n// displays the character position where the lexing error occurred, i.e. for error messages\nshowPosition:function () {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n },\n\n// test the lexed token: return FALSE when not a match, otherwise return token\ntest_match:function (match, indexed_rule) {\n var token,\n lines,\n backup;\n\n if (this.options.backtrack_lexer) {\n // save context\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ?\n lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length :\n this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n // recover context\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false; // rule action called reject() implying the next rule should be tested instead.\n }\n return false;\n },\n\n// return next match in input\nnext:function () {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n\n var token,\n match,\n tempMatch,\n index;\n if (!this._more) {\n this.yytext = '';\n this.match = '';\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue; // rule action called reject() implying a rule MISmatch.\n } else {\n // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\\n' + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n },\n\n// return next match that has a token\nlex:function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n },\n\n// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\nbegin:function begin(condition) {\n this.conditionStack.push(condition);\n },\n\n// pop the previously active lexer condition state off the condition stack\npopState:function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n },\n\n// produce the lexer rule set which is active for the currently active lexer condition state\n_currentRules:function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n },\n\n// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\ntopState:function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n },\n\n// alias for begin(condition)\npushState:function pushState(condition) {\n this.begin(condition);\n },\n\n// return the number of states currently on the stack\nstateStackSize:function stateStackSize() {\n return this.conditionStack.length;\n },\noptions: {\"case-insensitive\":true},\nperformAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) {\nvar YYSTATE=YY_START;\nswitch($avoiding_name_collisions) {\ncase 0:/* skip comments */\nbreak;\ncase 1:/* skip sql comments */\nbreak;\ncase 2:/* skip sql comments */\nbreak;\ncase 3:/* skip whitespace */\nbreak;\ncase 4:return 50\nbreak;\ncase 5:return 50\nbreak;\ncase 6:return 50\nbreak;\ncase 7:return 18\nbreak;\ncase 8:return 29\nbreak;\ncase 9:return 118\nbreak;\ncase 10:return 30\nbreak;\ncase 11:return 31\nbreak;\ncase 12:return 32\nbreak;\ncase 13:return 33\nbreak;\ncase 14:return 36\nbreak;\ncase 15:return 37\nbreak;\ncase 16:return 38\nbreak;\ncase 17:return 39\nbreak;\ncase 18:return 40\nbreak;\ncase 19:return 41\nbreak;\ncase 20:return 42\nbreak;\ncase 21:return 46\nbreak;\ncase 22:return 49\nbreak;\ncase 23:return 57\nbreak;\ncase 24:return 58\nbreak;\ncase 25:return 60\nbreak;\ncase 26:return 'COLLATE'\nbreak;\ncase 27:return 83\nbreak;\ncase 28:return 85\nbreak;\ncase 29:return 86\nbreak;\ncase 30:return 75\nbreak;\ncase 31:return 70\nbreak;\ncase 32:return 71\nbreak;\ncase 33:return 73\nbreak;\ncase 34:return 76\nbreak;\ncase 35:return 95\nbreak;\ncase 36:return 96\nbreak;\ncase 37:return 100\nbreak;\ncase 38:return 105\nbreak;\ncase 39:return 104\nbreak;\ncase 40:return 107\nbreak;\ncase 41:return 108\nbreak;\ncase 42:return 102\nbreak;\ncase 43:return 109\nbreak;\ncase 44:return 120\nbreak;\ncase 45:return 122\nbreak;\ncase 46:return 106\nbreak;\ncase 47:return 125\nbreak;\ncase 48:return 126\nbreak;\ncase 49:return 156\nbreak;\ncase 50:return 181\nbreak;\ncase 51:return 191\nbreak;\ncase 52:return 184\nbreak;\ncase 53:return 185\nbreak;\ncase 54:return 151\nbreak;\ncase 55:return 172\nbreak;\ncase 56:return 137\nbreak;\ncase 57:return 134\nbreak;\ncase 58:return 192\nbreak;\ncase 59:return 193\nbreak;\ncase 60:return 163\nbreak;\ncase 61:return 164\nbreak;\ncase 62:return 178\nbreak;\ncase 63:return 179\nbreak;\ncase 64:return 166\nbreak;\ncase 65:return 167\nbreak;\ncase 66:return 169\nbreak;\ncase 67:return 176\nbreak;\ncase 68:return 128\nbreak;\ncase 69:return 140\nbreak;\ncase 70:return 141\nbreak;\ncase 71:return 132\nbreak;\ncase 72:return 133\nbreak;\ncase 73:return 143\nbreak;\ncase 74:return 146\nbreak;\ncase 75:return 149\nbreak;\ncase 76:return 152\nbreak;\ncase 77:return 153\nbreak;\ncase 78:return 154\nbreak;\ncase 79:return 155\nbreak;\ncase 80:return 161\nbreak;\ncase 81:return 145\nbreak;\ncase 82:return 14\nbreak;\ncase 83:return 43\nbreak;\ncase 84:return 34\nbreak;\ncase 85:return 16\nbreak;\ncase 86:return 17\nbreak;\ncase 87:return 81\nbreak;\ncase 88:return 116\nbreak;\ncase 89:return 82\nbreak;\ncase 90:return 90\nbreak;\ncase 91:return 91\nbreak;\ncase 92:return 78\nbreak;\ncase 93:return 80\nbreak;\ncase 94:return 45\nbreak;\ncase 95:return 94\nbreak;\ncase 96:return 97\nbreak;\ncase 97:return 98\nbreak;\ncase 98:return 93\nbreak;\ncase 99:return 111\nbreak;\ncase 100:return 112\nbreak;\ncase 101:return 92\nbreak;\ncase 102:return '<=>'\nbreak;\ncase 103:return 113\nbreak;\ncase 104:return 115\nbreak;\ncase 105:return 114\nbreak;\ncase 106:return 87\nbreak;\ncase 107:return 88\nbreak;\ncase 108:return 8\nbreak;\ncase 109:return 51\nbreak;\ncase 110:return 51\nbreak;\ncase 111:return 55\nbreak;\ncase 112:return 35\nbreak;\ncase 113:return 54\nbreak;\ncase 114:return 50\nbreak;\ncase 115:return 66\nbreak;\ncase 116:return 51\nbreak;\ncase 117:return 51\nbreak;\ncase 118:return 50\nbreak;\ncase 119:return 6\nbreak;\ncase 120:return 'INVALID'\nbreak;\n}\n},\nrules: [/^(?:[\\/][*](.|\\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],\nconditions: {\"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\":true}}\n});\nreturn lexer;\n})();\nparser.lexer = lexer;\nfunction Parser () {\n this.yy = {};\n}\nParser.prototype = parser;parser.Parser = Parser;\nreturn new Parser;\n})();if (!sqlParser) {\n sqlParser = {};\n}\n\nfunction Sql() {\n this.buffer = '';\n}\n\nsqlParser.stringify = function(ast) {\n var sql = new Sql();\n sql.travelMain(ast);\n return sql.buffer;\n};\n\nSql.prototype.travel = function(ast) {\n if (!ast) return;\n\n if (typeof ast === 'string') {\n return this.append(ast);\n }\n\n var processor = this['travel' + ast.type];\n processor.call(this, ast);\n};\n\nvar noSuffixFlag = false;\nSql.prototype.appendKeyword = function(keyword, noPrefix, noSuffix) {\n if (noSuffixFlag) {\n noPrefix = true;\n noSuffixFlag = false;\n }\n if (noPrefix) {\n this.buffer += keyword.toUpperCase();\n } else {\n this.buffer += ' ' + keyword.toUpperCase();\n }\n\n if (noSuffix) {\n noSuffixFlag = true;\n }\n};\nSql.prototype.append = function(word, noPrefix, noSuffix) {\n if (noSuffixFlag) {\n noPrefix = true;\n noSuffixFlag = false;\n }\n if (noPrefix) {\n this.buffer += word;\n } else {\n this.buffer += ' ' + word;\n }\n\n if (noSuffix) {\n noSuffixFlag = true;\n }\n};\nSql.prototype.travelMain = function(ast) {\n this.travel(ast.value);\n if (ast.hasSemicolon) {\n this.append(';', true);\n }\n};\nSql.prototype.travelSelect = function(ast) {\n this.appendKeyword('select');\n if (ast.distinctOpt) {\n this.appendKeyword(ast.distinctOpt);\n }\n if (ast.highPriorityOpt) {\n this.appendKeyword(ast.highPriorityOpt);\n }\n if (ast.maxStateMentTimeOpt) {\n this.append('MAX_STATEMENT_TIME = ' + ast.maxStateMentTimeOpt);\n }\n if (ast.straightJoinOpt) {\n this.appendKeyword(ast.straightJoinOpt);\n }\n if (ast.sqlSmallResultOpt) {\n this.appendKeyword(ast.sqlSmallResultOpt);\n }\n if (ast.sqlBigResultOpt) {\n this.appendKeyword(ast.sqlBigResultOpt);\n }\n if (ast.sqlBufferResultOpt) {\n this.appendKeyword(ast.sqlBufferResultOpt);\n }\n if (ast.sqlCacheOpt) {\n this.appendKeyword(ast.sqlCacheOpt);\n }\n if (ast.sqlCalcFoundRowsOpt) {\n this.appendKeyword(ast.sqlCalcFoundRowsOpt);\n }\n if (ast.selectItems) {\n this.travelSelectExpr(ast.selectItems);\n }\n if (ast.from) {\n this.appendKeyword('from');\n this.travel(ast.from);\n }\n if (ast.partition) {\n this.travel(ast.partition);\n }\n if (ast.where) {\n this.appendKeyword('where');\n this.travel(ast.where);\n }\n if (ast.groupBy) {\n this.travel(ast.groupBy);\n }\n if (ast.having) {\n this.appendKeyword('having');\n this.travel(ast.having);\n }\n if (ast.orderBy) {\n this.travel(ast.orderBy);\n }\n if (ast.limit) {\n this.travel(ast.limit);\n }\n if (ast.procedure) {\n this.appendKeyword('procedure');\n this.travel(ast.procedure);\n }\n if (ast.updateLockMode) {\n this.appendKeyword(ast.updateLockMode);\n }\n};\nSql.prototype.travelSelectExpr = function(ast) {\n var exprList = ast.value;\n for (var i = 0; i < exprList.length; i++) {\n if (typeof ast === 'string') {\n this.append(exprList[i]);\n } else {\n this.travel(exprList[i]);\n if (exprList[i].alias) {\n if (exprList[i].hasAs) {\n this.appendKeyword('as');\n }\n this.travel(exprList[i].alias);\n }\n }\n if (i !== exprList.length - 1) {\n this.append(',', true);\n }\n }\n};\nSql.prototype.travelIsExpression = function(ast) {\n this.travel(ast.left);\n this.appendKeyword('in');\n if (ast.hasNot) {\n this.appendKeyword('not');\n }\n this.append(ast.right);\n};\nSql.prototype.travelNotExpression = function(ast) {\n this.appendKeyword('not');\n this.travel(ast.value);\n};\nSql.prototype.travelOrExpression = Sql.prototype.travelAndExpression = Sql.prototype.travelXORExpression = function(\n ast\n) {\n this.travel(ast.left);\n this.appendKeyword(ast.operator);\n this.travel(ast.right);\n};\nSql.prototype.travelNull = Sql.prototype.travelBoolean = Sql.prototype.travelBooleanExtra = function(\n ast\n) {\n this.appendKeyword(ast.value);\n};\nSql.prototype.travelNumber = function(ast) {\n this.append(ast.value);\n};\nSql.prototype.travelString = function(ast) {\n this.append(ast.value);\n};\nSql.prototype.travelFunctionCall = function(ast) {\n this.append(ast.name);\n this.append('(', true, true);\n var params = ast.params;\n for (var i = 0; i < params.length; i++) {\n var param = params[i];\n this.travel(param);\n if (i !== params.length - 1) {\n this.append(',', true);\n }\n }\n this.append(')', true);\n};\nSql.prototype.travelFunctionCallParam = function(ast) {\n if (ast.distinctOpt) {\n this.appendKeyword(ast.distinctOpt);\n }\n this.travel(ast.value);\n};\nSql.prototype.travelIdentifier = function(ast) {\n this.append(ast.value);\n};\nSql.prototype.travelIdentifierList = function(ast) {\n var list = ast.value;\n for (var i = 0; i < list.length; i++) {\n this.travel(list[i]);\n if (i !== list.length - 1) {\n this.append(',', true);\n }\n }\n};\nSql.prototype.travelWhenThenList = function(ast) {\n var list = ast.value;\n for (var i = 0; i < list.length; i++) {\n this.appendKeyword('when');\n this.travel(list[i].when);\n this.appendKeyword('then');\n this.travel(list[i].then);\n }\n};\nSql.prototype.travelCaseWhen = function(ast) {\n this.appendKeyword('case');\n if (ast.caseExprOpt) {\n this.travel(ast.caseExprOpt);\n }\n this.travel(ast.whenThenList);\n if (ast.else) {\n this.appendKeyword('else');\n this.travel(ast.else);\n }\n this.appendKeyword('end');\n};\nSql.prototype.travelPrefix = function(ast) {\n this.appendKeyword(ast.prefix);\n this.travel(ast.value);\n};\nSql.prototype.travelSimpleExprParentheses = function(ast) {\n if (ast.hasRow) {\n this.appendKeyword('row');\n }\n this.append('(', false, true);\n this.travel(ast.value);\n this.append(')', true);\n};\nSql.prototype.travelSubQuery = function(ast) {\n if (ast.hasExists) {\n this.appendKeyword('exists');\n }\n this.append('(', false, true);\n this.travel(ast.value);\n this.append(')', true);\n};\nSql.prototype.travelIdentifierExpr = function(ast) {\n this.append('{');\n this.travel(ast.identifier);\n this.travel(ast.value);\n this.append('}');\n};\nSql.prototype.travelBitExpression = function(ast) {\n this.travel(ast.left);\n this.appendKeyword(ast.operator);\n this.travel(ast.right);\n};\nSql.prototype.travelInSubQueryPredicate = function(ast) {\n this.travel(ast.left);\n if (ast.hasNot) {\n this.appendKeyword('not');\n }\n this.appendKeyword('in');\n this.append('(', false, true);\n this.travel(ast.right);\n this.append(')');\n};\nSql.prototype.travelInExpressionListPredicate = function(ast) {\n this.travel(ast.left);\n if (ast.hasNot) {\n this.appendKeyword('not');\n }\n this.appendKeyword('in');\n this.append('(', false, true);\n this.travel(ast.right);\n this.append(')');\n};\nSql.prototype.travelBetweenPredicate = function(ast) {\n this.travel(ast.left);\n if (ast.hasNot) {\n this.appendKeyword('not');\n }\n this.appendKeyword('between');\n this.travel(ast.right.left);\n this.appendKeyword('and');\n this.travel(ast.right.right);\n};\nSql.prototype.travelSoundsLikePredicate = function(ast) {\n this.travel(ast.left);\n this.appendKeyword('sounds');\n this.appendKeyword('like');\n this.travel(ast.right);\n};\nSql.prototype.travelLikePredicate = function(ast) {\n this.travel(ast.left);\n if (ast.hasNot) {\n this.appendKeyword('not');\n }\n this.appendKeyword('like');\n this.travel(ast.right);\n if (ast.escape) {\n this.appendKeyword('escape');\n this.travel(ast.escape);\n }\n};\nSql.prototype.travelRegexpPredicate = function(ast) {\n this.travel(ast.left);\n if (ast.hasNot) {\n this.appendKeyword('not');\n }\n this.appendKeyword('regexp');\n this.travel(ast.right);\n};\nSql.prototype.travelIsNullBooleanPrimary = function(ast) {\n this.travel(ast.value);\n this.appendKeyword('is');\n if (ast.hasNot) {\n this.appendKeyword('not');\n }\n this.appendKeyword('null');\n};\nSql.prototype.travelComparisonBooleanPrimary = function(ast) {\n this.travel(ast.left);\n this.append(ast.operator);\n this.travel(ast.right);\n};\nSql.prototype.travelComparisonSubQueryBooleanPrimary = function(ast) {\n this.travel(ast.left);\n this.append(ast.operator);\n this.appendKeyword(ast.subQueryOpt);\n this.append('(', false, true);\n this.travel(ast.right);\n this.append(')');\n};\nSql.prototype.travelExpressionList = function(ast) {\n var list = ast.value;\n for (var i = 0; i < list.length; i++) {\n this.travel(list[i]);\n if (i !== list.length - 1) {\n this.append(',', true);\n }\n }\n};\nSql.prototype.travelGroupBy = function(ast) {\n this.appendKeyword('group by');\n var list = ast.value;\n for (var i = 0; i < list.length; i++) {\n this.travel(list[i]);\n if (i !== list.length - 1) {\n this.append(',', true);\n }\n }\n};\nSql.prototype.travelOrderBy = function(ast) {\n this.appendKeyword('order by');\n var list = ast.value;\n for (var i = 0; i < list.length; i++) {\n this.travel(list[i]);\n if (i !== list.length - 1) {\n this.append(',', true);\n }\n }\n if (ast.rollUp) {\n this.appendKeyword('with rollup');\n }\n};\nSql.prototype.travelGroupByOrderByItem = function(ast) {\n this.travel(ast.value);\n if (ast.sortOpt) {\n this.appendKeyword(ast.sortOpt);\n }\n};\nSql.prototype.travelLimit = function(ast) {\n this.appendKeyword('limit');\n var list = ast.value;\n if (list.length === 1) {\n this.append(list[0]);\n } else if (list.length === 2) {\n if (ast.offsetMode) {\n this.append(list[1]);\n this.append('offset');\n this.append(list[0]);\n } else {\n this.append(list[0]);\n this.append(',', true);\n this.append(list[1]);\n }\n }\n};\nSql.prototype.travelTableReferences = function(ast) {\n var list = ast.value;\n if (ast.TableReferences) {\n this.append('(', false, true);\n }\n for (var i = 0; i < list.length; i++) {\n this.travel(list[i]);\n if (i !== list.length - 1) {\n this.append(',', true);\n }\n }\n if (ast.TableReferences) {\n this.append(')');\n }\n};\nSql.prototype.travelTableReference = function(ast) {\n if (ast.hasOj) {\n this.append('{');\n this.appendKeyword('oj');\n this.travel(ast.value);\n this.append('}');\n } else {\n this.travel(ast.value);\n }\n};\nSql.prototype.travelInnerCrossJoinTable = function(ast) {\n this.travel(ast.left);\n if (ast.innerCrossOpt) {\n this.appendKeyword(ast.innerCrossOpt);\n }\n this.appendKeyword('join');\n this.travel(ast.right);\n if (ast.condition) {\n this.travel(ast.condition);\n }\n};\nSql.prototype.travelStraightJoinTable = function(ast) {\n this.travel(ast.left);\n this.appendKeyword('straight_join');\n this.travel(ast.right);\n this.travel(ast.condition);\n};\nSql.prototype.travelLeftRightJoinTable = function(ast) {\n this.travel(ast.left);\n this.appendKeyword(ast.leftRight);\n if (ast.outOpt) {\n this.appendKeyword(ast.outOpt);\n }\n this.appendKeyword('join');\n this.travel(ast.right);\n this.travel(ast.condition);\n};\nSql.prototype.travelNaturalJoinTable = function(ast) {\n this.travel(ast.left);\n this.appendKeyword('natural');\n if (ast.leftRight) {\n this.appendKeyword(ast.leftRight);\n }\n if (ast.outOpt) {\n this.appendKeyword(ast.outOpt);\n }\n this.appendKeyword('join');\n this.travel(ast.right);\n};\nSql.prototype.travelOnJoinCondition = function(ast) {\n this.appendKeyword('on');\n this.travel(ast.value);\n};\nSql.prototype.travelUsingJoinCondition = function(ast) {\n this.appendKeyword('using');\n this.appendKeyword('(', false, true);\n this.travel(ast.value);\n this.appendKeyword(')');\n};\nSql.prototype.travelPartitions = function(ast) {\n this.appendKeyword('partition');\n this.appendKeyword('(', false, true);\n var list = ast.value;\n for (var i = 0; i < list.length; i++) {\n this.travel(list[i]);\n if (i !== list.length - 1) {\n this.append(',', true);\n }\n }\n this.appendKeyword(')');\n};\nSql.prototype.travelForOptIndexHint = function(ast) {\n this.appendKeyword('for');\n this.appendKeyword(ast.value);\n};\nSql.prototype.travelIndexList = function(ast) {\n var list = ast.value;\n for (var i = 0; i < list.length; i++) {\n this.travel(list[i]);\n if (i !== list.length - 1) {\n this.append(',', true);\n }\n }\n};\nSql.prototype.travelUseIndexHint = function(ast) {\n this.appendKeyword('use');\n this.appendKeyword(ast.indexOrKey);\n if (ast.forOpt) {\n this.travel(ast.forOpt);\n }\n this.appendKeyword('(', false, true);\n if (ast.value) {\n this.travel(ast.value);\n }\n this.appendKeyword(')');\n};\nSql.prototype.travelIgnoreIndexHint = function(ast) {\n this.appendKeyword('ignore');\n this.appendKeyword(ast.indexOrKey);\n if (ast.forOpt) {\n this.travel(ast.forOpt);\n }\n this.appendKeyword('(', false, true);\n if (ast.value) {\n this.travel(ast.value);\n }\n this.appendKeyword(')');\n};\nSql.prototype.travelForceIndexHint = function(ast) {\n this.appendKeyword('force');\n this.appendKeyword(ast.indexOrKey);\n if (ast.forOpt) {\n this.travel(ast.forOpt);\n }\n this.appendKeyword('(', false, true);\n if (ast.value) {\n this.travel(ast.value);\n }\n this.appendKeyword(')');\n};\nSql.prototype.travelTableFactor = function(ast) {\n this.travel(ast.value);\n if (ast.partition) {\n this.travel(ast.partition);\n }\n if (ast.alias) {\n if (ast.hasAs) {\n this.appendKeyword('as');\n }\n this.travel(ast.alias);\n }\n if (ast.indexHintOpt) {\n this.travel(ast.indexHintOpt);\n }\n};\nSql.prototype.travelUnion = function(ast) {\n this.travel(ast.left);\n this.appendKeyword('UNION');\n if (ast.distinctOpt) {\n this.appendKeyword(ast.distinctOpt);\n }\n this.travel(ast.right);\n};\nSql.prototype.travelSelectParenthesized = function(ast) {\n this.appendKeyword('(');\n this.travel(ast.value);\n this.appendKeyword(')');\n};\nvar root = this\n// AMD / RequireJS\nif (typeof define !== 'undefined' && define.amd) {\n define([], function () {\n return sqlParser;\n });\n}\n// Node.js\nelse if (typeof module !== 'undefined' && module.exports) {\n module.exports = sqlParser;\n}\n// included directly via