@grafana/aws-sdk 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/README.md +10 -3
  2. package/dist/esm/src/{ConnectionConfig.js → components/ConnectionConfig.js} +20 -8
  3. package/dist/esm/src/components/ConnectionConfig.js.map +1 -0
  4. package/dist/esm/src/components/Divider.js +15 -0
  5. package/dist/esm/src/components/Divider.js.map +1 -0
  6. package/dist/esm/src/components/NewConnectionConfig.js +203 -0
  7. package/dist/esm/src/components/NewConnectionConfig.js.map +1 -0
  8. package/dist/esm/src/components/SIGV4ConnectionConfig.js.map +1 -0
  9. package/dist/esm/src/index.js +9 -4
  10. package/dist/esm/src/index.js.map +1 -1
  11. package/dist/esm/src/sql/ConfigEditor/ConfigSelect.js +3 -1
  12. package/dist/esm/src/sql/ConfigEditor/ConfigSelect.js.map +1 -1
  13. package/dist/esm/src/sql/ConfigEditor/InlineInput.js +1 -1
  14. package/dist/esm/src/sql/ConfigEditor/InlineInput.js.map +1 -1
  15. package/dist/esm/src/sql/QueryEditor/FillValueSelect.js +42 -6
  16. package/dist/esm/src/sql/QueryEditor/FillValueSelect.js.map +1 -1
  17. package/dist/esm/src/sql/QueryEditor/FormatSelect.js +16 -5
  18. package/dist/esm/src/sql/QueryEditor/FormatSelect.js.map +1 -1
  19. package/dist/esm/src/sql/ResourceSelector.js +26 -3
  20. package/dist/esm/src/sql/ResourceSelector.js.map +1 -1
  21. package/dist/index.d.ts +15 -5
  22. package/dist/index.js +303 -16
  23. package/dist/index.js.map +1 -1
  24. package/package.json +17 -8
  25. package/dist/esm/src/ConnectionConfig.js.map +0 -1
  26. package/dist/esm/src/SIGV4ConnectionConfig.js.map +0 -1
  27. /package/dist/esm/src/{SIGV4ConnectionConfig.js → components/SIGV4ConnectionConfig.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grafana/aws-sdk",
3
- "version": "0.2.0",
3
+ "version": "0.3.1",
4
4
  "description": "Common AWS features for grafana",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -13,11 +13,12 @@
13
13
  "build": "yarn clean && yarn typecheck && yarn bundle",
14
14
  "bundle": "rollup -c rollup.config.ts",
15
15
  "clean": "rimraf ./dist ./compiled",
16
- "lint": "eslint --cache --ignore-path ./.gitignore --ext .js,.jsx,.ts,.tsx ./src",
16
+ "lint": "eslint --cache --ignore-path ./.gitignore --ext .js,.jsx,.ts,.tsx ./src && spellcheck",
17
+ "spellcheck": "cspell -c cspell.config.json \"**/*.{ts,tsx,js,go,md,mdx,yml,yaml,json,scss,css}\"",
17
18
  "typecheck": "tsc -p ./tsconfig.build.json",
18
19
  "test": "jest --notify --watch",
19
20
  "test:coverage": "jest --coverage",
20
- "test-ci": "grafana-toolkit plugin:test"
21
+ "test:ci": "jest"
21
22
  },
22
23
  "files": [
23
24
  "dist"
@@ -27,14 +28,16 @@
27
28
  "license": "Apache-2.0",
28
29
  "dependencies": {
29
30
  "@grafana/async-query-data": "0.1.4",
30
- "@grafana/experimental": "1.1.0"
31
+ "@grafana/experimental": "1.7.0"
31
32
  },
32
33
  "devDependencies": {
33
- "@grafana/data": "9.3.2",
34
- "@grafana/runtime": "9.3.2",
35
- "@grafana/toolkit": "9.3.2",
36
- "@grafana/ui": "9.3.2",
34
+ "@grafana/data": "9.4.14",
35
+ "@grafana/eslint-config": "^6.0.1",
36
+ "@grafana/runtime": "9.4.14",
37
+ "@grafana/ui": "9.4.14",
37
38
  "@rollup/plugin-node-resolve": "^15.0.1",
39
+ "@swc/core": "^1.3.93",
40
+ "@swc/jest": "^0.2.29",
38
41
  "@testing-library/jest-dom": "5.16.5",
39
42
  "@testing-library/react": "12.1.5",
40
43
  "@testing-library/react-hooks": "8.0.1",
@@ -43,7 +46,13 @@
43
46
  "@types/node": "16.18.6",
44
47
  "@types/react": "17.0.42",
45
48
  "@types/react-dom": "17.0.14",
49
+ "@typescript-eslint/eslint-plugin": "^5.48.0",
50
+ "cspell": "6.13.3",
46
51
  "esbuild": "^0.16.2",
52
+ "eslint": "^8.49.0",
53
+ "eslint-plugin-jsdoc": "^46.7.0",
54
+ "eslint-plugin-react": "^7.31.11",
55
+ "eslint-plugin-react-hooks": "^4.6.0",
47
56
  "jest": "27.5.1",
48
57
  "node-notifier": "^10.0.1",
49
58
  "react": "17.0.2",
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConnectionConfig.js","sources":["../../../src/ConnectionConfig.tsx"],"sourcesContent":["import React, { FC, useEffect, useMemo, useState } from 'react';\nimport { Input, Select, InlineField, ButtonGroup, ToolbarButton, FieldSet, Collapse, useStyles2 } from '@grafana/ui';\nimport {\n DataSourcePluginOptionsEditorProps,\n onUpdateDatasourceJsonDataOptionSelect,\n onUpdateDatasourceResetOption,\n onUpdateDatasourceJsonDataOption,\n onUpdateDatasourceSecureJsonDataOption,\n} from '@grafana/data';\nimport { config } from '@grafana/runtime';\nimport { standardRegions } from './regions';\nimport { AwsAuthDataSourceJsonData, AwsAuthDataSourceSecureJsonData, AwsAuthType } from './types';\nimport { awsAuthProviderOptions } from './providers';\nimport { css } from '@emotion/css';\n\nexport const DEFAULT_LABEL_WIDTH = 28;\nconst DS_TYPES_THAT_SUPPORT_TEMP_CREDS = ['cloudwatch', 'grafana-athena-datasource'];\nconst toOption = (value: string) => ({ value, label: value });\nconst isAwsAuthType = (value: any): value is AwsAuthType => {\n return typeof value === 'string' && awsAuthProviderOptions.some((opt) => opt.value === value);\n};\nexport interface ConnectionConfigProps<\n J extends AwsAuthDataSourceJsonData = AwsAuthDataSourceJsonData,\n S = AwsAuthDataSourceSecureJsonData\n> extends DataSourcePluginOptionsEditorProps<J, S> {\n standardRegions?: string[];\n loadRegions?: () => Promise<string[]>;\n defaultEndpoint?: string;\n skipHeader?: boolean;\n skipEndpoint?: boolean;\n children?: React.ReactNode;\n labelWidth?: number;\n inExperimentalAuthComponent?: boolean;\n externalId?: string;\n}\n\nexport const ConnectionConfig: FC<ConnectionConfigProps> = (props: ConnectionConfigProps) => {\n const [isARNInstructionsOpen, setIsARNInstructionsOpen] = useState(false);\n const [regions, setRegions] = useState((props.standardRegions || standardRegions).map(toOption));\n const { loadRegions, onOptionsChange, skipHeader = false, skipEndpoint = false } = props;\n const { labelWidth = DEFAULT_LABEL_WIDTH, options, inExperimentalAuthComponent } = props;\n let profile = options.jsonData.profile;\n if (profile === undefined) {\n profile = options.database;\n }\n const tempCredsFeatureEnabled =\n config.featureToggles.awsDatasourcesTempCredentials && DS_TYPES_THAT_SUPPORT_TEMP_CREDS.includes(options.type);\n const awsAssumeRoleEnabled = config.awsAssumeRoleEnabled ?? true;\n const awsAllowedAuthProviders = useMemo(\n () =>\n config.awsAllowedAuthProviders\n .filter((provider) => (provider === AwsAuthType.GrafanaAssumeRole ? tempCredsFeatureEnabled : true))\n .filter(isAwsAuthType),\n [tempCredsFeatureEnabled]\n );\n\n const currentProvider = awsAuthProviderOptions.find((p) => p.value === options.jsonData.authType);\n useEffect(() => {\n // Make sure a authType exists in the current model\n if (!currentProvider && awsAllowedAuthProviders.length) {\n onOptionsChange({\n ...options,\n jsonData: {\n ...options.jsonData,\n authType: awsAllowedAuthProviders[0],\n },\n });\n }\n }, [currentProvider, options, onOptionsChange, awsAllowedAuthProviders]);\n\n useEffect(() => {\n if (!loadRegions) {\n return;\n }\n\n loadRegions().then((regions) => setRegions(regions.map(toOption)));\n }, [loadRegions]);\n\n const inputWidth = inExperimentalAuthComponent ? 'width-20' : 'width-30';\n const styles = useStyles2(getStyles);\n\n return (\n <FieldSet label={skipHeader ? '' : 'Connection Details'} data-testid=\"connection-config\">\n <InlineField\n label=\"Authentication Provider\"\n labelWidth={labelWidth}\n tooltip=\"Specify which AWS credentials chain to use.\"\n >\n <Select\n aria-label=\"Authentication Provider\"\n className={inputWidth}\n value={currentProvider}\n options={awsAuthProviderOptions.filter((opt) => awsAllowedAuthProviders.includes(opt.value!))}\n defaultValue={options.jsonData.authType}\n onChange={(option) => {\n onUpdateDatasourceJsonDataOptionSelect(props, 'authType')(option);\n }}\n menuShouldPortal={true}\n />\n </InlineField>\n {options.jsonData.authType === 'credentials' && (\n <InlineField\n label=\"Credentials Profile Name\"\n labelWidth={labelWidth}\n tooltip=\"Credentials profile name, as specified in ~/.aws/credentials, leave blank for default.\"\n >\n <Input\n aria-label=\"Credentials Profile Name\"\n className={inputWidth}\n placeholder=\"default\"\n value={profile}\n onChange={onUpdateDatasourceJsonDataOption(props, 'profile')}\n />\n </InlineField>\n )}\n\n {options.jsonData.authType === 'keys' && (\n <>\n <InlineField label=\"Access Key ID\" labelWidth={labelWidth}>\n {props.options.secureJsonFields?.accessKey ? (\n <ButtonGroup className={inputWidth}>\n <Input disabled placeholder=\"Configured\" />\n <ToolbarButton\n icon=\"edit\"\n tooltip=\"Edit Access Key ID\"\n type=\"button\"\n onClick={onUpdateDatasourceResetOption(props as any, 'accessKey')}\n />\n </ButtonGroup>\n ) : (\n <Input\n aria-label=\"Access Key ID\"\n className={inputWidth}\n value={options.secureJsonData?.accessKey ?? ''}\n onChange={onUpdateDatasourceSecureJsonDataOption(props, 'accessKey')}\n />\n )}\n </InlineField>\n\n <InlineField label=\"Secret Access Key\" labelWidth={labelWidth}>\n {props.options.secureJsonFields?.secretKey ? (\n <ButtonGroup className={inputWidth}>\n <Input disabled placeholder=\"Configured\" />\n <ToolbarButton\n icon=\"edit\"\n type=\"button\"\n tooltip=\"Edit Secret Access Key\"\n onClick={onUpdateDatasourceResetOption(props as any, 'secretKey')}\n />\n </ButtonGroup>\n ) : (\n <Input\n aria-label=\"Secret Access Key\"\n className={inputWidth}\n value={options.secureJsonData?.secretKey ?? ''}\n onChange={onUpdateDatasourceSecureJsonDataOption(props, 'secretKey')}\n />\n )}\n </InlineField>\n </>\n )}\n\n {options.jsonData.authType === AwsAuthType.GrafanaAssumeRole && (\n <div className={styles.assumeRoleInstructions}>\n <Collapse\n label={'How to create an IAM role for grafana to assume:'}\n collapsible={true}\n isOpen={isARNInstructionsOpen}\n onToggle={() => setIsARNInstructionsOpen(!isARNInstructionsOpen)}\n >\n <ol>\n <li>\n <p>\n 1. Create a new IAM role in the AWS console, and select <code>Another AWS account</code> as the{' '}\n <code>Trusted entity</code>.\n </p>\n </li>\n <li>\n <p>\n 2. Enter the account ID of the Grafana account that has permission to assume this role:\n <code> 008923505280 </code> and check the <code>Require external ID</code> box.\n </p>\n </li>\n <li>\n <p>\n 3. Enter the following external ID:{' '}\n <code>{props.externalId || 'External Id is currently unavailable'}</code> and click <code>Next</code>.\n </p>\n </li>\n <li>\n <p>\n 4. Add any required permissions you would like Grafana to be able to access on your behalf. For more\n details on our permissions please{' '}\n <a\n href=\"https://grafana.com/docs/grafana/latest/datasources/aws-cloudwatch/\"\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n read through our documentation\n </a>\n .\n </p>\n </li>\n <li>\n <p>\n 5. Give the role a name and description, and click <code>Create role</code>.\n </p>\n </li>\n <li>\n <p>\n 6. Copy the ARN of the role you just created and paste it into the <code>Assume Role ARN</code> field\n below.\n </p>\n </li>\n </ol>\n </Collapse>\n </div>\n )}\n\n {awsAssumeRoleEnabled && (\n <>\n <InlineField\n label=\"Assume Role ARN\"\n labelWidth={labelWidth}\n tooltip=\"Optionally, specify the ARN of a role to assume. Specifying a role here will ensure that the selected authentication provider is used to assume the specified role rather than using the credentials directly. Leave blank if you don't need to assume a role at all\"\n >\n <Input\n aria-label=\"Assume Role ARN\"\n className={inputWidth}\n placeholder=\"arn:aws:iam:*\"\n value={options.jsonData.assumeRoleArn || ''}\n onChange={onUpdateDatasourceJsonDataOption(props, 'assumeRoleArn')}\n />\n </InlineField>\n {options.jsonData.authType !== AwsAuthType.GrafanaAssumeRole && (\n <InlineField\n label=\"External ID\"\n labelWidth={labelWidth}\n tooltip=\"If you are assuming a role in another account, that has been created with an external ID, specify the external ID here.\"\n >\n <Input\n aria-label=\"External ID\"\n className={inputWidth}\n placeholder=\"External ID\"\n value={options.jsonData.externalId || ''}\n onChange={onUpdateDatasourceJsonDataOption(props, 'externalId')}\n />\n </InlineField>\n )}\n </>\n )}\n {!skipEndpoint && options.jsonData.authType !== AwsAuthType.GrafanaAssumeRole && (\n <InlineField\n label=\"Endpoint\"\n labelWidth={labelWidth}\n tooltip=\"Optionally, specify a custom endpoint for the service\"\n >\n <Input\n aria-label=\"Endpoint\"\n className={inputWidth}\n placeholder={props.defaultEndpoint ?? 'https://{service}.{region}.amazonaws.com'}\n value={options.jsonData.endpoint || ''}\n onChange={onUpdateDatasourceJsonDataOption(props, 'endpoint')}\n />\n </InlineField>\n )}\n <InlineField\n label=\"Default Region\"\n labelWidth={labelWidth}\n tooltip=\"Specify the region, such as for US West (Oregon) use ` us-west-2 ` as the region.\"\n >\n <Select\n aria-label=\"Default Region\"\n className={inputWidth}\n value={regions.find((region) => region.value === options.jsonData.defaultRegion)}\n options={regions}\n defaultValue={options.jsonData.defaultRegion}\n allowCustomValue={true}\n onChange={onUpdateDatasourceJsonDataOptionSelect(props, 'defaultRegion')}\n formatCreateLabel={(r) => `Use region: ${r}`}\n menuShouldPortal={true}\n />\n </InlineField>\n {props.children}\n </FieldSet>\n );\n};\n\nfunction getStyles() {\n return {\n assumeRoleInstructions: css({\n maxWidth: '715px',\n }),\n };\n}\n"],"names":["regions"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SIGV4ConnectionConfig.js","sources":["../../../src/SIGV4ConnectionConfig.tsx"],"sourcesContent":["import React from 'react';\nimport { DataSourcePluginOptionsEditorProps, DataSourceSettings } from '@grafana/data';\nimport { ConnectionConfig, ConnectionConfigProps } from './ConnectionConfig';\n\nimport { AwsAuthDataSourceSecureJsonData, AwsAuthDataSourceJsonData } from './types';\n\nexport interface SIGV4ConnectionConfigProps extends DataSourcePluginOptionsEditorProps<any, any> {\n inExperimentalAuthComponent?: boolean;\n};\n\nexport const SIGV4ConnectionConfig: React.FC<SIGV4ConnectionConfigProps> = (\n props: SIGV4ConnectionConfigProps\n) => {\n const { onOptionsChange, options } = props;\n\n // Map HttpSettings props to ConnectionConfigProps\n const connectionConfigProps: ConnectionConfigProps<AwsAuthDataSourceJsonData, AwsAuthDataSourceSecureJsonData> = {\n onOptionsChange: (awsDataSourceSettings) => {\n const dataSourceSettings: DataSourceSettings<any, any> = {\n ...options,\n jsonData: {\n ...options.jsonData,\n sigV4AuthType: awsDataSourceSettings.jsonData.authType,\n sigV4Profile: awsDataSourceSettings.jsonData.profile,\n sigV4AssumeRoleArn: awsDataSourceSettings.jsonData.assumeRoleArn,\n sigV4ExternalId: awsDataSourceSettings.jsonData.externalId,\n sigV4Region: awsDataSourceSettings.jsonData.defaultRegion,\n sigV4Endpoint: awsDataSourceSettings.jsonData.endpoint,\n },\n secureJsonFields: {\n sigV4AccessKey: awsDataSourceSettings.secureJsonFields?.accessKey,\n sigV4SecretKey: awsDataSourceSettings.secureJsonFields?.secretKey,\n },\n secureJsonData: {\n sigV4AccessKey: awsDataSourceSettings.secureJsonData?.accessKey,\n sigV4SecretKey: awsDataSourceSettings.secureJsonData?.secretKey,\n },\n };\n onOptionsChange(dataSourceSettings);\n },\n options: {\n ...options,\n jsonData: {\n ...options.jsonData,\n authType: options.jsonData.sigV4AuthType,\n profile: options.jsonData.sigV4Profile,\n assumeRoleArn: options.jsonData.sigV4AssumeRoleArn,\n externalId: options.jsonData.sigV4ExternalId,\n defaultRegion: options.jsonData.sigV4Region,\n endpoint: options.jsonData.sigV4Endpoint,\n },\n secureJsonFields: {\n accessKey: options.secureJsonFields?.sigV4AccessKey,\n secretKey: options.secureJsonFields?.sigV4SecretKey,\n },\n secureJsonData: {\n accessKey: options.secureJsonData?.sigV4AccessKey,\n secretKey: options.secureJsonData?.sigV4SecretKey,\n },\n },\n inExperimentalAuthComponent: props.inExperimentalAuthComponent,\n };\n\n return (\n <>\n <div className=\"gf-form\">\n <h6>SigV4 Auth Details</h6>\n </div>\n <ConnectionConfig {...connectionConfigProps} skipHeader skipEndpoint></ConnectionConfig>\n </>\n );\n};\n"],"names":["_a","_b","_c","_d"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAUa,MAAA,qBAAA,GAA8D,CACzE,KACG,KAAA;AAZL,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAaE,EAAM,MAAA,EAAE,eAAiB,EAAA,OAAA,EAAY,GAAA,KAAA,CAAA;AAGrC,EAAA,MAAM,qBAA2G,GAAA;AAAA,IAC/G,eAAA,EAAiB,CAAC,qBAA0B,KAAA;AAjBhD,MAAAA,IAAAA,GAAAA,EAAAC,KAAAC,GAAAC,EAAAA,GAAAA,CAAAA;AAkBM,MAAM,MAAA,kBAAA,GAAmD,iCACpD,OADoD,CAAA,EAAA;AAAA,QAEvD,QAAA,EAAU,aACL,CAAA,cAAA,CAAA,EAAA,EAAA,OAAA,CAAQ,QADH,CAAA,EAAA;AAAA,UAER,aAAA,EAAe,sBAAsB,QAAS,CAAA,QAAA;AAAA,UAC9C,YAAA,EAAc,sBAAsB,QAAS,CAAA,OAAA;AAAA,UAC7C,kBAAA,EAAoB,sBAAsB,QAAS,CAAA,aAAA;AAAA,UACnD,eAAA,EAAiB,sBAAsB,QAAS,CAAA,UAAA;AAAA,UAChD,WAAA,EAAa,sBAAsB,QAAS,CAAA,aAAA;AAAA,UAC5C,aAAA,EAAe,sBAAsB,QAAS,CAAA,QAAA;AAAA,SAChD,CAAA;AAAA,QACA,gBAAkB,EAAA;AAAA,UAChB,cAAgBH,EAAAA,CAAAA,GAAAA,GAAA,qBAAsB,CAAA,gBAAA,KAAtB,gBAAAA,GAAwC,CAAA,SAAA;AAAA,UACxD,cAAgBC,EAAAA,CAAAA,GAAAA,GAAA,qBAAsB,CAAA,gBAAA,KAAtB,gBAAAA,GAAwC,CAAA,SAAA;AAAA,SAC1D;AAAA,QACA,cAAgB,EAAA;AAAA,UACd,cAAgBC,EAAAA,CAAAA,GAAAA,GAAA,qBAAsB,CAAA,cAAA,KAAtB,gBAAAA,GAAsC,CAAA,SAAA;AAAA,UACtD,cAAgBC,EAAAA,CAAAA,GAAAA,GAAA,qBAAsB,CAAA,cAAA,KAAtB,gBAAAA,GAAsC,CAAA,SAAA;AAAA,SACxD;AAAA,OACF,CAAA,CAAA;AACA,MAAA,eAAA,CAAgB,kBAAkB,CAAA,CAAA;AAAA,KACpC;AAAA,IACA,OAAA,EAAS,iCACJ,OADI,CAAA,EAAA;AAAA,MAEP,QAAA,EAAU,aACL,CAAA,cAAA,CAAA,EAAA,EAAA,OAAA,CAAQ,QADH,CAAA,EAAA;AAAA,QAER,QAAA,EAAU,QAAQ,QAAS,CAAA,aAAA;AAAA,QAC3B,OAAA,EAAS,QAAQ,QAAS,CAAA,YAAA;AAAA,QAC1B,aAAA,EAAe,QAAQ,QAAS,CAAA,kBAAA;AAAA,QAChC,UAAA,EAAY,QAAQ,QAAS,CAAA,eAAA;AAAA,QAC7B,aAAA,EAAe,QAAQ,QAAS,CAAA,WAAA;AAAA,QAChC,QAAA,EAAU,QAAQ,QAAS,CAAA,aAAA;AAAA,OAC7B,CAAA;AAAA,MACA,gBAAkB,EAAA;AAAA,QAChB,SAAA,EAAA,CAAW,EAAQ,GAAA,OAAA,CAAA,gBAAA,KAAR,IAA0B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,cAAA;AAAA,QACrC,SAAA,EAAA,CAAW,EAAQ,GAAA,OAAA,CAAA,gBAAA,KAAR,IAA0B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,cAAA;AAAA,OACvC;AAAA,MACA,cAAgB,EAAA;AAAA,QACd,SAAA,EAAA,CAAW,EAAQ,GAAA,OAAA,CAAA,cAAA,KAAR,IAAwB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,cAAA;AAAA,QACnC,SAAA,EAAA,CAAW,EAAQ,GAAA,OAAA,CAAA,cAAA,KAAR,IAAwB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,cAAA;AAAA,OACrC;AAAA,KACF,CAAA;AAAA,IACA,6BAA6B,KAAM,CAAA,2BAAA;AAAA,GACrC,CAAA;AAEA,EAAA,iFAEK,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,WAAU,SACb,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,YAAG,oBAAkB,CACxB,CACA,kBAAA,KAAA,CAAA,aAAA,CAAC,mDAAqB,qBAArB,CAAA,EAAA,EAA4C,YAAU,IAAC,EAAA,YAAA,EAAY,OAAC,CACvE,CAAA,CAAA;AAEJ;;;;"}